Project Status:
Build | ||
---|---|---|
Commits |
This is a small project that aims to gather some knowledge about game development and make it available to everyone.
As well as being a source of knowledge this project aims to be a learning experience for everyone involved too, by gathering contributions from the community, teaching others how to make a game, teaching algorithms but also learning tips and tricks from people who are more experienced.
Hi! Penaz here.
After over 300 pages of content, I am reaching the point where I poured the majority of my knowledge inside this e-book, and simplifying and explaining takes away a lot of time. With the little time I have, research can only get me so far.
I'd love to translate the currently available listings many other languages, such as lua, as well as add new algorithms, containers, tips and tricks and design patterns. Though my work leaves me very little free time to study and re-work things in a more understandable way.
If you are a programmer, game designer, game developer, artist, writer or "game dev aficionado" that wants to contribute to a completely free and open resource for new game developers that want to start seriously; feel free to fork the repository and pour your knowledge in this magic soup that is this book!
I'm more than happy to take a look at pull requests, it would be a honor.
Also remember to put yourself in the CONTRIBUTORS section, just below!
If instead there is something unclear about the book, or something you would like to see added, drop by the ISSUES section and leave a ticket there, I will try to fix it, or at least add a placeholder for the future.
Thank you for reading.
Are you a game developer? A computer science student? Maybe you are an artist that wants to contribute by giving insight into pixel art or music creation?
Welcome aboard! You can contribute to this project by forking it and adding your own knowledge to it, after that you can create a pull request. Please check the Contributing document.
Are you an user that would like to see something added to the book? Feel free to open an issue!
All contributions will be handled with maximum respect and in accordance to our Code of Conduct.
This repository is configured to automatically build a PDF file at each push on the master
branch, both on GitLab (Via its own integrated CI/CD System) and GitHub (via Travis-CI).
This Ebook now has an official Itch.io page, you can surf there to get the latest release of each edition: the downloads are more stable and not influenced by Travis-CI's tantrums. Just scroll towards the bottom of the page and choose your preferred edition!
You can get a copy of the book by clicking on the "Download" button (usually on the right of the "Find File" button), then click on "build_pdf" under "Previous Artifacts": an "artifacts.zip" will be downloaded, containing the latest version of the book.
You can get a copy of the book by clicking on the "Releases" button (usually between the "branches" and "contributors" buttons) and then select the latest tagged release.
To build the book you need the following software:
- Pandoc
- TexLive or equivalent
- GNU Make or equivalent
Before building the book, you might want to decide your favourite programming language, and use the corresponding command:
- Non-Highlighted Pseudocode:
make pseudocode
- Pseudocode with basic Syntax Highlighting:
make pseudocode_color
- Python 3:
make python
- C++:
make cpp
The master
branch is usually pretty much final (its contents will be expanded but probably not modified), while the develop
branch is more up-to-date but its content is subject to change.
This project is meant to be a free source of knowledge for who wants to develop their first game (but also be a reference book you can come back to), currently this project is under the Creative Commons Attribution-NonCommercial License.
Because I want all contributions to be accessible by everyone for free but at the same time for the contributors to be given recognition, simple as that.
The chosen license is not a "Free Culture" license, but I want to protect the "free as in price" policy of this project, as well as the "free as in freedom" one. I feel this license is the best compromise.