Tuesday, April 30, 2013

Choosing a game engine

I've spent some time on Google looking for an Android game engine that will ease my development, and this post from StackOverflow made it easy for me to pick two front runners:
I initially explored AndEngine because it seemed to be the more popular choice of the two. After spending some time with AndEngine though, I felt apprehensive about how much it abstracted from the developer. For some, this is a good thing because it means there's less you have to worry about and less starting friction. Personally though, I prefer my frameworks to be more bare bones.

This prompted me to Google search "Libgdx vs AndEngine" and found the following analysis by the developer of Libgdx very helpful.  After a little more research, I finally decided to go with Libgdx, and the following are the selling points of Libgdx that won me over
  1. Code once and compile for Android, and HTML5
  2. Lighter weight than AndEngine
  3. Better documentation

The first few weeks

Over the last few weeks, I've done a lot of the preliminary work that needs to happen before you can even consider writing code.

First there was the idea. I was inspired by a fairly simple RTS game that I've come to love. The beauty in this game lies in the fact that it has very simple rules, but still manages to be deep strategically. There are a few aspects of its gameplay that I don't like though:
  • It rewards defensive play too strongly
  • There isn't enough variety of winning strategies
  • The game is almost too simple and becomes repetitive
I wanted to come up with a spin that fixed these issues, but still maintained the simplicity of the original game. It also needed to be different enough that it wasn't a rip off of the other game. After typing up the concept and fine tuning it through discussions with my friends, I had something I was excited to make.

While I took a class in iOS development, I have no experience in Android, or game development for that matter. So I've spent the last few weeks quickly reading through Beginning Android Games, and the relevant Google tutorials on developer.android.com. Then I sat down and planned out the framework of objects I'll need and how they'll interact within the game flow.

I've also been working with a friend to try and establish the game's art style. So far I'm happy with the way things are looking.