Who: André Malan, Daniel Richie, Jré Sarenac What: Telepathic assassin role-playing game. Features: · Collision detection: Used against the character/NPCs and the environment for movement as well as for combat. · Advanced rendering effects: Environment mapping and billboarding. · Level of detail: Trees. · Particle systems: Telepathic effects are displayed using particle systems. · Animation: Player/NPC movement and physical attacks. These include: walking, running, searching, dying, attacking, getting hurt and concentrating during a telepathic ability. How: · animation.h - Tells the program, rotation amounts, start/end times, and which body part to animate. · billboarding.h - Cylindrial billboarding. · body.h - Main file for bodies. Body is a recursive structure. Attached closely to animation.h. · collisions.h - checks if any min’s > max’s, triangle to cube check on each axis separately and if they’re inside each other. · controller.h - Moves player around. Keyboard/mouse controls. Collision detection between the environment and NPCs. · exarray.h - Utility object. Self expanding array. · fileobj.h - Loads obj files and compiles them into display lists. · filetexture.h - Loads texture files and creates openGL texture files. · gamemaster.h - Starts, stops and does everything. · matrix.h - Matrix inversion and multiplier. · menu.h - Navigation between the title, instructions and credits screens. · npc.h - Loads NPC files. Updates draws using collision detection. Path structure so we don’t have to use collision detection between the NPC and the environment. · npcmaster.h - Keeps track of all NPCs so everything can be updated simply. · particles.h - Used when in detection mode. Basic particle algorithms. · picking.h - Uses a closest-to-you function. · player.h - Controls spell activation usage. · scene.h - Loads environment (including doors, lighting, quads and objects (opaque and transparent)). · searchsort.h - For sorting transparent objects so we can draw them front to back. · skydome.h - Draws the skydome in the first level. · slideshow.h - Show off different memories when doing a memory pull. · spell.h - Utilities for spells. · terrain.h - Loads environment maps. · terrainmaster.h - Keeps track of terrains. Uses streaming when in the exterior. · text.h - Draws text to the screen. How To: · wasd - movement · shift - run · shift - body takeover (when in spell mode) · space - open doors · left click - sword attack · right click - spells · passive mouse - looking around External Resources: · http://tlighthouse3d.org · http://tdaz3d.com · http://tposer.smithmicro.com Sources: · http://tog.acm.org/resources/GraphicsGems/gems/BoxSphere.c · http://www.cs.lth.se/home/Tomas_Akenine_Moller/code/ · http://jgt.akpeters.com/papers/KarabassiEtAl99/collision.html Additional Notes: The win/lose conditions are fully functional. Everything else is working correctly (to our knowledge).