FYP IK0801 iPhone Games I (Phase 1)

(Phase 1 | Phase 2)


iPhone Gaming



Game development, excellent programming skills, Creative thinkinig.


iPhone, computer graphics, image processing, mini games

Project description

  • Whac-A-Mole (打地鼠)

We design to make a game that idea is come from Whac-A-Mole. In the traditional Whac-A-Mole, moles will come out randomly in nine holes. And user has to hit it in a limited time. But our design is much different from the traditional one. The only common is the enemy will come out randomly but this time the enemies are not come from 9 holes. Moreover to kill the enemy, instead of simply “touch” (hit) enemy to kill it, our design is to chop it. That is using the finger to move on the screen in order to perform a cut-like action to attack the enemy. Just like using a blade to cut/chop the enemy.

The game is start up with enemies come out randomly and user kill them until all enemies in each stage is all killed or user loss (may be HP of user comes to zero).

  • Maze Battle

The game is now come to another play. With the same battle with the game descripted above, now all the battle is playing in the maze instead of just “stand” here and hunt the monster. In a maze, player need to run through the maze and there is a random probability that there will be a battle.

This game is not just a mini game now, and with level intergrated in the game and may be different stage later. It will become more challenge.

  • The Great Maze

This is the name of our game. With the basic whac-a-mole like battle mode, intergated with a maze platform run through. This is a first view maze game with level and battle.


This is a game manuel that giving a guildline for every user so that they can easily understand the game play. In this game instruction, nearly all part of of the game will be explained. It is highly recommended that player should read this manuel before playing the game.

Game instruction file : game_instruction.zip

Game screen

Week Week 1 : Draft designWeek 2 : skeleton screen (UIButton)
Draft background 1background 2
Week 3 : skeleton screen (Open GL) Week 4 : Maze Engine Demo
Use Open GL Use Object Texture2D Maze engine screen 1 Maze engine screen 2
Week 5 : Mase Week 6 : Battle
Maze screen 1 Maze screen2 Maze screen 1 Maze screen2
Week 7 : Skill Week 8 : Main menu
Skill Skill Complete MenuGame over
Week 9 : New rival - bat Week 9 : Boss
New monsterBoss sealBossGmae finish
Week 11 : Deep of view and score board
score boardDeep of view


This part is to compare all similar game in the iTunes. This gives us a sharp idea how can design a game which can attract more iPhone users.


A Wack a Gopher CLOCKBLOCK WhaKAPal Monkey Slap Beavers! GhostEX Dactyl
Level ✔ (9) ?
Sound ?
Score Board ? ? ?
Multi Touch ? ? ?
Background Real Picture Animation Customized by user Animation Animation Animation (low quality) Animation
Languages English English English English 6 Languages English English
Price $0.99 $0.99 $0.99 $1.99 $1.99 $0.99 FREE
Rating ★★ ★★★1/2 ★★★1/2 ★★★★ ★★★1/2 ★★ ★★★★
Summary (Brief)

It seems that the graphic of the game is directly related to the game rating. But the special feature of the game is the most important. Only “WhakAPal” has special feature - customized background and mole by user.

Maze Game

PAC-MAN JRP App AZ MazeFinger Fleck Maze and Marbles Laze
Level ✔(20)
Sound ? ? ?
Score Board ? ? ? ? ? ?
Multi Touch ? (necessary?) No Touch event No multi touch No multi touch No Touch event No multi touch
Background Animation 3-D Graphic Animation Animation 1-D Graphic Sharp Graphic
Languages English English Multi-Language English English English
Price $7.99* $2.99 FREE $4.99 $0.99 $1.99
Rating ★★ ★★★1/2 ★★★★1/2 ★★★★ ★★★1/2
Comment It take Accelerometer to control, it great but the price let the rating down It use Accelerometer control only. And it is in 3-D design It has a very good visual effect and sound that may used as reference for our game. It is an other type of maze game that different from the normal. They have a good animation and a good balance of game. Also the new play style is also a good reference It seems a terrible game with bad graphic and boring play. I think it is a good idea game. This is something simple in real world but fun in game.

REMARKS: There is a game called Ms. PAC-MAN which is identical to PAC-MAN. One should be mentioned is two games are developed by same company!

REMARKS 2: The rating of Maze and Marbles is only given by one user. But I think it is fair enough to give this rating.

* Updated


Week1 FYP Start up. - Design the FYP schedule .
- Design what game we want to design.
Week2 Study iPhone SDK,
Story line
- ObjC programming:
1. Touch
2. Open GL ES
3. SQLite
- Rules.
Week3 Study iPhone SDK,
- ObjC programming
1. Touch
2. Open GL ES
3. SQLite
- Character design
Week4 Study iPhone SDK,
- ObjC programming
1. Touch
2. Open GL ES
3. SQLite
- Character design
Week5 Study iPhone SDK,
- ObjC programming integrate with
1. Touch
2. Open GL ES
3. SQLite
- Character design
Week6 Adjust Schedule and game play
Week7 Programming - Character and Screen control:
1. Animation of character.
2. Events.
- Screen :
Integrate the character and screen
Add: Hero Skill set
Week8 Programming - Character and Screen control Add:Monster images design.
Week9 Programming - Main login cotrol :
1. Level control.
2. Time control.
3. Rules.
Add: Sound Control.
Adjust level data.
Week10 Programming - Main login cotrol Add:Complete the game flow.
Week11 Programming - Main login cotrol -
Week12 Buffer of Programming
Week13 Refine & Documentation - Documentation.
- Adjust game play and logic.
Week14 Refine & Documentation - Documentation.
- Adjust game play and logic.


Week Content Source Status
Week1 1. We have design our game play.
2. Screen design.
- We try to implement the features of touch in coming weeks. - PLANNING
Week2 1. Use the Interface Builder to build game skeleton.
- Use the Enabled and Alpha properties of UIButton to show and hidden object.
- Use random function rand() to add some randomization to the game.
- Use NSTimer and STimeInterval to implement the game loop.
- Use UIImage and UIImageView to implement the dynamic background.
- Implement the touchesBegan,touchesMoved,touchesEnded method to get the finger positions.
2. To familiar with the SDK, Interface Builder and ObjC. 
3. Begin the graphic style design.
source DONE
- 1. We will use Open GL to implement the game skeleton. (UIButton can't make the alpha background partly)
2. Graphic design.
-try to draw the character.
- The background of UIButton can't show the alpha channel when the image have a transparent background. We will solve it by using Open GL with texture mapping. - PROBLEMS
Week3 1. Use the Open GL to build game skeleton.
- Use UIImage prepare for the Texture.
- Use glGenTextures to generate the number of Texture pointers.
- Use glBindTexture bind the pointer to the name GL_TEXTURE_2D .
- Use glTexImage2D assign the image data address to the texture pointer.
- Use glEnable(GL_TEXTURE_2D) and glDrawArrays to draw the vector array in the view.
2. Use the Texture2D object to build game skeleton (Version 2).
- Use drawAtPoint and drawInRect can draw a image easily.
3. UIImageView can be implement the transparent background. (It is easily way to build a 2D game.)
4. Add some animation in the game.
5. Since we know more about the SDK, The game flow may be modified.
- We have a new idea of game play come out. Allow the user to explore the maze and encounter the monster attack randomly. When enter the battle mode it will enter the mini game of Whac-A-Mole.
source(OpenGL) source(Texture2D) DONE
- In the coming week we will move into data management.
- SQLite (Add, Update, Delete).
- Integrate with previous version.
- 1.EAGLView can't access UILabel in Weeek3AppDelegate
- Solution: Weeek3AppDelegate to read the value from EAGLView and assign the value to UILabel in a specific interval.
2. Can't draw the background in Open GL.
- Solution : Use Object Texture2D and set Orthogonal view.
Week4 1. Confirm the game play.
- Main character will walk through the maze to find out the boss.
- Control :
* touch up to walk forward.
* touch down to walk backward.
* touch left turn left.
* touch right turn right.
2. Maze engine version 0.1 release.
- include 2 classes. They are maze and room.
source DOEN
- 1.Integrate the mzae with battle field.
2. Data management.
-save status.
Week5 1. Integrated the mzae with battle field.
- Random encounter the monster attack. Use an array to define the attack rate.
- Show monster damage after hero attack.
2. Improve the mini map and Maze implementation.
- Mini map can display the size of maze more then 10 X 10 by using sliding window.
- Mini map size changed from 10 X 10 to 11 X 11.
3. Draw the maze views.(cave style).
source DONE
- 1. Level control.
- Implement the hero attribute such as HP,MP,Attack and Defense.
- Implement the monster attack.
2. Adjust the animation timer and introduce monster animation.
3. Adjust Schedule and game play.
Week6 1.Introduce Hero class and Monster class.
- Implement monster properties:
* HP : life of monster.
* ATT : the damage value
* DEF : defense value.
* EXP : the value of EXP hero will great after kill this monster.
* MONEY : the money value hero will great after kill this monster.
- Implement hero properties :
* HP bar - show the current HP level.
* MP bar - show the current MP level.
* Level : hero will depend on the EXP value to increase the level.
* EXP : after kill the monster will grant an EXP value.
* MONEY : the money will great from monster and use to buy items.
- 1. Try to implement hero skill.
- use the touch screen to draw some symbol to trigger the skill event.
2. Implement Sound event.
3. Multi-Level Maze.
Week7 1.Introduce some Skill for hero.
- Fellow the pattern that show on screen can then use skills attack.
- Larger hurt to monster when using skills.
- Makes the game more interactive.
- 1. Improve the skills making.
2. Continue to introduce sound in the game.
- 1. The current skills attack has a lot restrictions, further design is needed.
2. Difficult to find some sound sample which used to added into the game.
Week8 1. Mulit-level maze.
2. Introduce event control
- Heal event
- Up level and down level event
- 1. Complete game flow to make it as a complete game.
- Rules/conditions for game and also for end/objective.
- 1. Simulator cannot play sound therefore cannot test whether we have sucessfully embedded sound into the game or not. - PROBLEMS
Week9 1. Introduce 4 new objects:
* bat
* batkeeper
* batSoldier
* boss
2. Complete the game flow and
condition of win and lose:
- Win: Kill the boss
- Loss: HP comes to zero (Hero die).
3. Introduce different kind of monster and their images.
4. A new event type “complete the maze”.
- Document - PLANNING
Week10 1. Introduce deep of view.
2. Online score board.
- use php and mySQL to store the score.
3. Using sqlite3 to store the state of the game.
- Document - PLANNING


fyp/ik0801/phase_1.txt · Last modified: 2009/02/03 01:39 (external edit)     Back to top