Wire Whizz To Date - 04/07/2010

The State of Play

Wire Whizz looks somewhat different from the early work on the game:

Wire Whizz Main Menu  

The menus are entirely Cocoa Touch now, with a view containing the OpenGL rendering context as the main view and the Cocoa Touch menus all hang off a nav  controller that’s a child of the root controller’s view (if you follow my drift).  When in game, the child controller is hidden from view and all it’s sub views are removed.

The GUI in game therefore is entirely OpenGL, but unlike the old menu, these are painfully constructed by hand - I have a bunch of methods to add a rect to a vertex buffer and a call this AddRect() method repeatedly, adding rects for each of the items on the HUD.  When I started with this approach I figured that there were only a few items on screen, so hand creating them for this one menu, wouldn’t be too painful.  I think I am in for some 70 rects now, so I am feeling the pain - I think I need an export facility that will do 2D menus and it will happen for game 2, as soon as game one is completed.

Wire Whizz In Game

Pain aside, this menu is much more efficient than the previous OpenGL version, that treated each rect as an individual object and rendered them one at a time.  This might be painful to construct, but at the end of the construction, it’s just one draw call to send it to the GPU.

Updated HUD & Controls

The HUD now shows remaining time on the left, elapsed time in the centre and energy on the right.  The controls previously were strafe on the left with a button each for left and right strafe, and acceleration on buttons on the right hand side, with separate buttons for accelerate and deccelerate.  Now we have two gears on the left (early GFX that may change for these) and a glide pad on the right that covers acceleration, deceleration and strafe all in one. I’ve not published a version to anyone to test as yet, but I think this will prove more intuitive.

Lives are now in a ring at the top right with the number of additional lives and the green star indicates that you have not lost any energy on this level.

The frame rate is in the bottom left, which is a rock solid 30-31 on 3G S but I am struggling to maintain 30 on 2G (I don’t have a 3G at hand to test the 3G performance, but I imagine it will be very like the 2G as the hardware is pretty much the same).  I may be struggling for 30, but the frame rate is very close and actually the best thing to do to achieve this, would be to do all the transforms in the CPU (which is doing around nothing) and send the level geometry to the GPU in one or two calls.  I could also do some subdivision of the geometry and implement culling and lodding, but both options are quite a large bit of work at this stage.

In Game Menus can be accessed from the icon beside the elapsed time.  The beauty of using Cocoa Touch, is that I can pause the game and bring up the menus and most all bar the first already existed - in-game menus became virtually free.

I’m much happier with this HUD, the old hud had horizontal bars for time and energy and they were awkward to position - if at the top, they were in the way of the player’s view too much and if at the bottom, it was hard for the player to see what whether death was imminent or time was running out.

What’s Left to Do

At the time of writing, these are the high level tasks that remain:

  • Add Game Completed Menus
  • Update the Graphics in the Level Parts scene
  • Create content for the game
  • Fully test IAP

It doesn’t sound much, but there are probably two dozen (glancing at my whiteboard) tasks that will need to be done and I will undoubtedly spend far too long tweaking something I haven’t even stuck on my todo lists.  These are the major bits of the game that are missing.

I have not included network play or localisation in the first release, but these are planned updates, although I don’t know whether to charge $0.99 for Network play, perhaps to be able to host a server.

So it could be two weeks, or it could be 4 months still - I will settle for before September, as my Wife is expecting and I’ll have to down tools for a serious amount of time by then.  She’s week 29 as of Tuesday, so I’m guessing I’ve got about 10 weeks give or take.

Leave a Reply