IPhone Application



  • Prof. KING Kuo Chin, <Irwin king_AT_cse.cuhk.edu.hk>


  • David Ng <hpng6_AT_cse.cuhk.edu.hk>
  • Richard Wong <hkwong6_AT_cse.cuhk.edu.hk>


IPhone application, mini game

Project description

Owing to the rapid growth of the microprocessor technology, the microprocessor can be made in smaller size with lower cost, and therefore it brings many smartphone products to light. Apple, as a big company in Computer Industry, publishes IPhone which consists of many awesome features and they attract lots of people attention. IPhone not only opens up the smartphone market, but also creates a new climate of developing IPhone applications.

In the project, we are going to developing a mini game called “Monster Manager” (MM). In general, there are different kinds of monsters in the game and they group around and form a large square. Player should move the monsters in some particular way so that monsters with the same type are grouped. This game is very challenging as players must recognize all possible patterns as soon as possible. The game provides many levels so that players would not feel bored very quickly, and this mini game can properly attract female players and is worth to spend in leisure time.

Game Images

First semester:

Week 4 Week 5
Week 6 Week 7
Week 9 & Week 10

Developers' Blog

Existing game reviewed

Trism Diamond-Twister Jewel Quest® II LineShift
Rating 4+ 4+ 4+ 4+
Price US$2.99 US$1.99 US$2.99 US$0.99
Graphic 2D 2D 2D 2D
Language English English
English English
Others - 3 game modes
- online scoring
- triangular blocks
- colorblind support
- 8 game modes
- Dazzling visual effects
- Video trailer
- 50 puzzles - 3 difficulty levels
- source table


Since we determine to abandon the teletable project at the end of the first week, there is no any arrangement on week 1.

Week2 - Designing major features
- studying Objective-C programming language
Week3 - studying Objective-C programming language
- studying IPhone OS programming
- Designing major features
Week4 - studying IPhone OS programming
- designing algorithms
Week5 - Implementation(GUI)
Week6 - Implementation(GUI)
Week7 - Implementation(game logic)
Week8 - Implementation(game logic)
Week9 - Implementation(game logic)
Week10 - Implementation(game logic)
Week11 - Implementation(create images for the game)
Week12 - Implementation(special effect, e.g. sound, animations)
- Testing and Debugging - Documentation


Week Work
Week2 - Study Objective-C programming language
Week3 - Study IPhone OS programming guide
- Game design
Week4 - Write some codes to show the game presentation on IPhone
- Review a IPhone game called Trism which has some common features with our game
Week5 - Extend our program code by adding and modifying classes
- Increase the size of each monster image from 32×32 to 40×40
- Make all images used in game like cartoons
- Write some code on single touch handling
- Slightly modify the current game rule in order to remove some drawbacks of the current one
Week6 - introduces arrows to tell players how to shift monsters in the game
- add more monsters with different colors
Week7 - The current game rule is reviewed and a new and better one is introduced. More on here .
- Decrease the width of the frame from 40 to 20. one additional row and column are added.
Week8 - Design and implement an algorithm to initialize the position of monsters inside the frame. This algorithm can generate a map (the arrangement of all monsters) that no more than two monsters with the same type are adjacent with others along the same line.
- Implement the rotation animation.
- Remove the classes that used in our last game rule design, such as Arrow.m
- Try to use some tool on the web to find a set of color that perfectly match with each other; This can significantly improve the attractiveness of the game.
Week9 & Week10 - find out a bug (some thing related to >= and ⇐)
- Implement the algorithm to find out a match(es). In fact, this algorithm is similar to the one that initialize the position of monsters, as both of them aim to find out matched monsters.
- Create several labels to display the timer, the current score and the life left.
- implement the animations that indicate matched monsters and shows how they change to new types.
- add a game rule that once players succeed find out a match, the CPU will automatically pick up another monster as the center of next rotation, and then perform a clockwise rotation for player. This process continue until there is no any matches after the recent rotation.
- We are thinking whether it is a good idea to allow players to command monsters to perform both clockwise and anti-clockwise rotation, or just allow clockwise rotation. If both rotation direction is allowed, the difficulty of the game decrease. However, it gives player more freedom during playing.
Week11 - As there are only two weeks left, and we need to work the the documentation, therefore, we plan to stop working on the implementation of the game. We think that this approach is fine as the majority of the main features of our game are implemented successfully. (Things not implemented: timer, level settings)
- A icon and a loading screen is made.
- the game now support both clockwise and anti-clockwise rotations.
- shaking animation is added to indicate the matched monsters.

Term 1 Report


fyp/ik0804/sem1.txt · Last modified: 2009/02/04 09:20 (external edit)     Back to top