Open main menu

CDOT Wiki β

GAM666/DPS901 Mesocricetus

Revision as of 09:37, 8 December 2011 by Sdowne (talk | contribs)

Mesocricetus

Project Marking Percentage

Group work:      50% 
Individual work: 50% +    
-------------------------
Total           100%

Repository

Repo ID

https://github.com/ScottDowne/Mesocricetus

Trunk Status

committed by [NAME] / being committed by [NAME]

Team Members

  1. Scott Downe
  2. Grace Simon Batumbya

Email All

Proposal

Overview

We imagine building a 3D maze solving game. The player must successful navigate through the maze. The player will take the first person perspective of a hamster, playing the role of a laboratory rat hamster. The hamster will be equipped with a mining helmet complete with mining light.

Features

User controllers

The keyboard will be used for both navigation and other actions like jumping. The mouse will be used to change the direction the player's camera faces.

Jumping

When the character jumps, they will be able to see over the wall and kind of get an overhead view of the maze they are navigating.

Lights

As the player navigates through the maze, light from their mining helmet will fall on objects that the player is facing. Different areas of the maze will be lit differently with lights on the wall and shadows being cast appropriately

Breadcrumbs (markers)

As the player navigates through the maze, they will have an option to leave a trial of breadcrumbs (markers) that can be used to retrace their movement in the maze. cast as expected.

Sound /3D Sound

Movement of the player will produce a sound that will be in time with the speed at which the player is navigating through the maze. The game will also make use of 3D sound for directional sound. For example if an object behind the player moves, the generated sound will appear to come from behind.

Obstacles

There will be obstacles in the maze that the player must avoid in order to successful beat the maze. Some these may be a hand that picks the user up and moves them to the start position, holes in the floor that the user must jump, booby traps in the floor /walls, etc.

Sketches

Map of the World of the Game

 

Golden Hamster

 

Controls

keyboard and mouse

WASD = forward, left, back, right.

Mouse = look around.

Space = jump.

Hold C = remove collision. (for testing purposes)

XBox controller

D-Pad = forward, left, back, right.

Joysticks= look around.

A= jump.

Hold X = remove collision. (for testing purposes)

To-Do List

Priority 1

Task Status Notes
Maze generation / rendering DONE Generate maze on X-Y axis only
User input control DONE Make camera not fly like a vulture, and lock mouse control to ground
Collision DONE Add collision with floor and wall
Walls and lighting DONE Use shadersFloor and wall should be composed of many triangles
Obstacles DONE Obstacles will be non physical obstacles, like time or player gets tired for various actions.
Time limit DONE Player has a limited time to complete the maze
Dialog box DONE Improve initial dialog box
Jumping DONE Space key jumps, to allow momentary visuals of the maze.
HUD DONE Create a HUD for displaying things like time, and status. Leaving the status open ended on purpose.
Added timer to HUD DONE Create a HUD for displaying things like time.
Toggle collision on and off DONE Holding a key will allow collision to be turned off for debugging purposes.
Add sound to end point DONE Give user hint of end point by having a sound at that point.

Priority 2

Task Status Notes
visibility frustum logic Add logic to framework to only render what the camera sees
alternative maze generation Allow maze to be generated via a text file, or generation seed string
Improve on 3D sound Add echoes i.e. collision with objects
Obstacles (physical) This will be things likes blocks in the maze, holes, doors, etc.
Models Import models for the obstacles, breadcrumbs, or others.
XInput DONE Add support for XBox controller using XInput.

Updates

Maze 1.0
   

Instructor's Comments

  • for lighting to be realistic without using shaders the walls and floor should be composed of many rectangles
  • visibility frustum logic would be quite useful here
  • there is potential here for elaborate work with 3D sound
  • shadows would be difficult to implement without shaders
  • you will need either models of the various object or elaborate textures
    • if you use models then you will need logic to import them into the framework
  • heads up display needs thinking

Any other thing you find necessary