Hey folks, the 1.3 update for Air Master 3D has been submitted to Apple and is in the approval pipe! Here’s the list of changes:
-Custom level mode: adjust unit counts, planet type, and terrain height
-Thicker HUD indicators for enemies
-Sharper menu graphics
-”How to play” guide with unit descriptions
-Reduced memory usage

The new custom level screen.
The big one for this update is the new custom level screen. With this, I’m exposing most of the same controls I have internally for setting up levels – you can adjust how many of each unit shows up (max is around 50 total), which planet to play on, and the height of the terrain. I think the default settings make for a pretty interesting and difficult game. Having multiple shield generators and UFOs teamed up really plays to the combined strength of the different units, and requires a bit more strategy to not die anti-climactically.
Originally I had grand plans for a full-fledged level editor, complete with terrain painting, unit placement, and sharing of maps online, but that seems a tad overkill for a short game like this. Besides, is it really worth all the genital-inspired level designs I’d have to moderate?
Thicker HUD indicators are pretty straightforward – hopefully there will be a little less squinting and eye-strain when hunting down those last few enemies. The “How to play” screens have been sorely needed – previously you got a quick “touch to continue” sort of screen that ran over the controls right before thrusting you out into your certain death, with no explanation of what those multi-colored polygons shooting at you were up to. It’s still not perfect, but at least the game relies a little less on ESP to get things across.
Sharper menu graphics were pretty badly needed – I let the last update go out with blurry 256×256 menu screens, due to memory constraints and the rather backwards way I’ve been packaging textures with the game. Compiling in your textures as massive header files is a nice way to bypass figuring out the whole resources in Xcode mess, but it just doesn’t scale well. Now the menus (and all textures) are loaded as needed from a compressed package file out of the app’s resource directory. End result – 512×512 menus, less memory required to run the game, everyone wins! Speaking of resources in Xcode, there is a great blog post that overviews the whole process from getting Xcode to package your resources (reliably) to how to grab the path to them once on the iPhone.