2D Game Development:

A book on Game Development that grasps the power of the community

  • Languages: Markdown, LaTeX, Makefile.
  • Status: Actively Maintained.
  • Framework: None
  • Primary Focus: Learning.

This project is meant to be a collection of resources, patterns, containers, suggestions, tips and tricks on 2D game development.

Everything is presented in a platform-agnostic way first, and with code examples after, without major assumptions in place.

The book's objective is teaching basic game development from the ground up, without teaching "a framework" but instead showing what's behind a seemingly simple game.

The journey will accompany the reader through the basics of computer science, reading and understanding UML diagrams, learning about design patterns and tricks to simplify the game's structure.

What I think is the most important aspect of this book, that I would love to grasp, is the power of a community that works towards an objective: teaching how to make games, so that who has an idea for a game, can put it down for a game jam, for instance.

I want to grasp such power to learn more about game development, as well as teaching what I know about such matter.


This ebook is structured in a more complex, but modular, way: everyone can contribute by adding code or translating the existing code into another language (supported by the LaTeX Listings package), who wants to have their own "edition" with a certain language, they can re-build the book by setting their favourite language in the metadata.yml file.


Deciding the license for this ebook has been no easy feat, I was personally conflicted between two possibilities: Public Domain or A non-commercial, but still permissive license.

In the end I decided for a Creative-Commons Attribution-Non Commercial license. This decision was made to protect both contributors and readers. My intention is making sure that this resource is available to everyone, for free, forever. At the same time I want to make sure that whoever contributed to this project (for free and with the objective of making such knowledge available for free) won't see their contribution sold by a third party, along with the whole book.

Check the Project Repository on GitLab
Check the Mirror Repository on GitHub
Back to top