Sunday, September 22, 2013

Game 1: "Hatch a Dragon" released!

It's Sunday, the first week is up, and our first game is done! It's match3 with the basic gameplay, animations, levels, sound, settings. Here is a video of the gameplay:

All in all I am amazed at how much of a game it's possible to create in just a week. On Monday I knew nothing about mobile app development, knew nothing about Corona SDK. Liza knew nothing about Illustrator and Flash. And just six days later we got a full featured game on our phones.

With this game, I focused on covering the full range on features that a game needs, instead of drilling into one. I also tried to write solid re-usable code, which brings me to the first major insight:

Lua is a trivial language to pick up, but a hard one to write good quality code. For me, coming from web dev with Ruby, Rails, MVC, Lua code is just a mess. I used two open source match3 projects for learning Corona and Lua:

Most of the samples I ran into are just a mess, - global variables, spaghetti code, all code in one file. Lua just naturally lends itself to messy code. Which means that anything beyond a simple game would be a problem to write and maintain. I tried hard to write well organized code, but it's still miles away from the cleanliness of Rails.

My second insight is just how different game event driven programming is from sequential web dev. I am still trying to wrap my head around it. I wish I could study a really well done source code for some Corona SDK game, but I haven't found any yet.

We are very excited about getting our first mobile game on our phones! Tomorrow the second week starts, and the second game. I wonder what genre are we going to choose...