15-493 Game Programming
Chobits - Project Review
Team Members: David Seneker and Dan (Luisa) Lu
To Prof and TAs: give us space on class directory to story resource files.
and keep the 3ds loader library and sound library on shared space.
1. Work Completed:
A basic world with a player moving around and npc teapots is complete.
control:
- An input file (data/levelname/input.txt) is read in at runtime, and this
file determines all the key bindings for controlling the players. Keys can
be shared between players.
- There are player and camera control toggles to switch between different
modes.
- Several modes of camera behavior have been implemented, including an attached
camera, a detached camera, and a trailing camera.
world:
- Collision detection works. Players and npc's collide with each other and
with the terrain. When there is a collision the players and npcs simply cannot
move any farther in that direction.
- The course file is read in, and determines the layout, look, and characteristics
of the level.
- There's a skybox.
- Terrain is generated from the course file. The world is divided up into
tiles, and a different thing is drawn at every tile.
- The NPC AI exists, but currently it is very simple. The infrastructure for
adding more complex scripts is there.
game:
- You can talk to npcs by pressing the action key. When you do, a dialog box
appears containing the text that the npc says.
- There are two players. You can go to two player mode either by selecting
it at startup or by pressing keys that dynamically add or remove players.
(only the first two work)
- An intro file is read in to determine the slideshow shown at startup. The
slideshow is very simple now, but by modifying the intro file and adding images
we can easily create on that tells the background story. After the slideshow
the user is presented with a menu.
- The main game loop is working, and it processes all the various events that
can happen, including conditions for winning and going on to the next level.
- There is a minimap that displays the locations of the players. The image
in the map is currently unrelated to the course, but any image can be used,
and the one chosen is specified by the course file.
2. Work remaining:
- Make the real level files, get textures, models, and other resources. Design
the layout and look of the game world. Add the story elements.
- Develop the final AI scripts.
- Add frustum culling and other speed optimizations.
- Load 3ds models.
- Add sound.
- Add ways for the two players to attack each other, interact, and compete.
3. Current bottlenecks:
- Debugging little details such as the minimap getting the wrong aspect ratio
when there are two players.
- Getting a 3ds loader and making animated models.
- Collecting resources for drawing everything-right now everybody is a teapot,
buildings are very simple, etc.
4. Realistic timeline:
Before break:
- Clean up the playable demo before Thanksgiving.
Over the break:
- Make 3ds model for player and NPCs (danl)
- Get textures for buildings and other stationary objects (danl)
- Make slide for intro screen (danl)
- Design course map and NPC script (dseneker)
First week after the break:
- Make realistic AI routines modelling people walking around a city.(dseneker)
- Finish the level files and make sure everything works together. (both)
- Get the 3ds loader to work, and replace teapots with animated 3ds models.
(danl)
- Add speed improvements such as frustum culling. (dseneker)
Final week:
- Finish sound. (dseneker)
- Finish the multiplayer battles. (danl)
- Develop additional levels. (both)
Eventually:
- Port it to Windows and Mac OS X.
- If by some miracle somebody gives us a team of artists or a timewarp provides
several extra weeks to work, make 3ds models matching the actual anime characters
instead of using readily available models to approximate them.
-the end-