Choosing a new game engine

  • by

Our first game of note, Hedge Maze, was written with a roll-your-own game engine in Java back in the early 2000s. It was deployed via Java Web Start which enabled any computer with a JRE to download and run it. It had to be hosted on our own server. This is similar to the way the popular MMO Runescape was deployed. While cumbersome by today’s standards, it was pretty slick at the time.

Fast forward to the early 2010s and we wanted to target iOS devices with our next two games, Gator Chomp, and Number Rhumbus. As a Java developer I wasn’t crazy about having to learn Objective C and the iOS APIs in general. We did briefly consider using Cocos 2D, but in the end went with the Corona SDK. Besides bringing up images of lime slices wedged into the neck of a crisp, cool beer on a beach in the Caribbean, Corona had a number of great advantages. It’s primary advantage for us was the seamless hiding of iOS details while exposing a simple, straight-forward “storyboard” API which served our relatively static 2D games perfectly. We had to learn Lua, but as a language, it was so tiny, that you could get the gist of the language in an afternoon. The real challenge, because it was so small and featureless, was implementing many of the common data structures found in more feature-rich languages. This may sound like a liability, but Lua is small by design and that works to its advantage.

Fast forward to the present day of 2019 and now we find ourselves wanting to upgrade to yet another engine. You can’t go anywhere on the internet with the terms “game engine” without running into Unity. So we’ll see what all the fuss is about in future posts…