Project Status:
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.
This project is looking for contributors: see below
As of March 21st, 2021 the ready-to-read versions of this book will be available only through Itch.io
I decided to use only Itch as it's more stable and not influenced by any kind of CI/CD issue or tantrum. I have to make the files and upload them there anyway, so I may as well use that page as my main point of download for the project.
Versions currently available: PDF and EPub
The source code for this ebook is available through the following official repositories:
You can learn how to build the book yourself in the specific section of this readme
Hi! Penaz here.
After over 400 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.
To build the book you need the following software:
- Pandoc 2.13 or higher (except 2.14 and 2.14.0.1 due to MediaBag regressions)
- TexLive or equivalent
- GNU Make or equivalent
- GladTex (v3 or superior) - For EPub Output
- Librsvg (For
rsvg-convert
) - For PDF Output
Before building the book, you might want to decide your favourite programming language, and use the corresponding command:
PDF Version:
- Pseudocode with basic Syntax Highlighting:
make pseudocode
- Python 3:
make python
- C++:
make cpp
- JavaScript:
make js
EPub Version:
- Pseudocode with basic Syntax Highlighting:
make epub_pseudocode
- Python 3:
make epub_python
- C++:
make epub_cpp
- JavaScript:
make epub_js
The old "Pseudocode without syntax highlighting" has been discontinued
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-ShareAlike 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.