Over the years I’ve tried out a number of game engines.
Trying Unity3D
One of the first engines that I dabbled with more extensively was Unity3D. It’s wide adoption and store bursting with assets were obvious boons. I released two projects on mobile at the time using it as pet projects.
Projects
Rememberance
A very simple memory game where you are trying to find matching pairs of icons. It had a number of unlockable icon sets that would be made available through gameplay.
Ripple
A breakout style game where instead of using a paddle the player would swipe across a certain game area and growing circles (ripples) would appear along that line. This control scheme was aimed at unlocking different play styles that wouldn’t be possible when using a regular paddle.
Why Unity3D wasn’t for me
A couple of years ago my professional life at one point required me to shift from regular employment to a sole proprietorship. When reading through the Unity3D FAQ at the time and reaching out to support staff I got clarfications that this meant that any income I had from my software development work would also count towards the license requirements and limitations that Unity had on offer. This meant that Unity3D as an engine became a lot less enticing to me as a hobbyist game dev. Doing game-dev as a hobby currently I didn’t want to end up needlessly coupling my regular earnings with whatever games I might release. I felt that sticking with Unity would mean that I would be locked into needing a professional license potentially if I were to cross the limits that were in place for the free license. I didn’t want to feel that I need to keep a pro license to release patches for games that might themselves not be recouping the cost of the pro license. Even though this were unlikely to happen at the time, this soured me on seriously considering Unity3D as a worthy time-investiment knowing that other engines were available which wouldn’t require me to be burdened with such issues.
Unreal Engine
I dabbled with the Unreal Engine for a while after it was released and prototyped a bit with it but I found that the requirements and speed of development that I was achieving with the engine just weren’t for me.
What threw me off?
- each version of the engine was massive and took a long time to download
- I kept running into an issue with shaders constantly taking a very long time to recompile. This would be re-triggered by minute changes quite often. I found an external work-around after a while but was surprised that such an issue was present considering the scale of the company behind it.
- I wasn’t a fan of the blueprint mechanism which while neat conceptually was needlessly hard to navigate for anything more complex.
- The development turn-around was longer than I would like and I didn’t view the engine as being cost-effective from a perspective of time investment versus what I would actually use from the horse-power it provided.
Choosing Godot
I dabbled with a couple of other engines (Defold, FlaxEngine) but ended up stumbling across Godot. There were a couple of things that immediately set it apart from the other engines:
- it was open source - meaning if need be I could poke around its code and compile a custom version
- it was small - I could try a new version quickly without waiting for multiple gigabytes to download
- it loaded quickly - the editor with prototypes would open almost instantly
- it had an approachable scripting language - coming from Python I found GDScript to be very easy to pick-up
- it had support for C# and support if need be for other languages - if scripting were a bottle-neck then it could be avoided
By no means am I a Godot fan boy and have found a number of flaws with the engine since I started using it but its versatility and active community have kept me engaged and eager to participate enough to make it my engine of choice for now. I have yet to make a game that would make it to a release with it but I do hope to find time for some jams and small projects soon and I hope that I’ll be able to post about new publicly available projects in the upcoming months.