* [[..:ik0804| Go to Semester 2]] ==== Title ==== IPhone Application ==== People ==== === Supervisor === * Prof. KING Kuo Chin, === Students === * David Ng * Richard Wong ==== Keywords ==== 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 ^ | {{fyp:ik0804:demo_on_simulator_1.png?326x172}} | {{fyp:ik0804:demo_on_simulator_2.png?326x172}} | ^ Week 6 ^ Week 7 ^ | {{fyp:ik0804:demo_on_simulator_3_2.png?326x172}} | {{fyp:ik0804:demo_on_simulator_4.png?326x172}} | ^ Week 9 & Week 10 ^ | {{fyp:ik0804:demo_on_simulator_5_1.png?326x172}} | ==== Developers' Blog ==== * [[..:ik0804:blog| September]] * [[..:ik0804:blog2| October]] * [[..:ik0804:blog3| November]] ==== Existing game reviewed ==== | ^ [[http://www.demiforce.com/games.html|Trism]] ^ [[http://www.gameloft.com/iphone-games/diamond-twister/|Diamond-Twister]] ^ [[http://mobile.iplay.com/Games/Jewel-Quest-II/|Jewel Quest® II]] ^ [[http://mutekicorp.com/lineshift.html|LineShift]] ^ ^ Rating | 4+ | 4+ | 4+ | 4+ | ^ Price | US$2.99 | US$1.99 | US$2.99 | US$0.99 | ^ Graphic | 2D | 2D | 2D | 2D | ^ Sound | ✔ | ✔ | ✔ | ✔ | ^ Accelerometer | ✔ | ✔ | ✘ | ✘ | ^ Multi-touch | ✘ | ✘ | ✘ | ✘ | ^ Network | ✔ | ✘ | ✘ | ✘ | ^ Language | English | English \\ French \\ German \\ Italian \\ Japanese \\ Spanish | English | English | ^ Storyline | ✘ | ✔ | ✔ | ✘ | ^ Saving | ✔ | ✔ | ✔ | ✔ | ^ Pause | ✔ | ✔ | ✔ | ✔ | ^ 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 | ==== Schedule ==== 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 | ==== History ==== ^ 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 32x32 to 40x40 \\ - 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. [[..:ik0804:blog2| 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:ik0804.ppt| presetation slides}} * {{fyp:ik0804:ik0804.pdf| Term 1 report}} ==== References ==== * iPhone Development Center http://developer.apple.com/iphone/ * iPhone Development Central http://www.iphonedevcentral.org/home.php * OpenGL Man Pages in HTML format http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/