Skip to navigation
Logo Penaz's Area

cat /dev/random > penaz

2D Game Development: From Zero To Hero - 2 years later


Almost 2 years have passed since the first release of this book: let's rant about hopes, experiences and future plans.

The 13th of May 2019 I put the first building block of a project I really wanted to see grow. I wanted to make the book I wish I had when I was learning to make videogames. This project is "2D Game Development: From Zero To Hero", which I talked about in a previous post from 2019 .

The plan was simple: start up the project with a markup language that was easy to learn, use and edit, so that people could easily contribute with their own knowledge.

The objective was grasping the knowledge of a game development community, uniting to reach a common objective: creating a free resource that would teach people how to make 2D video games, without teaching a single tool, but instead teaching methods, project planning, tips and tricks.

Hopes broken, mistakes and doubts

I was hoping to find some good soul that would join into the effort of making this book, someone that was outside my circle of friends (who I thank deeply for their help and contributions).

Sadly that hope was unfulfilled, leaving me to research and try to feel the gaps and sometimes having to leave placeholders.

I left a post on the "gamedev" subreddit, hoping to gather some interest over the matter, but to no avail. The post got a decent 30-ish upvotes, but that didn't really bring much interest towards the project.

Probably the biggest mistake I have made was the storage: being mostly a technical book, I opted to use git as versioning system, with GitLab and GitHub as cloud repositories. This means that people need to know at least a little of its workings to be able to edit.

Second biggest mistake was the format, Pandoc's Markdown is a great format to write documentation in, and you can write whole books in it and it's easy to read and write in (my University Thesis was written with it, and I'm writing this post using markdown!). Issue again is that many people may not know or want to learn it, and I found the need to use some inline LaTeX, stopping me from making an EPub version.

A better way to publish the book would have probably been using some wikimedia platform, like wikibooks: this would still allow for a PDF version to be made, while probably giving it more visibility and making editing by others easier.

This obviously filled me with doubt on the validity of the project as a whole, to the point of even thinking that this was an exercise in futility.

Pleasant surprises

After a while, I took the courage to fork the amazing EbookFoundation's Free Programming Ebooks Repository and add "2D Game Development: From Zero to Hero" as a "in process" ebook.

The ebook got accepted and a bit later I found an issue in the book's GitHub repository by Eric Hellman , president of the Ebook Foundation, giving me suggestions on how to make the book better, how to navigate the Creative Commons license and just all around a lot of great things.

I take a small paragraph here to thank Eric Hellman from the bottom of my heart for the help and patience.

After that, I found out there is a website called unglue.it that is connected to the Ebook Foundation, and "2D Game Development: From Zero To Hero" was the featured book for a few days. Now the book has its own dedicated page on unglue.it , although it's not up to date.

A little while after that, I decided to publish the book on itch.io , and it has reached the top 100 books in the "new & popular" category in relatively little time, and is currently at 61st place in the "popular" books category.

The book has currently 600 downloads on unglue, over 500 downloads on Itch (with the most downloaded version being the "C++ Edition") and 3 ratings. Sadly I'm not able to count the dowloads from GitLab and GitHub.

Talking about GitHub, the project sits at around 45 stars (which is a lot more than any of my previous projects), with 3 (currently inactive) forks.

Future plans

Lua! This is the first thing that comes to mind. I would love to translate the book to Lua, and make another edition with probably one of the biggest languages (after C++) when it comes to game development.

Lua is used as a scripting language in videogames, as well as a language for the LÖVE game engine, which I talked about long ago in a dedicated post: "Love: A 2D game development framework" (this post is available only in Italian). So I feel it would be a really appreciated edition.

Another edition that may be appreciated would be a C# edition, because it is the language used in the Unity engine.

My future plans include getting the book into a state that will allow me to export an EPub edition, if the community wants it (in fact I will do a twitter poll about that).

I foresee opening more interaction possibilities with the itch.io page too, by enabling the forum-like features, instead of leaving only the comment section.

Conclusions

This has been a long journey and there is no end in sight, I really hope in future someone will join my effort, because I think that game development is an incredible way to express someone's creativity and anyone should have a shot at it.

Having a free resource to start with is something that, in my most humble opinion, is extremely precious in a world filled with paid resources that may be out of someone's budget and maybe even not the right choice for a certain person.

I conclude this post with the links to the ebook.

Link to the Itch.io page of the book

Link to the GitLab repository for the book

Link to the GitHub repository for the book

Thank you everyone for reading this overly long post (read "rant") and see you in the next one!

Penaz.