Bored out of my mind thinking about old 2D platformer project, I have decided to look a bit into Godot. For those unaware, Godot is open source game engine that’s really easy to get into, supports multiple platforms, is very light weight and has a lot of potential for 2D games but it can manage 3D too.
Before starting I have noticed the most supported scripting language for Godot is GDScript which is very similar to Python as far as I know. And since I don’t know much about Python, I expected to struggle a bit in programming. To my surprise it only took me couple hours to finish this project. I find GDScript very intuitive and it allowed me to do the coding part very quickly. Coming from Unity there has been couple of differences in terms of editor controls and a big change is the way scenes and objects are organized in Godot compared to Unity.
In Godot scenes are basically prefabs that you can instantiate in other scenes. Objects in scenes can only have 1 script which seems weird at first but you can add as many scripts as you want when you use child objects.
Integrated IDE in the editor is really nice too. While making 2D game you basically only ever have to tab out when you need to draw textures in your image editor or work on sounds.
I don’t want to make in-depth review of Godot since I have been using it just for couple hours and I’m sure I will keep using it and learning the language and the engine itself but I have to talk about signals. I love them, I love that the engine points you towards developing a game that’s made without Update function being enabled by default. Really refreshing to see this
Now for the game itself, this is what it looks like:
Also one more thing that surprised me is how simple it is to make build for web. Just select HTML, download build template and you got the game exported in seconds. Amazing. You can play the game here: http://marekkost.com/godot-snake/snejk.html
Also source code and the project (made in Godot 3.1.1) can be found on my github page. https://github.com/mkskelet/godot-snake