Been a long time visitor, first time poster. But I work in the games industry and my friend and I have been trying out the iPhone game field, and we were recently accepted.
I've seen a few comments about developing for an iPhone game so I'm more than happy to answer any questions about the entire process.
It took us about 5 months total. 2 months RnD, and another 2 months for full content and polish. Then surprisingly only a week to be accepted.
Check it out at
www.kidsvszombies.com
Let me know what you think!
Replies
Did some work on an Iphone game that is just waiting for release as well, sounds like its pretty straight forward process from apple.
Gonna be working on anymore Iphone games? Really interested to see more developers (or indie devs) working on the Iphone, it seems to be a good platform to work on.
Reminds me of this awesome painting by Jason Chan, which sat on my desktop for months until I ordered a print heh.
Only a week to get accepted? I'm envious.
We're taking a break for a few weeks to see how this one goes. But are already talking about updates and another game.
My friend started with the Oolong engine, and heavily modified it from there.
What did you do for audio?
How have you been promoting it?
Might I ask what modifications were done on oolong mainly?
How did you do your level authoring?
I'm the programming half of Monkey Wrench, and worked with AbsintheRogue on Kids vs. Zombies.
Regarding Oolong modifications, we used these main Oolong components:
- Math
- ModelPOD
- Texture (loading from PVR format files)
- Sound Engine (originally from Crash Landing SDK demo)
- Resource (file loading)
We rolled our own timing and 2D UI code, as well as Open GL rendering utilities. Oolong's input code is one of its weak points.
The most important modification was stripping down the ModelPOD animation code to not use caching and to pre-compute all bone parent transforms. iPhone turns out to be quite slow at Matrix multiplication, and so we essentially got rid of the bone parent tree on animation load.
In the end, we were able to get about 8500 polygons onscreen at 18-25 FPS and 1 light source. We also squeeze in three light sources with fewer zombies (polys) onscreen.
Level authoring was done in Excel (one row per wave of enemies) and exported to a data file.
Hope that helps!
-
-
-
????Thanks
I stepped through sample oolong code, namely;
"Oolong Engine2\Examples\Renderer\Ported PowerVR Examples\01 POD Geometry"
, and it appears that code is using neither glMultMatrixd nor glMultMatrixf methods. Have you already made these changes to in Oolong Engine (view link) source for iphone? I was thinking that I had to make these changes myself to code at link above?
Could you please clarify?
Regarding the other questions, we wrote our own user-interface code (buttons, sprites, HUD, etc), timing code (mainly for framerate calculation and the framerate-independent update loop), and lower-level OpenGL utilities (rendering circles and spheres, sprites, etc), which were not provided directly by OpenGL or Oolong.
Thanks
Not sure about glFrustrum, we only called MatrixPerspectiveForRH once per frame, so it wasn't a performance bottleneck for us.
And I noticed a big performance gain from using trig lookup tables.
Timing: In example project 01 POD Geometry the timing, I think, is implemented in AppController class
Question1: Is there any documentation to aid me in writing framerate calculation code?
Also, it is stated that a framerate-independent update loop was created; it seems natural to have framerate-dependent updates.
Question2: Where else to place update code if not at end of framerate timer? Is this done because of iPhone peculiarities?
Question3:How would this loop even get invoked via NSTimer or some other technique?
By the way, I am using book [ame="http://www.amazon.com/gp/product/0123737273"]Mobile 3D Graphics: with OpenGL ES and M3G[/ame], and various tutorials (ie NEHE), as reference. I find documentation at apple to be a bit wanting
Thanks!
<Removed because I don't think his comment applies to you>