Game Name Underworld
Development Team Parhaum Toofanian (ptoofani AT andrew)
Denise Varga (dvarga AT andrew)
Game Description Underworld will be a single-player, multi-level dungeon game with a third-person overhead perspective, where the player controls a character that journeys through many areas and kills monsters in order to find puzzle clues, money, keys, and health/strength/defense boosts. There will be an overall storyline with an end-goal resulting in “beating” the game. Clues will guide the player to solving each level to get to the next level. Obtaining access to new areas on a single level will be based on finding “keys” or paying tolls, which requires killing mobs to gain coins. Solving the puzzles requires finding puzzle pieces and placing them in the correct order to solve the puzzle and advance to the next level. There will be a limited number of monster types and a limited number of weapons and spells. Player death is possible. And places the player at the beginning of the current level.
Game Features
  • Single-player mode
  • Four levels to explore in the game
  • Two or three character classes
  • Dungeon maps and tile sets
  • Variety of items, magic, and skills
  • Randomly generated monsters
  • Storyline guides player through game
Technical Features
  • Overhead view of 3-D world with some 2-D elements
  • Transparency to prevent world objects from obscuring player
  • Light sources used in rendering
  • Animated player character
  • Player and enemy AI using path finding on the dungeon grid
  • Customizable, data-driven combat engine for calculating attacks, defense, and damage totals
  • Data-driven map and level editor allowing texturing and layout customization
  • Frustum and occlusion-culling via quad trees
Implementation Plan Original source code and content that will be newly developed during the semester will include the following:
  • Character animation routines
  • All artificial intelligence routines
  • Save/load game routines
  • Map/Level Editor
  • All game maps, models, sounds, and other game data
  • User interface displays
  • Puzzles, items, and interactions with environment
  • Monster database
Source code and content acquired and used from outside sources include the following:
  • Brett Porter’s Milkshape3D model loading library
  • Textures from http://www.vb3d.com/Textures.html
Source and content previously developed:
  • Homebuilt Vector class originally for lab 1, modified and improved through and past lab 2 (contains functionality for storing float x,y,z coordinates, performing dot and cross products, some mathematical and comparison operators)
  • Homebuilt rotator class originally for lab 1, modified slightly for lab 2 (contains camera rotation routines to rotate around a given axis or passing in float angles to rotate around the coordinate axes)
  • Homebuilt quadtree class originally for lab 2, to be modified to suit needs (contains functional but somewhat specialized course quadtree storing vertices and textures)
  • Homebuilt frustum class originally for lab 2, to be modified to suit needs (contains frustum calculations for camera given viewport)
Schedule Underworld project will begin in March of 2004 to meet a May 2004 rollout. The major milestones of the project are the following:
  • 19 Mar: Project kickoff
  • 06 Apr: Milestone 1: Playable game prototype (map, player moving, some mobs) checked in to CVS along with web page update.
  • 11 Apr: Dungeon levels complete, AI pathing working.
  • 20 Apr: Milestone 2: \"Feature-complete\" game, all major functionality in place. Checked in to CVS along with web page update.
  • 29 Apr: Feature freeze, wrap it all up
  • 05 May: Game rollout