December 27, 2011

Android Game Development

I'm starting to like that blogger thingy, so I'm going to write a post about what I'm currently doing. I'm trying to make an Android game. That's only Android, as I don't like Apple or anything related (even anything starting with "i"), matter of principles, and well, there are Symbian, webOS and some other platforms that are... let's just say that they are sentenced to death.

So, coding for Android is not that difficult as I though, but it certainly has it's gotchas.
After reading a book or two about basic concepts and reading/writing some "Hello World" examples, I decided to go further and start reading about game development.
Searching for some game engines I found a few that are pretty good:

  • jMonkeyEngine - Really good 3D engine. Lot's of features, lot's of tools that will certainly help you create almost anything, and lot's of projects around it, improving it even further or adding some missing things (there is the SpiderMonkey project that adds multiplayer!). Bad thing about jME: forums. They're just a mess! Come on jME team, there are some good forum platforms! I know you can do it better. I'd go with jME if I wanted to make a 3D game, but that's not what I want. Anyways, if you do want to make something cool and 3D, go ahead and try it.
  • LibGDX - Also a good 3D engine, and not only for Android, but for PC too (OpenGL and Java compatible). Tested it, and it looks like it has a lot of features too. Seems to be actively developed (just look the commits graph!) and there are some interesting guides, but again, I'm just not searching for a 3D engine.
  • AndEngine - 2D engine with pretty small learning curve. It also has tons of features, but also some things that are missing. The only person working on the engine got hired by Zynga (congrats!). Only bad thing I found is the lack of documentation. Hell, there aren't even comments in the source code of the engine!
Sure I found some more engines, but some of them aren't open source, some others can't be used in commercial games (I plan to sell my game.. some day... when it get's finished...), some of them are discontinued, deprecated, abandoned, etc...

Based on all those facts, I decided to go with AndEngine. I searched for a book about how it works, basic game development, etc, read it, and started coding. (Note: Don't buy the book as it got deprecated because of a new major release that changed most things in the engine. Or buy it, but don't blame at me when even the simplest example won't compile.)
Just after finishing the first activity (Android app concept) the creator of the project decided to go for a new major version that broke pretty much everything. Yeah, my first headache... And I bought the book a week before that new version!! FUUUUUU

After a couple of days I managed to rewrite everything, but I discovered a bug in the engine that would make the entire game crash after changing activities. I already reported the bug and I'm currently waiting for a solution (second headache!).

Anyways, I'll keep working on my game, and if everything goes well I'll blog about it again soon.

Hello world!

It's been a while since I first thought "Maybe I should blog!" and I finally decided to do it. But let's start from the beginning!

My name is Alexander, not that old, and I'm a developer. My digital life is based on that activity, so I won't be blogging about <place here some non-developer topic>. I'll write about all those random stuff that happen to me while I'm at work or at home, trying to do something useful!

I, like every developer that dares to call himself "real developer", have my epochs of that need to use/play around with whichever language/hacky tool/geek thingy/whatever. And I, like every real developer, get headaches because of that need: code that just won't work as expected because of the weirdest bug ever; tools that crash when I'm just about to finish XYZ thing; devices that seem to have proper life...  But those headaches are (quickly?) replaced with that good feeling of self-improvement when I achieve what I wanted.

So, basically, this blog is about all that stuff that causes me headaches and their solutions (hopefully, those will safe someone else's time).

PS: I must say that that first post of mine isn't that bad.