Game: Chobits Team: dseneker and danl ==================================================================== Overview: Chobits is an adventure game based on the anime series of the same title. Each level is an episode or scene from the anime. We try to follow the story as much as possible, using the sequence of events according to the story, and the map of the town story took place in. The first level we designed is based on episode 4, where Chii goes to buy panties for Hideki. You walk around in town, your mini persocon friend guides you toward your goal, you can also talk to NPCs and try to find your way to the panty store. There is also a battle mode (2 players), where Chii fights her sister, the Black Chii. Features include single and multiplayer mode (battle mode), data driven design (level, event, cut scene, map, npc, input), 3D world (based on the original story), animated walking 3D characters, location based event trigger, collision detection, minimap, dialog boxes. You control the main character with the keyboard, default mapping for single player is forward - 8 backward - 5 turn left - 4 turn right - 6 look up - - look down - + camera control : w, s, a, d, r, f, t, g camera toggle - b action - n attack - m ==================================================================== Development summary: Code: ours main intro - display intro screens game - main game loop world - keep track of all component of the scene camera - calculate camera stats input - take input, update camera, player stats course - render map, collison detection events - keep track of in game events (cut scene and sumomo msg) npc - npc AI, render 3DS models minimap - render minimap conversation - render npc dialog box and sumomo dialog box library lib3ds - from sourceforge /afs/andrew.cmu.edu/course/15/493/www/projects/chobits/library config.h vector - from Jim Bruce vector.h, util.h Content: 3DS model - most models were created in poser and edited in 3ds max (a few i found on the web) some animation generated in poser some in max texture - all building textures were taken from screen cap of the anime data - all original game.txt - list all the levels level.txt - resources for the level course.txt - map, generated based on the anime also textures for buildings, player starting position npc.txt - model resources, npc scripts input.txt - key mapping (see doc/input-readme.txt about format) ==================================================================== Key technical challenges: Animating 3DS models - it turned out 3DS format does not support the biped system from 3DSMax charactor studio. Since I already spent a fair amount of time learning and generating biped models, I decided to stick with biped instead of bone system. So I made the model animated by exporting every single frame in the loop into a 3DS model and load each of them. It turns out not too bad, after the first loop, animation is cached into display list. Combining the 2D and 3D graphics - The game makes heavy use of 2D graphics for cut scenes, the minimap, conversations, and other features. Rendering functions had to be ordered to keep the right things in front. A lot of tweaking was necessary to get the 2D graphics aligned properly, especially the text. ==================================================================== Postmortem: Problems: 3DS Model I spent way too much time search for appropriate sample models on the web, and trying to learn 3DS and poser. Even after learning to use them, generating NPC takes way too long. Content in general This was the big bottleneck. Collecting textures and designing levels is an extremely time consuming process, and the nature of the game puts a heavy emphasis on getting the content right. The game is mostly content driven, and we didn't have much time for content. It was necessary to take numerous shortcuts and drop a variety of planned features to get level 1 in a playable state. Culling and LOD We didnt think the final map would be this big, so we didnt bother implementing fustrum culling. Actully occlusion culling would be the most appropriate since we have so many buildings, but we didnt think it would be worth the effort. Though LOD would probabbly help too. In the end we just added culling by radial distance, it's pretty effective just by itself. Successes: Control Input, player control and camera control turned out very nicely. You can remap the keys or disable them how ever you like. You can pick between 3 differernt camera mode, attched mode, detached mode and tailing mode (usually called detached). You can reposition your camera relative to the player. ie put it in the front to make it into FPS mode. Conversations/Events The systems for conversations with NPC's and messages from your mobile persocon worked well. Event triggering is a nice addition to the game content and interactivness. Sumomo messaging helps alot in replicating the feel of the original story where she help guid Chii to her final destination. Though it would be even nicer if we can fully combine NPC and events, and if we have better AI for NPCs. Then we can perhaps replaces the cut scene with the real thing. ==================================================================== Appendix: