Technology used in Armageddon Wars

OpenGL 2D engine

Armageddon Wars uses our own in-house 2D game engine. It's designed to be easily ported to other platforms. We always use cross-platform technologies where possible: OpenGL ES, c++ and OpenAL.

Optimisation

The engine is optimised in 4 different areas:

Speed optimisation

We didn't really need to do much speed optimisation for the 2D stuff, just draw call batching really. The engine can render 800 tiles at 60 FPS on iPhone 3GS, or 30 FPS on first gen. iPod touch.

Disk optimisation

We've optimised the loading of resources, so that the player is never waiting for a level to load. The total start up time for Armageddon Wars is 3 seconds on a iPhone 3GS.

Memory optimisation

We use memory pools widely. Memory is re-used rather than created to reduce fragmentation. A combination of 16-bit and PVR textures are used. UI components are textured using a tiling system to reduce texture memory use.

Battery optimisation

Armageddon Wars is one of the few "battery friendly" games in the App Store. It dynamically throttles the frame rate during game play to conserve battery power. Read more details in our article on GameDev

AI algorithm

The AI code uses a generic score-based algorithm (in fact it's an improved version of this.) It provides an unpredictable and challenging opponent, although it's deliberately biased towards aggressive attacks, in order to make it easier to beat.

Resources for indie developers

We have open sourced some of our code and production tools, which you may find useful: