Ok, so since I’ll be getting an iPhone in about two weeks, I started to digg around what could be done, in terms of game development on the device.
There is actually a pretty good set of tools and apis there, so I decided to give it a shot.
This will be a short project, that I’ll be updating as it develops. If i am really lucky, there might be a My First iPhone Game type of tutorial at the end of it.
Every game needs a rough concept, before it can be developed, and since this project is mainly to get my feet wet, let’s keep this as simple as it gets.
- The Player controls a guy in a 3D World from a third-person “Over The Shoulder” view.
- The Player can move around in the world, jump, crouch and hit things, as well as move the camera
- The world is a very small level. Basically, there is one room, with a bunch of stairs and a pit. There is a badguy in one of the corners, that the player can attempt to kill
- To manage state on the iOS device, the engine will be driven by data objects, that can store any data update directly to disk on the fly
- When a new game is started from the game menu, the engine will run a configurable bunch of videos, before dropping the player into the world.
I really don’t know if that is to much or to less, to start playing around with the device, but at least that is a starting point to work from.
These models need to have a common interface, that allows to handle the persistence of the models and there needs to be a persistence controller, that takes care of loading and storing instances of the various models.
The Game Loop
The precious game loop.
Since I am a real fan of keeping things as simple, as possible and extending as needed, we will start with the most basic of all basic game loops we can think about:
The only thing to note here, is that at the end of each iteration, the game gets a chance to manage persistence and store the state of any game object.
This is due to the immediate paradigm of the iPhone.
That is all for now. I know that this is extremly rough, but I work best, when I get to do fast progression and expand the concept on the go.
Now the homework for me is to watch some more iPhone dev. videos and play around a bit more with that beast, that is ObjC.