Sorry about the delay in posting this up, but it's up now so I hope that makes everyone happy :)
Source codes have been sent to Chris, Caroline, and Tim earlier on, since then we have already made some great changes so keep posted for our next code review next week!
Note about Xcode projects : If you have problems building our projects (we use iOS SDK
4.0 but it is only included in the latest version of Xcode) , just go to
project settings and change the base SDK to whichever version you have, eg: iPhone SDK 3.2.2 and change the simulator from default of iPad to iPhone.
Why are there two projects?
As you will notice, there are two project files. The reason for this is that Maple is such an awesome programmer that me and James (a.k.a Jammer) were left with nothing more to do, we are still getting our heads around many of the concepts which Maple would consider extremely basic - it's so hard to keep up and even though (in my opinion) we are doing some really cool things, we can't help but feel like we are super-amateurs who are very far behind every time we get a glimpse of his code.
Because of this, we decided we will build our own game, but with slight changes of course - we are still deciding those game mechanic changes as we progress, nothing really set in stone yet but we got some really good ideas.
Hopefully this group of three will come out with two different but still interesting products by the end of this course and we will all be better off for it.
Anyways, on to the....
Progress Report(s)
Project 1 Status - Maple
Majority of the game functionality is in place already -
- The game is running on 3 threads currently
- Game save and load working with local property list files
- Game levels are working, with possibility of over 100 levels - enemies health and damage increases over levels
- Not only do the enemies move across the screen nicely, they all fire their own bullets too. There are also multiple types of enemies, though not yet any such "Boss" enemy
- High scores list is functional, though currently only local - in the long term we may add a global scores list so player can compare his score with score of other people around the world but the effort to benefit ratio is not particularly feasible here
- Can navigate between all the views
- Tutorials view is functional, with some tutorials in there
- Options view is functional, with settings actually being applied in game, though not yet volume controls because there is no audio here yet
- Two-finger gesture recogniser is working (if you do any two finger maneover in-game, it will pause the game and bring up a menu where you can choose to quit that game, save current progress, or resume game
Project 1 - What to do for the coming week
It might be a weeks worth of work for a normal student, but I think Maple might be able to get it all done in a couple hours or so, I have added some extras which would hopefully keep him busy : -
- Get the game running on a real iPhone to identify potential improvement opportunities
- Work on getting the laser beam to look like a laserbeam
- Add sounds for enemies moving across, and all the bullets firing
- If that is all done then start the following "extras" :
- Get collision animations in place (animations for when a bullet hits a tank, a enemy tank crashes into the player tank, when a enemy tank is destroyed, when a player tank is destroyed)
- Implement Boss tanks which spawn in and have the ability to not only shuffle X position but Y position too, they might have the ability to transform into a 3 headed dragon and fire laser beams out of each of their eyes as well as a breath of fire every now and then which burns the terrain a bit
Project 2 - Amrit & Jammer :
Things we have working so far
- Player can move the tank by touching anywhere on the screen, it uses the Y position of the touch to move the tank
- The tank is auto-firing bullets, machine-gun bullets by default. Weapon switching is also working now though we are still working on nicer ways to give different weapons enough difference in property to make it interesting (we don't just want to keep it as simple as a different image, speed and damage)
- Enemies are spawning in but they are all the same basic type of enemies, they also do nothing else besides move along to the other side of the screen - though they do look pretty good. In my opinion, we have handled the way to draw all these objects to the screen in a really nice way, but I guess we really won't find out until we get it all running on the iPhone.
- Pause and unpause work, but it relies on the touch of a button to pause (tap anywhere on screen unpauses) rather than a fancy two finger swipe (we will get there eventually)
- We wasted lots of time arguing over "the most efficient way" to implement collision detection. Now that we look back in it, we should have just implemented our own versions just for the sake of having the functionality - thanks Tim for reminding us "get it working first, optimise it later"
Project 2 - What to do for the coming week
Well we are admittedly not as amazing programmers as Maple, so our work load is significantly lower, but we hope that within a couple of weeks time we can match his efficiency (though probably not his accuracy) :-
- Make a magical method that fires laser beams out of the iPhones camera lens
- Test the game so far on an actual device to make the game works as intended, if not, panic!
- Implement collision detection - for now, any method will do, we can decide on an "efficient" way later
- Implement significant changes to the way different types of weapons bullet's are fired to make it more interesting
- Get the laser beam looking like a real laser beam (a really awesome one!) and try to make it look cooler than Maples one
- If not implement, at least try to decide on a nice scoring algorithm
- If we get all of those done, here is some "extra for experts" ; -
- Make an important decision about what to do with the enemies and possibly implement it, but it really depends on where we want to take the objective of the game. Should our enemies fire bullets? Or should it be more like they just run through in tricky ways (possibly trying to avoid our line of fire) and try to make their way past our tank, into the city to try and steal our collection of computer games and heavy metal music?
- Try to research on the "proper" way to use sound channels with iOS and start planning what sounds we will have, where we will have them, when they will start and stop.
Goals for the entire team for the coming week:
- Get ourselves sorted with SVN
- Keep bugging all parties involved in order to obtain our developer certificates
Regards,
Amrit
The Tank Game Team
EDIT (11:57pm, 07/09/10) : The images are up, they are a bit half-*_*sed but they're up, you can view them at ; -
Maples Magical Tank Game Photo Galleria : http://amritp777.typepad.com/photos/tank_game_project_maple_e/index.html
Amrit/Jammer Unrealistic Tankgame 9000 Sneak Preview : http://amritp777.typepad.com/photos/tank_game_project_amrit_j/index.html