Difference between revisions of "GAM666/DPS901 Mesocricetus"

From CDOT Wiki
Jump to: navigation, search
(Moderator's - Instructors Comments)
 
(26 intermediate revisions by 3 users not shown)
Line 11: Line 11:
 
== Repository ==
 
== Repository ==
 
=== Repo ID ===
 
=== Repo ID ===
 +
===SVN===
 +
svn://zenit.senecac.on.ca/dps901_113rep6
 +
===GitHub===
 
https://github.com/ScottDowne/Mesocricetus
 
https://github.com/ScottDowne/Mesocricetus
 
=== Trunk Status ===
 
=== Trunk Status ===
Line 16: Line 19:
  
 
== Team Members ==  
 
== Team Members ==  
#[mailto:sdowne@learn.senecac.on.ca Scott Downe]
+
#[mailto:sdowne@learn.senecac.on.ca?subject=dps901-gam666 Scott Downe]
#[mailto:gsbatumb@learn.senecac.on.ca Grace Simon Batumbya]
+
#[mailto:gsbatumb@learn.senecac.on.ca?subject=dps901-gam666 Grace Simon Batumbya]
 
[mailto:sdowne@learn.senecac.on.ca,gsbatumb@learn.senecac.on.ca?subject=dps901-gam666 Email All]
 
[mailto:sdowne@learn.senecac.on.ca,gsbatumb@learn.senecac.on.ca?subject=dps901-gam666 Email All]
  
 
== Proposal ==
 
== Proposal ==
 
===Overview===
 
===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. The hamster will be equipped with a mining helmet complete with mining light.
+
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 <del>rat</del> hamster. The hamster will be equipped with a mining helmet complete with mining light.
 
===Features===
 
===Features===
 
====User controllers====
 
====User controllers====
Line 30: Line 33:
 
====Lights====
 
====Lights====
 
As the player navigates through the maze, light from their mining helmet will fall on objects that the player is facing.
 
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  
+
Different areas of the maze will be lit differently with lights on the wall <del>and shadows being cast appropriately</del>
 
====Breadcrumbs (markers)====
 
====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.
 
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.
Line 40: Line 43:
 
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.
 
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===
 
===Sketches===
 +
==== Map of the World of the Game ====
 +
[[File:2011-10-04 12.58.23.jpg|200px]]
 +
====Golden Hamster====
 
[[File:2011-10-04 12.59.11.jpg|200px]]
 
[[File:2011-10-04 12.59.11.jpg|200px]]
== Map of the World of the Game ==
+
==Controls==
[[File:2011-10-04 12.58.23.jpg|200px]]
+
====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 ===
 +
{| border="1" cellpadding="4" cellspacing="2" style="border: 1px solid black;border-collapse:collapse;"
 +
|-
 +
! Task
 +
! Status
 +
! Notes
 +
|-
 +
|Maze generation / rendering
 +
| '''DONE'''
 +
|Generate maze on X-Y axis only
 +
|-
 +
|User input control
 +
| '''DONE'''
 +
|Make camera not fly, lock mouse control to ground
 +
|-
 +
|Collision
 +
| '''DONE'''
 +
|Add collision with floor and wall
 +
|-
 +
|Walls and lighting
 +
| '''DONE'''
 +
|<del>Use shaders</del>Floor 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
 +
|-
 +
|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.
 +
|-
 +
|Dialog box
 +
| '''DONE'''
 +
|Improve initial dialog box
 +
|-
 +
|Jumping
 +
| '''DONE'''
 +
|Space key jumps, to allow momentary visuals of the maze.
 +
|-
 +
|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 ===
 +
{| border="1" cellpadding="4" cellspacing="2" style="border: 1px solid black;border-collapse:collapse;"
 +
|-
 +
! Task
 +
! Status
 +
! Notes
 +
|-
 +
|visibility frustum logic
 +
|'''DONE'''
 +
|Add logic to framework to only render what the camera sees
 +
|-
 +
| XInput
 +
| '''DONE'''
 +
|Add support for XBox controller using XInput.
 +
|-
 +
|<del>alternative maze generation</del>
 +
|
 +
|<del>Allow maze to be generated via a text file, or generation seed string</del>
 +
|-
 +
|<del>Improve on 3D sound</del>
 +
|
 +
|<del>Add echoes i.e. collision with objects</del>
 +
|-
 +
|<del>Obstacles (physical)</del>
 +
|
 +
|<del>This will be things likes blocks in the maze, holes, doors, etc.</del>
 +
|-
 +
|<del> Models</del>
 +
|
 +
|<del>Import models for the obstacles, breadcrumbs, or others.</del>
 +
|}
 +
 
 +
=== Updates ===
 +
Maze 1.0 <br/>
 +
<!--    [[File:Name|Type|Border|Location|Alignment|Size|link=Link|alt=Alt|Caption]] -->
 +
[[Image:DPS901_Team_Mesocricetus_Phase2_Maze.png|||||300px]]
 +
[[Image:DPS901_Team_Mesocricetus_Phase2_Maze2.png|||||500px]]
  
== Moderator's - Instructors Comments ==
+
== Instructor's Comments ==
 
* for lighting to be realistic without using shaders the walls and floor should be composed of many rectangles
 
* 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
 
* visibility frustum logic would be quite useful here
 
* there is potential here for elaborate work with 3D sound
 
* there is potential here for elaborate work with 3D sound
 
* shadows would be difficult to implement without shaders
 
* 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 ==
 
== Any other thing you find necessary ==

Latest revision as of 11:41, 12 December 2011


GAM666/DPS901 | Weekly Schedule | Student List | Project Requirements | Teams and their Projects | Student Resources


Mesocricetus

Project Marking Percentage

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

Repository

Repo ID

SVN

svn://zenit.senecac.on.ca/dps901_113rep6

GitHub

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

2011-10-04 12.58.23.jpg

Golden Hamster

2011-10-04 12.59.11.jpg

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, 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
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.
Dialog box DONE Improve initial dialog box
Jumping DONE Space key jumps, to allow momentary visuals of the maze.
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 DONE Add logic to framework to only render what the camera sees
XInput DONE Add support for XBox controller using XInput.
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.

Updates

Maze 1.0
DPS901 Team Mesocricetus Phase2 Maze.png DPS901 Team Mesocricetus Phase2 Maze2.png

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