Choosing a Game Engine

Choosing a Game Engine

I thought I'd talk about my journey so far with game engines. I won't go too in depth with the comparisons since there are many articles and videos already on that. This is just about my personal experience.



My first game engine was RPGMaker Vx Ace, which I started using in the summer of 2015. My friends had introduced me to the some RPGMaker horror games like "Witch's House" and "Ib", and one of them said that we would be able to make a game better than most of the existing RPGMaker games out there. So I bought a copy of the engine and that project eventually became Stray Cat Crossing, our first published game.

I appreciate how RPGMaker has a lot of built-in systems such as for dialogue and scene transitions that make game development fairly straightforward. I didn't need to use much custom scripting and I was able to find free scripts online through the RPGMaker community.

While working within the RPGMaker systems was straightforward, I ran into some trouble with customizations. Scripting was enough to do the job, but it required knowledge of the game engine code in order to extend or override the built-in class behaviors. There were a few "hacky" solutions for things like y-sorting and character portrait animations that I wish could have been more elegant.

While I had fun creating Stray Cat Crossing, I found myself wishing for more control and to be able to code more of the game, so I would say RPGMaker was a good entry game engine and is great for anyone new to game development and programming.



I next explored Unity, the most popular free game engine at the time and probably still is. It seemed to offer the flexibility I sought and I was learning C# at the time for work so I didn't think the learning curve would be as steep.

Unfortunately, I only it through a few tutorials for both 2D and 3D before I lost interest and didn't touch game development again for a while. One of the main reasons that come to mind is how 2D and 3D are both integrated in the same engine, so even though I was making a 2D game, I still had to worry about the 3D aspects of the engine, which overcomplicated my workflow. Second, I just did not like the UI and did not find it very intuitive or easy to scan.

While there were a lot of resources to learn how to use Unity, the user experience just didn't make game dev fun for me. Maybe I just didn't make it over the learning curve and I would think differently if I tried the engine now, but at the time Unity just didn't click with me.



While I talking to one of my friends about how I had been playing with Unity, he suggested looking at other game engines because of the 2D/3D coupling issue with Unity. My search led me to try out Godot and after trying it out, I knew this engine was the one.

Not only does Godot have separate 2D and 3D engines, but Godot is also free and open source, which is always cool in my opinion since I could potentially contribute. It also has a node-based architecture, which made creating scenes simple yet scalable. I also really prefer the UI over Unity's and while there is some room for improvement, I find it intuitive and easy to use. While there aren't as many learning resources for Godot as for Unity, I still found plenty enough to get off the ground.

Overall, the Godot game engine just feels easier to use in comparison to Unity and offers the flexibility that I didn't have with RPGMaker. It's the engine that I am using today to create my next game, A Month Away. With the current trend of feature development and Godot v4.0 on the horizon, I think I will be sticking to Godot for a while.