Godot Engine Game Development
Posted
# Programming
I am subscribed to the Unity3D newsletter, seeing a new version always gets me excited to go check it out. Yet this time my google search let me to Godot an opensource emerging game engine. After reading the documentation and making a simple project, I wanted to dive deeper into Godot and got my self this book. The book starts quite basic explaining the editor itself. Some basic mathematics are explained to at-least get an idea of how to position objects in a 2d and 3d space.
The core of the book lies in its project though and these are what makes this book a great beginner guide. There is always an appeal to learn by doing. Having 5 different projects with slightly increased difficulty is perfect to get you started.
I found that this book does not teach to much about game design itself. The 5 games are decent fun and the quality of the assets are good. There is a focus on details and you generally get an idea what it takes to finish a game.
The good
- The book focuses on making the 5 games and learning the engine. It does need some knowledge about programming, so it is not for complete beginners. This was perfect for me.
The Bad
- The epub is not that great. Images are not contained within the pages and not so clear. I sometimes had to open the file on my pc to figure out what was shown.
- Mistakes in the book that makes it sometimes hard to follow and get your project working. This is solved by downloading the examples and when you are stuck, refer to these. Example projects
Projects
You get this book to learn to make the 5 different games. There is little theory or details about game design. So to give you an idea on what game types you will make let us go through it.
Coin Dash - Game 1
This game teaches you to make a basic top-down high score game. It starts with an introduction of items in 2D space. So you’re mathematics you’ve learned in school comes in handy.
In this chapter, almost every single step is explained well. Not knowing anything about the engine is ok. the steps are clear enough to follow and make the game. It’s amazing to see that this is not a demo game or prototype game. You finish something with good looking art as well as music, so it’s a great step into making a complete simple game.
Escape the maze - Game 2
You continue building on what you have learned previously. The steps are explained a bit less in detail, so it does not feel so repetitive. This is great to know if you understand what you learned in the previous chapter. I felt myself sometimes checking the code examples to understand what happened, but still is reasonable to follow.
The main learning lesson of this project is knowing how to animate sprites as well as use a tilemap. You start making your levels based on some predefined art and gameplay. So from this moment on some creativity is needed to make the game interesting.
Space Rocks - Game 3
I think this is the most interesting project of the book. It dives deeper into having animated sprites and introduces physics mechanics as a core gameplay mechanic. The game handles well, has some cool ideas and it feels satisfying making this game.
It also goes more in-depth in managing the game code you write and managing the state of where the game is in. The last section of every chapter goes into adding the final details. The cherry on the cake and here it goes quite far with lots of additions and some experiments you can try out. The music and sound effect make this game come to life.
Jungle Jump - Game 4
Another game that heavily relies on using animations and the tilemap feature. This feels like an extension of what you’ve learned in the 2nd project.
This is the jewel project from this book and combines all the knowledge from the previous games into 1 huge finished platformer.
The project does get a bit more complicated. It requires you do be independent and if needed go back to previous chapters to remember how to do specific things.
3D golf - Game 5
The last project you get away from making 2D games and see what Godot has to offer in 3D game development.
The chapter starts off as the first game by explaining the mathematics of positioning and representing objects in 3D space. It’s quite basic knowledge but if you are new this introduction is quite valuable.
To be honest, I find that this project is a bit a miss. It’s nice to see that you can also develop in 3D in Godot however the quality and polish of the game is a lot less than the previous projects. It also does not continue what you’ve learned in the previous chapter so I lost the buildup of momentum and felt stepping back.
By this time the book also contains quite some mistakes or at least has a lack of good guided steps. I needed to get the example in the GitHub repo to get this game running well.
The final pages
By this time you can close the books and try adjusting the games you made or try making something on your own. The info added in the last chapter is quite straightforward and by this time you should have already needed the documentation of Godot.
Well, the exporting part is interesting. I did not follow the steps from the book as I already looked it up in the Godot documentation. It is cool though to have one of your games running on your cellphone :)
All in all a good book to get familiar with the Godot engine. I enjoyed making the different games. It was especially satisfying to have them finished with nice art, music and sound effects.
Rating
7⁄10