iOS Game engines and frameworks

I want to publish an iphone app.  And this time I want to make a fun game.  I had made two small games in my iphone programming class but I don’t feel like publishing them because they are too generic.  I want to make something looking good and a bit more complicated then what I did in class.  In class we used iOS’s basic uikit library, which is not good for making fancy graphic games.  I decided to use a game engine.  The two very famous game engines on the market are Unity and Unreal.  They both have free download versions for individual developers.  After some research, I decided to use Unreal Engine for two main reasons.  First, the Unreal Engine free version offers complete features.  It offers the same functionality as the paid version.  Unity’s free version is a stripped down one, some nice functions like advanced shaders are not available.  Second, Unreal engine has better graphic rendering, the games made with Unreal looks better than games made with Unity.  Top selling games like Gear of War, Unreal Tournament, and Mass Effect 3 are made with Unreal Engine.

I downloaded th Unreal Development Kit(UDK) and want to try it out.  No surprise, it’s not easy for a beginner trying to make sence out of it.  I have to search for documentations online.  It turns out this UDK has a steep learning curve.  Another thing I need to consider is that the Unreal Engine is a 3d engine.  For starting game programmer, it’s better to use a 2d engine.  Currently there is no better ios 2d engine than coco2d which I had been reading tutorials on it.  I have to put down the UDK for now and work on coco2d first.  And I just found out there is a framework named coco2d-X which is a C++ port of coco2d (objective-C).  The good thing about coco2d-X is that it works on both iOS and Android.  Write once and it runs on both mobile platforms with little tweaking.  Sounds nice.

I once thought about getting a job as a game programmer.  However, the researched facts turned me away.  Here are the facts about professional game programmers: lower pay than other software professionals; much longer work hours(60-80 hr/week); much higher competition (people start making games at 15, a lot of people want to make games), people burnt out in 5 years or so.  It is better to keep it as a hobby.

My 2nd Android App Posted

It’s a simple Temperature Converter that does conversion between Celsius and Fahrenheit.  The codes are simple.  One significant thing in this 2nd app is that I had embedded Admob and Leadbolt codes in it.  So it will show Ads.  Since the app is free, ads is the only way to get some rewards for the effort of creating the app.  I don’t think this simple app will generate any ad money but it’s certainly a good practice.  At least now I have a clear idea of how to put ads in my apps.  Here is the link to my Temperature Converter in Google Play.  Google Play is a great place to publish your apps.  For beginning Android programmers, my advice is don’t wait.  Publish it as soon as you have a simple functioning app.  You could always add features later.  When an app is published, I get a lot of motivation to work on the next one.

My frist Android App Published

I didn’t expect my first app for the Android market is an assignment from my Android class in City College of San Francisco.  It’s a Quiz game on US state and capitals.  I just think it would be cool to see my app actually appear in Google Play.  At first, it seemed to be a difficult task to publish a game.  I was prepared to spend 4 days to complete the publishing process.  It turned out to only take me 2 to 3 hours.  My time for publishing work was mostly spent on making the right size screen shots.  Google required the screen shots to be exact for example 480 x 800.  There are several sizes I could choose from. But the pixels need to be exact.  You can’t have a 481 x 800 for example.  What I did was use Print Screen to get a screenshot of the emulator.  Opened windows Paint and pasted screenshot on a blank file, save it.  And then I opened this same file with GIMP2 and used GIMP2’s crop tool to crop image to be exactly 480×800.  GIMP2 is a free graphics software comparing to Adobe photo shop.  I only use GIMP2 for precise cropping of images.  Oh here is the link to my first Android App Quiz of States and Capitals. It’s a free app of course. I would be happy if someone like it.  I certainly want to publish more Android apps later.  At the least I can polish my programming skills.  I had made several updates to the app after publishing it.  There is always room for improvement on a piece of software.

By the way the Android class in City College of San Francisco is a good class taught by Abbas Moghtanei.   If you want to learn Android programming, Abbas’ class is a good starting point.