About the iPhone Extensions

Some of you might have hear about DogFighter, a flight combat game created by TeraCode Games for the iPhone and iPod Touch. If not, check this video out.

DogFighter was the first commercial game based on Crimild. As part of the development team for that game, one of the many things I learnt from it was what works for an iPhone game and what doesn’t in contrast with a typical PC game. My experience with DogFighter left me with several “do” and “don’t” lessons that lead me to create the iPhone extensions for Crimild.

Simply put, the iPhone extensions are a series of classes and tools that make a developer’s life easier when attempting to port Crimild projects to that particular platform:

CrimildGLESRenderer

As the name suggests, this renderer implementation is based on OpenGL ES. In particular, this renderer supports OpenGL ES 1.5, which is the version we can find in any iPhone or iPod Touch. At the moment of this writing there is no OpenGL ES 2.0 support, but considering the power that vertex and pixel shaders provide for a game engine, it has become one of the major tasks to tackle once I finish my review on the Terrain library.

CrimildView

Derived from UIView, this class provides all of the mechanisms required in order to setup a proper drawing context. It configures the OpenGL ES context and the CrimildGLESRenderer itself.

CrimildViewDelegate

Following the iPhone design patterns, the CrimildViewDelegate protocol defines the methods that a class needs to implement in order to configure, update and shutdown a Crimild application.

Here’s a screenshot of the Terrain demo working on the iPhone Simulator:

The terrain demo working on the iPhone Simulator

That’s it for now. Stay tuned for more insights about the iPhone extensions.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s