A downloadable book

It's really common in today's game development scene to approach game development through tools that abstract and guide our efforts, without exposing us to the nitty-gritty details of how things work on low-level and speeding up and easing our development process. This approach is great when things work well, but it can be seriously detrimental when we are facing against issues: we are tied to what the library/framework creators decided was the best (read "applicable in the widest range of problems") approach to solving a problem.

Games normally run at 30fps, more modern games run at 60fps, some even more, leaving us with between 33ms to 16ms or less to process a frame, which includes:

  • Process the user input;
  • Update the player movement according to the input;
  • Update the state of any AI that is used in the level;
  • Move the NPCs according to their AI;
  • Identify Collisions between all game objects;
  • React to said Collisions;
  • Update the Camera (if present);
  • Update the HUD (if present);
  • Draw the scene to the screen.

These are only some basic things that can be subject to change in a game, every single frame.

When things don't go well, the game lags, slows down or even locks up. In that case we will be forced to take the matter in our hands and get dirty handling things exactly as we want them (instead of trying to solve a generic problem).

When you are coding a game for any device that doesn't really have "infinite memory", like a mobile phone, consoles or older computers, this "technical low-level know-how" becomes all the more important.

This book wants to open the box that contains everything related to 2D game development, plus some small tips and tricks to make your game more enjoyable. This way, if your game encounters some issues, you won't fear diving into low-level details and fix it yourself.

Or why not, make everything from scratch using some pure-multimedia interfaces (like SDL or SFML) instead of fully fledged game engines (like Unity).

This book aims to be a free (as in price) teaching and reference resource for anyone who wants to learn 2D game development from scratch, including the nitty-gritty details.

If you want to contribute, feel free to fork the repository and send a pull request!


Pseudocode_edition.pdf 10 MB
Version 0.6.1 19 days ago
C++_Edition.pdf 10 MB
Version 0.6.1 19 days ago
Python_Edition.pdf 10 MB
Version 0.6.1 19 days ago
Pseudocode_Colored_Edition.pdf 10 MB
Version 0.6.1 19 days ago

Development log

Leave a comment

Log in with itch.io to leave a comment.