====== FYP IK0801 iPhone Games I (Phase 2) ====== ([[fyp/ik0801/:Phase 1]] | Phase 2) ====== Title ====== iPhone Gaming ====== People ====== Supervisor: [[king@cse.cuhk.edu.hk|Prof. KING Kuo Chin, Irwin]] Student: [[mhli6@cse.cuhk.edu.hk|Li Man Ho]], [[tlyu6@cse.cuhk.edu.hk|Yu Tak Leung]] ====== Prerequisite ====== Game development, excellent programming skills, Creative thinkinig. ====== Keywords ====== iPhone, computer graphics, image processing, mini games ====== Project description ====== * New and different game - The Great Maze In this semester, we nearly design another game instead of continue to develop last semester game. Last semester we successfully build a 2D maze game with battle. But this semester we never satisfy with the 2D game. Therefore we implement it to a 3D game. With the technique that accumulate last semester, we change the base model of maze from 2D to 3D, this benefit to smooth the transition during the movement in the maze. Moreover, we change the game play a little bit. Instead of run through the maze and hunting monster, the new aim is to hunt the treasure in the multiple level maze. In the maze , there may be some trouble for passing one place to another. In this time, user may come to some mini games, to finish different target of mini game in order to continue run in the maze. The mini game may different any times and different mini game may need different technique. This added an interest on the game. And with different requirement of mini game, different feature of iPhone may needed. ====== User Guide ====== The user guide gives guide to user how to play the game. And it also explain the screen item as well as some demonstrate how to play a mini game. It is recommended to read this before play the game. {{:fyp:ik0801:3dmaze_user_guide.pdf|}} ====== WC Statistic ====== Sound Engine Lines Words Characters 38 113 1054 GBMusicTrack.h 59 395 2693 SoundEffect.h 201 840 6598 GBMusicTrack.m 99 562 4020 SoundEffect.m ----------------------------------- 397 1910 14365 total 3D Engine Lines Words Characters 489 1305 14057 CCMD2Model.cpp 87 203 1585 CCSprite.cpp 58 89 808 CCTexture.cpp 236 561 6257 CCMD2Model.h 36 83 617 CCSprite.h 33 63 581 CCTexture.h 115 636 4777 Texture2D.h 95 262 2027 Vector3D.h 17 47 348 Wrapper.h ----------------------------------- 1166 3249 31057 total Game Classes Lines Words Characters 32 65 591 Cross.h 76 210 1830 EAGLView.h 26 53 492 Level1_1.h 26 53 473 Level1_2.h 26 53 473 Level1_3.h 29 57 529 Level1_4.h 28 62 567 MiniGame.h 71 168 1811 ModelControler.h 33 69 696 RubiksCube.h 28 55 466 WhacAMole.h 22 48 396 _dMazeAppDelegate.h 17 38 336 accelerometerDelegate.h 28 75 681 imgControler.h 16 36 267 template.h 156 341 3782 Cross.mm 370 886 10285 EAGLView.mm 293 1097 8361 Level1_1.mm 242 991 6677 Level1_2.mm 210 886 5863 Level1_3.mm 312 1181 8934 Level1_4.mm 72 156 1470 MiniGame.mm 487 1023 10750 ModelControler.mm 205 509 5772 RubiksCube.mm 101 236 2506 WhacAMole.mm 39 73 694 _dMazeAppDelegate.mm 36 102 1073 accelerometerDelegate.mm 48 124 1011 imgControler.mm 68 532 1920 template.mm ---------------------------------------------- 3097 9179 78706 total ====== Game screen ====== ^Week| Week 1 | Week 2 | ^ | - | - | ^Week| Week 3&4 | Week 5 | ^ | {{:fyp:ik0801:p2week4_screen.png?200x100|3D Maze}} | {{:fyp:ik0801:p2week5_screen.png?200x100|3D Maze}} | ^Week| Week 6-7 | Week 8 | ^ | {{:fyp:ik0801:p2week6_2_screen.png?200x100|3D Maze}} | {{:fyp:ik0801:p2week8_screen.jpg?200x100|3D Maze}} | ^ | {{:fyp:ik0801:p2week6_screen.png?200x100|3D Maze}} | {{:fyp:ik0801:p2week8_screen2.jpg?200x100|3D Maze}} | ^Week| Week 9 | Week 10 | ^ | {{:fyp:ik0801:p2week9_screen1.jpg?200x100|Mini game}} | {{:fyp:ik0801:p2week10_1_screen.jpg?200x100|Mini game}} | ^ | {{:fyp:ik0801:p2week9_screen2.jpg?200x100|Mini game}} | {{:fyp:ik0801:p2week10_2_screen.jpg?200x100|Mini game}} | ^Week| Week 11 | Week 12 | ^ | {{:fyp:ik0801:p2week11_screen1.jpg?200x100|Mini game}} | - | ^ | {{:fyp:ik0801:p2week11_screen2.jpg?200x100|Mini game}} | - | ====== Schedule ====== ^ Week2 | FYP Review | - Design the FYP schedule .\\ - Review the game design and features.| - | ^ Week3 | Sound | - Background music. \\ - Effect sound | - | ^ Week4 | Complete Story | - To complete the game story.\\ 1. add a town screen. \\ 2. item system. \\ 3. level of maze. | 3D maze implementation. | ^ Week5 | Complete Story | - To complete the game story.\\ 1. add a town screen. \\ 2. item system. \\ 3. level of maze. | 3D maze implementation. | ^ Week6 | Complete Story | - To complete the game story.\\ 1. add a town screen. \\ 2. item system. \\ 3. level of maze. | Maze misc - "stage" task | ^ Week7 | Map Events | - Event to trigger a mini game. \\ - mini apply more features of iphone - (multi-touch). | Maze misc - items | ^ Week8 | Map Events | - Event to trigger a mini game. \\ - mini apply more features of iphone - (multi-touch & motion sensor). | Maze misc - level setting | ^ Week9 | Map Events | - Event to trigger a mini game. \\ - mini apply more features of iphone - (motion sensor). | - | ^ Week10 | Map Editor(pending) | - Try to implement map editor | - | ^ Week11 | Map Editor(pending) | - Try to implement map editor | - | ^ Week12 | Appshop & Report | - Put the game in App Store and prepare for the report. | - | ^ Week13 | Appshop & Report | - Bug fixing and improvement | - | ^ Week14 | Appshop & Report | - Bug fixing and improvement | - | ====== History ====== ^ Week ^ Content ^ Source ^ Status ^ | Week2 | 1. Review the project.\\ 2. Schedule planning. | - | **DONE** | | - |Sound implementation. \\ 1. Background music. \\ 2. Effect sounds. | - | PLANNING | | Week3-Week4 | 1. Introduce background music. \\ 2. introduce effect music. \\ 3. MD2 model loader. \\ 4. Introduce open source game basic APIs. \\ 5. 3D model learning. \\ - 3D model creation by 3D Studio Max. \\ - 3D Studio Max texture mapping \\ - 3D Studio Max plugin MD2 exporter and texture exporter. \\ | {{:fyp:ik0801:3dmazeweek4.zip| source}} | **DONE** | | - | 1. Map control. \\ - import phase 1 stuff to new project. \\ - maze border bounding. \\ 2. Texture Mapping \\ - continue to learn the 3D Max Texture mapping skills. | - | PLANNING | | - | Low quality of textures... | - | PROBLEMS | | Week5 | 1. Implement the 3D maze border bounding. \\ 2. Mini map migration. \\ 3. Level change. (current stage two level available). \\ 4. State bar| [[http://y-diva.com/fyp/source/3dMazeWeek5.zip|source ]] | **DONE** | | | 1. Draw enemy models. \\ 2. Draw levels \\ 3. Implement Battle | - | PLANNING | | Week6-7 | 1. Improve the texture display. \\ 2. make the model more realistic \\ 2. implement "stage" instead of battle. user need to complete a "stage" task to pass it. | [[http://y-diva.com/fyp/source/3dMazeWeek6.zip|source[unstable] ]] | **DONE** | | - | 1. Solve the unstable problem. \\ 2. implement another "stage". \\ 3. Draw level | - | PLANNING | | - | 1. unstable object rendering.| - | PROBLEMS | | Week8 | 1. Test on read device. \\ - adjust moving speed. \\ - refresh rate. \\ 2. introduce trap event. \\ 3. 3 new maps(with sky) \\ 4. development map generator. | [[http://y-diva.com/fyp/source/3dMazeWeek8.zip|source]] \\ [[http://www.y-diva.com./fyp/genMap.php|mapGen(v1.0)]] | **DONE** | | - | 1. Map development. \\ 2. Mini game development. \\ 3. improve map generator. | - | PLANNING | | Week9 | 1. Introduce two new mini games. \\ 2. improve the map generator. | [[http://y-diva.com/fyp/source/3dMazeWeek9.zip|source]] \\ [[http://www.y-diva.com./fyp/genMap2.php|mapGen(v1.1)]] | **DONE** | | - | 1. Add animations. \\ 2. improve map generator. | - | PLANNING | | Week10 | 1. Introduce particle system. \\ - fire particle. \\ - snow particle. \\ 2. improve sense of menu buttons. | [[http://y-diva.com/fyp/source/3dMazeWeek10.zip|source]] | **DONE** | | - | 1. Add animations. \\ 2. improve map generator. \\ 3. complete game flow. | - | PLANNING | | Week11 | 1. Introduce in game tutorial. \\ - Introduce item system. \\ - System optimization. | [[http://y-diva.com/fyp/source/3dMazeWeek11.zip|source]] | **DONE** | | - | 1. Handle memory leak. \\ 2. complete game flow. | - | PLANNING | | - | 1. not enough memory to allocate for all resource in same time. | - | PROBLEM | | Week?? | 1. Complete story. \\ 2. Preferment optimization. \\ 3. Opening/Ending animation. | [[http://y-diva.com/fyp/source/3dMazeFinal.zip|source]] | **DONE** | ====== Reference ====== [[http://www.cocoachina.com/bbs/|Cocoa China]] [[http://developer.apple.com/iphone/|iPhone Dev Center]] [[http://www.waylon-art.com/uvw_tutorial/uvwtut_01.html|UVW Mapping]]