Kondrian summary

Development summary for Kondrian

  • its Universal,
  • its written in Objective C (no C++),
  • home grown graphics engine (apart from the GLK* and OpenGL ES),
  • uses OpenGL ES 2.0, VBOs, VAOs and many other OpenGL ES 2.0 goodies,
  • uses GLKit, a GLKViewController and GLView – but uses standard OpenGL ES 2.0 shaders (just because they seemed slightly faster),
  • is 2D, most data (sprites) is refreshed per frame,
  • background is tiled, I treat the tiles a bit like a UITableView, there are a limited number dependant on screen size and when they go offscreen they are moved to the other side of the screen, reset with appropriate textures, ready to come on screen,
    uses bitmap fonts, the bitmap created by Glyph Designer,
  • uses 5 separate texture atlases – 2 for iPhone 4, iPad 1 because of memory constraints, and 3 others for iPhone 4S and later, iPad and iPad retina – TexturePacker was used to create the atlases,
  • particles are old school linked lists, and are not manipulated in vertex shaders a la Erik Buck (a good reference btw: Learning OpenGL ES for iOS), mainly because the particles bounce off walls, but possibly in the future I may want the particles to change textures,
    50 levels, between levels the GLViewController and the GameController (and all OpenGL buffers etc) are dumped, after the first few levels there is a memory growth of about 10k per level,
  • for sound (although there is no background music) it uses the CocosDenshion (but does not use Cocos2D, with which CocosDenshion is often bundled)
    uses all UIKit for non game screens
  • uses UIGestures custom subclasses (invisible – so not drawn) for user interaction in the game itself
  • for the pre programmed paths – UIBezierpaths
  • uses a bit of Game Center (although I’m not happy with GC, it would be nice if it itself, could store achievements and scores when offline and send when online), and some Flurry Analytics
  • no IAP
  • for ‘older devices’ iPad 1 and iPhone 4, I don’t do all effects such as entity shadows, exhausts and limit the explosion particle number because of these devices’ well known condition of being somewhat GPU constrained. So all devices should run at 60FPS. (Anyone who knows the secret to good iPad 1 OpenGL ES 2.0 performance – please pipe up).
  • excellent graphics by obii.mobi at http://www.obii.mobi

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>