Version 0.7.2 has been released!

Hello everyone!

After quite a bit of work, version 0.7.2 has been released!

I missed my self-imposed deadline by a few days, but at the same time I wanted to get a new version out there, even more after some findings which I will talk about soon.

First of all, the changes.

Language Revision

Pseudocode has been uniformed and revised heavily, to have a more C-like appearance while still being somewhat informal, I am still striving for a good balance between "structure" and "readability".

The C++ edition of the book has been heavily revised, since I found a considerable amount of mistakes and syntax errors in the listings (this is what pushed me to rush this release a bit). Hopefully I managed to catch all the mistakes, or at least the great majority of them.

New Structure

To help with organization I decided to split the book into "parts" which feel a bit more cohesive, as well as splitting long chapters into more files to enhance maintainability.

The collision reaction section has been revised and will be revised even more in the future, but I think it's good enough for a release.

New Content

A new section has been added about "simulating old console's audio", which describes (in a nerdy way) the limitations of consoles and home computers of the past and how to "play within the boundaries" of such systems.

I added some introduction to coroutines, lean development, A/B testing, lazy objects as well as redundancy and Mutexes.

JavaScript edition joins the group

After some intense code translation, a new edition sees the light of day: the JavaScript edition is based on the ES6/ECMAScript2015 standard.

Hopefully this edition helps broadening the demographic and encourage more people to build their first game. As with other editions, this edition doesn't focus on any Framework or Library, but tries to "explain a concept" through code.


After over 100 commits to the repository, I think I will take another break from actively adding content to the book, although I'll still be available for fixes and errata corriges.

Hope the new version is as good as I wanted it to be.

Thank you everyone for reading and stay safe.



JavaScript Edition (PDF+EPub) 39 MB
Version 0.7.9 4 days ago
JS_Edition.epub 17 MB
Version 0.7.7 Sep 04, 2023
Pseudocode Edition (PDF+EPub) 38 MB
Version 0.7.2 Nov 04, 2021
JavaScript Edition (PDF+EPub) 39 MB
Version 0.7.2 Nov 04, 2021
JS_Edition.epub 17 MB
Version 0.7.2 Nov 04, 2021
C++_Edition.epub 17 MB
Version 0.7.2 Nov 04, 2021
Python_Edition.epub 17 MB
Version 0.7.2 Nov 04, 2021
Pseudocode_Edition.epub 17 MB
Version 0.7.2 Nov 04, 2021
C++ Edition (PDF+EPub) 39 MB
Version 0.7.2 Nov 04, 2021
Python Edition (PDF+EPub) 39 MB
Version 0.7.2 Nov 04, 2021

Get 2D Game Development: From Zero To Hero


Log in with to leave a comment.

Awesome! It's finally been made! Thank you Mr. Penaz!!! I'll get to reading it ASAP!

However, Ruby-cat is not impressed:

Hopefully it's up to your expectations. Sadly many pieces are still placeholders and my knowledge in game development and programming languages is limited so if you find any mistakes, unclear passages or anything feel free to post about them in the forum board here:

The book is completely open source, so if someone wants to give a hand making a ruby version, it's more than welcome!