DevBlog 2: My journey with Godot
It has been a bit since I have had a chance to write. The last time I was here was September, and I was working through a tutorial via Unity and thinking I would have to buy a new computer. Boy, have things changed since then.
First, I am no longer using Unity. Let’s start there. If you are here, you will likely know about the Unity debacle; if you don’t, pause and take a brief googling, as many have explained better than I ever would. The long and the short of it is that while I would likely not be affected by the new policies that Unity landed on, I did not feel comfortable with their choices and the pathway they were going on. As a result, I decided that I was not far along in my progress and that I couldn’t switch, so I did that; I switched to Godot.
For those who may not know, Godot is an open-sourced game engine with many features aimed at those doing 2D games. They support 3D, but I don’t fully understand how fleshed out that is, given I am focused solely on 2D.
Shifting to Godot has been an absolute shock in the best way possible. I ended up switching about halfway through September, and within two months, I had something I could play with. The language it primarily uses is called GDScript, which is very similar to Python. As previously mentioned, I am not a developer by trade, but have dabbled here and there. For me, this language has been much easier to pick up and follow than C# was. It is more intuitive, which has allowed me to pick up pace when trying to build.
So, how did I start to build in Godot, you might be wondering? Well, I found a tutorial on YouTube from FreeCodeCamp.org which takes you through the basics of making a platformer game. Once I finished that, I decided to create mini-challenges that aligned with what I plan on doing in my soon-to-be pirate game. Each mini-challenge had a series of steps that I could break down and figure out how to code. I also joined a Discord channel by Maker Tech, and from there, I got some helpful guidance and advice, mainly when I get stuck on something and the documentation doesn’t get me there.
From doing all of those mini-challenges inside the same game, I created a tiny prototype (sorta); it has many mechanics I plan to use, but not how they will show up in the game. I wanted to share it with anyone who reads this because I am proud of where I have gotten so far.
FoxGame: https://digilena.itch.io/fox
Password: TryGame
Only in Chrome! The link should work, but if you are on MacOS, I can tell it can be slow or sometimes crash. There are currently some difficulties with Godot 4 and WebGL that are out of my control.
Speaking of some difficulties, I did want to call out some things I found through this process that someone else might find helpful.
If you are doing tutorials, check to see what version they are running. They don’t always say, so you might have to squint at the screen to find it. This is super important because sometimes you may have a new version with a glitch that their version didn’t. Then you will get confused about why it isn’t working until you try their version and realize it’s a bug (yes, this did happen to me, and the bug is being worked on).
If you are not using something like GitHub initially, then make a copy of the game every so often on a local drive. I ended up messing up my whole game because undo is not like what I am used to from Photoshop, where once you save in Godot, you can’t really go back. Also, only certain things work through undo, which I have learned through trial and error.
When checking documentation/reading people’s suggestions, also check the version. Multiple times, I have encountered the advice in Godot 3, and then the syntax or option has changed, so I need to find the correct, up-to-date one.
If you have the screen real estate, you can change your code while your game is running!
There, that has been my last 2.5 months. I still can’t believe how much has changed (oh, I forgot to mention, Godot is a lot lighter on the machine, so no new laptop is needed, woot!). Coming up will be the start of the pirate game, but that likely won’t be until early next year. Stay tuned for more!
The graphics for the test game are not mine and were used from https://ansimuz.itch.io/sunny-land-pixel-game-art