Investigation and iPhone Limitations

August 14th, 2009 Comments Off

We’ve had a lot of requests for insight into our toolset and development process here at Prophetic Sky, so I thought I’d write a few entries to summarize some of what we do here. We’re typically a Windows/Linux workshop, and so we had to make a few adjustments to work on an OSX platform for iPhone development. Fortunately, OSX overlaps a great deal with Linux, and we tend to use a lot of great open source tools.

There aren’t a lot of real statistics for the performance of the iPhone out there, but you can get a rough feel for it by just looking at the existing games out there. Our tests let us to conclude that 3000 triangles/second was a good maximum (we’ve read 6000, but couldn’t reproduce that to be comfortable with it). Even assuming our physics, game logic, AI and special effects didn’t eat into that time at all, if we wanted to fit 20 characters on the screen at once, each character had to be 150 triangles or less. That’s not terrible; many games run with those limitations. But once you realize you still have to fit terrain, trees, towers, walls and spell effects in there, it starts to become very cramped.

Nova Spell

Better detail, but less flexibility

So we turned to sprite assets. There are many advantages to sprites – namely that 3000 triangles equates to 1500 sprites on the screen at a time. Also, we can render the characters in much higher detail initially, from source models in the thousands of triangles. The feedback that we’ve gotten on the game leads us to believe that this was the right choice; universally we hear that the game looks beautiful.

There were drawbacks, as well. While we aren’t limited by the rendering power of the iPhone, we are limited by the available memory, and sprites take up a lot of space. In addition, it means our art is limited to running at a fixed frame rate, and in fixed directions – the characters can only run in one of the 8 standard directions, for example. Also, we cannot change the perspective – moving the camera will just show that the sprites are flat.

Comments are closed.