Difference between revisions of "GAM670/DPS905 Project Requirements 20121"

From CDOT Wiki
Jump to: navigation, search
(Game Presentation Schedule)
(Appointment Schedules)
 
(27 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
{{GAM670/DPS905 Index | 20121}}
 
{{GAM670/DPS905 Index | 20121}}
= Game Presentation Schedule =
+
= Due Dates =
 
{|  border="1"
 
{|  border="1"
 
|-
 
|-
|Team Name
+
|Proposed game and team members selected
|Date and Time
+
|January 12
 
|-
 
|-
 +
|Proposal completed and projects selected
 +
|January 21
 
|-
 
|-
|
+
|Project progress reports
|Wednesday April 11 8:20AM
+
|February 15
 
|-
 
|-
|
+
|Project completed - Class Presentation
|Wednesday April 11 8:50AM
+
|March 21
|-
 
|
 
|Wednesday April 11 9:20AM
 
|-
 
|
 
|Friday April 13 8:20AM
 
|-
 
|
 
|Friday April 13 8:50AM
 
|-
 
|
 
|Friday April 13 9:20AM
 
 
|-
 
|-
 +
|Game completed - Class Presentation
 +
|April 11-13
 
|}
 
|}
 
<br />
 
<br />
 +
<br />
 +
 +
= Research Project =
 +
 +
Your research project involves the investigation and implementation of a specific feature in the update base code. Identifying the features and the required refinements will demand some initial research on your part.  The project is in two phases.
 +
 +
== Phase 1 ==
 +
 +
The first phase is an informal, written proposal of the features that your team has decided to implement in its final game. Your description should identify the basic aspects of these features as well as the refinements to those features that are needed to implement in your own game by the end of the semester.
 +
 +
Your proposal should be presented on the team project page of the course wiki under '''Proposal'''.  Your proposal should identify the parts of the framework that you expect to modify extensively in your implementation.  Your proposal should be on the wiki before your first meeting with your instructor. You should update your proposal after this meeting. Your instructor will use your updated proposal as the reference for marking this assignment.
 +
 +
The base code for this course is an updated version of the base code for the previous course.  You should use the updated base code to develop the feature that you have selected and present the results of your work using the updated base code.  The updated base code with the new features installed will serve as the source for other teams' access.
 +
 +
Each team member should have their own successfully compiled version of the updated base code in their own workspace in the branch sub-directory of their team's repository.
 +
 +
The source code for each team member's copy of the base code should include the following updates:
 +
* add your own name to the caption for the dialog box
 +
* change the window title to include the name of the team
 +
 +
Merge all of the team members' workspaces back to trunk so that the caption of the dialog box shows all of the names of the team members. See  [http://zenit.senecac.on.ca/wiki/index.php/Hints_for_Using_SVN_to_collaborate_on_school_projects#Merging_your_work_back_to_trunk Merging your work back to trunk] for details.
 +
 +
The purpose of this first phase of the project is twofold:
 +
* to identify the features that your final game will include
 +
* to identify the features that each member of your team will incorporate
 +
* to identify the features that your team is expecting to incorporate from the research projects of other teams.
 +
 +
== Phase 2 ==
 +
 +
The second phase releases the updated base code with your new features to the class.
 +
 +
This phase concludes with a presentation that shows
 +
* how your new features work within the updated base code
 +
* how to incorporate the new features in external code
 +
 +
You will have one hour to make your presentation and to describe the feature that you have implemented.
 +
 +
 +
 +
== Appointment Schedules ==
 +
Research Project
  
= Presentation Schedule =
 
 
{|  border="1"
 
{|  border="1"
 
|-
 
|-
|Team Name
+
|Name
 
|Date and Time
 
|Date and Time
 
|-
 
|-
 +
|Clinton Bale
 +
|Tuesday January 15 11:40AM
 
|-
 
|-
|Team Guardian - Hasan, JP
+
|Jesse Santos
|Tuesday March 22 9:00AM
+
|Tuesday January 15 12:00AM
 
|-
 
|-
|Team Zombie - Damian, Qing
+
|sezar gantous
|Thursday March 24 8:00AM
+
|Friday January 18 11:40AM
 
|-
 
|-
|Hic Sunt Dracones - David
+
|Dylan Segna
|Thursday March 24 9:15AM
+
|Friday January 18 12:00AM
|-
 
|Team GG - Brad
 
|Tuesday March 29 8:00AM
 
|-
 
|Team GG - Randl
 
|Tuesday  March 29 8:30AM
 
|-
 
|Slap Your Grandma - Dan, Andrei, Sasha
 
|Tuesday  March 29 9:00AM
 
|-
 
|Hic Sunt Dracones - Daniel, Jon, Kaitlyn
 
|Thursday March 31 8:00AM
 
 
|-
 
|-
 
|}
 
|}
<br />
 
  
= Appointment Schedules =
+
Feature Progress Meeting
Initial Proposal
 
  
 
{|  border="1"
 
{|  border="1"
 
|-
 
|-
|Team Name
+
|Name
 
|Date and Time
 
|Date and Time
 
|-
 
|-
|Zombie
+
|Sezar Gantous
|Tuesday January 18 10:00AM
+
|Monday March 11 12:00 AM
 
|-
 
|-
|Team GG
+
|Jesse Santos
|Tuesday January 18 10:15AM
+
|Friday March 15 11:30 AM
 
|-
 
|-
|Team Guardian
+
|Clinton Bale
|Tuesday January 18 10:30AM
+
|Friday March 15 12:00 AM
|-
 
|Andrew Condinho
 
|Tuesday January 18 10:45AM
 
 
|-
 
|-
 
|
 
|
|Tuesday January 18 11:00AM
 
|-
 
 
|
 
|
|Tuesday January 18 11:15AM
 
|-
 
|Slap Your Grandma
 
|Tuesday January 18 1:30PM
 
 
|-
 
|-
 
|}
 
|}
Proposal Acceptance
+
 
 +
== Project Presentation Schedule ==
 
{|  border="1"
 
{|  border="1"
 
|-
 
|-
Line 95: Line 107:
 
|Date and Time
 
|Date and Time
 
|-
 
|-
|Team GG
 
|Tuesday February 1 10:00AM
 
 
|-
 
|-
|Zombie
+
|
|Tuesday February 1 10:15AM
+
|Wednesday March 22 8:00AM
|-
 
|Andrei Kopytov
 
|Tuesday February 1 10:30AM
 
 
|-
 
|-
 
|
 
|
|Tuesday February 1 10:45AM
+
|Wednesday March 21 8:25AM
 
|-
 
|-
 
|
 
|
|Tuesday February 1 11:00AM
+
|Wednesday March 21 8:50AM
 
|-
 
|-
 
|
 
|
|Tuesday February 1 11:15AM
+
|Wednesday March 21 9:15AM
|-
 
|Slap Your Grandma
 
|Tuesday February 1 1:30PM
 
|-
 
|}
 
Project Review
 
{|  border="1"
 
|-
 
|Team Name
 
|Date and Time
 
|-
 
|Team GG
 
|Tuesday February 22 10:00AM
 
|-
 
|Zombie
 
|Tuesday February 22 10:15AM
 
 
|-
 
|-
 
|
 
|
|Tuesday February 22 10:30AM
+
|Friday March 23 8:00AM
 
|-
 
|-
 
|
 
|
|Tuesday February 22 10:45AM
+
|Friday March 23 8:25AM
 
|-
 
|-
 
|
 
|
|Tuesday February 22 11:00AM
+
|Friday March 23 8:50AM
 
|-
 
|-
 
|
 
|
|Tuesday February 22 11:15AM
+
|Friday March 23 9:15AM
|-
 
|Slap Your Grandma
 
|Tuesday February 22 1:30PM
 
|-
 
|}
 
<br />
 
 
 
= Due Dates =
 
{|  border="1"
 
|-
 
|Proposed game and team members selected
 
|January 18
 
 
|-
 
|-
|Proposal completed and members' roles selected
+
| C Minor
|February 1
+
|Wednesday March 28 8:00AM
 
|-
 
|-
|Phase 2 draft and review
+
|WIN - Randl(Terrain Generation)/Jeremy(Networked Gameplay)
|February 22
+
|Friday March 30 8:00AM
|-
+
|-  
|Phase 2 completed - Presentation
 
|March 22
 
|-
 
|Phase 3 completed - Presentation
 
|April 12-14
 
 
|}
 
|}
 
<br />
 
<br />
<br />
 
 
= Project Requirements =
 
 
Your game involves a real-time audio-visual-haptic experience in a 3-D world using advanced game programming techniques to improve the performance and the appeal of your game. The user should experience force feedback through some form of controller in response to certain common actions in your game.
 
  
Each member must contribute their own feature to the game development in a selected area of specialization.  Each member should also contribute to the integration of a separate, unrelated feature developed by another team.
+
== Features that you could add to the Updated Base Code ==
  
== Phase 1 ==
+
The base code serves as the common thread for sharing feature development amongst all members of the class.  Our objective is to add features that students wish to see implemented in their own games.  We review this list at the start of the semester and you are welcome to expand detail or to add other features.
 
 
The first phase is an informal, written proposal of the features that your team wishes to implement in its final game. Your description should identify the basic aspects of these features as well as the refinements to those features that are needed to implement your game design.  Identifying the features and the required refinements will demand some research on your part.  In the case of DPS905 students, the research should be deep and the description should identify the theory behind the required refinements.
 
 
 
Your proposal should be documented on the team project page of the course wiki under '''Proposal'''.  Your proposal should identify the parts of the framework that you expect to modify extensively in your implementation.  A draft of your proposal should be on the wiki before your meeting with the instructor and you should update your proposal after consultation with your instructor.
 
 
 
In developing your game, you may start with the code that you used in the previous course or you may start with the base code for this course.  The base code for this course is an update version of the base code for the previous course.  In any event, each member should use the updated base code to develop the feature that they have selected and present the results of their work using the updated base code.  In other words, the update base code with the new features installed will serve as the source for other teams' access.
 
 
 
Each team member should have their own successfully compiled version of the updated base code in their own workspace in the branch sub-directory of their team's repository.
 
 
 
The source code for each team member's copy of the base code should include the following updates:
 
* add your own name to the caption for the dialog box
 
* change the window title to include the name of the team
 
 
 
Merge all of the team members' workspaces back to trunk so that the caption of the dialog box shows all of the names of the team members. See  [http://zenit.senecac.on.ca/wiki/index.php/Hints_for_Using_SVN_to_collaborate_on_school_projects#Merging_your_work_back_to_trunk Merging your work back to trunk] for details
 
 
 
The purpose of this first phase of the project is twofold:
 
* to identify the features that your final game will include
 
* to identify the features that each member of your team will incorporate
 
* to identify the features that your team is expecting to incorporate from the work of other teams.
 
 
 
Your team should decide its own group to individual ratio for grading purposes and post the agreed ratio on its project page.
 
 
 
== Phase 2 ==
 
 
 
The second phase releases a version of the updated base code that includes the new features that your team members have incorporated.
 
 
 
This phase includes a presentation that shows
 
* how your new features work within
 
** the updated base code
 
** your own game
 
* how to incorporate the new features in external code
 
 
 
Your team will have one hour to make its presentation and each team member will have fifteen minutes to describe the feature that they implemented themselves
 
 
 
== Phase 3 ==
 
 
 
The third phase presents your completed game with your team's new features and two new features that members of other teams developed.
 
 
 
Your presentation includes
 
* a demonstration of how the game plays
 
* an explanation of the innovative aspects that your team members have implemented
 
* an evaluation of the features that your team incorporated, including criticisms and suggested enhancements
 
 
 
Each team has 30 minutes to showcase its game.
 
<br />
 
<br />
 
<br />
 
 
 
= Features that you could add to the Updated Base Code =
 
 
 
The base code serves as the common thread for sharing feature development amongst all members of the class.  Our objective is to add as many of the features that students wish to see implemented in their own games as possible.  We review this list at the start of the semester and you are welcome to expand detail or to add other features.
 
  
 
* visibility determination
 
* visibility determination
** view frustum
+
** viewing frustum
 
** bounding volume construction
 
** bounding volume construction
 
*** principal component analysis
 
*** principal component analysis
Line 281: Line 199:
 
* audio techniques
 
* audio techniques
 
* comprehensive collada imports
 
* comprehensive collada imports
* third-person camera techniques
+
* camera techniques
 +
** third-person camera
 
* quaternions
 
* quaternions
 
* networked gameplay
 
* networked gameplay
Line 307: Line 226:
 
** provide external access to all objects in the scene coordinator
 
** provide external access to all objects in the scene coordinator
 
* enable Streaming SIMD Extension 2 in Configuration Properties with optimized math calculations
 
* enable Streaming SIMD Extension 2 in Configuration Properties with optimized math calculations
 +
 +
<br />
 +
 +
= Game =
 +
== Requirements ==
 +
 +
Your game involves a real-time audio-visual-haptic experience in a 3-D world using advanced game programming techniques to improve the performance and the appeal of your game. The user should experience force feedback through some form of controller in response to certain common actions in your game.
 +
 +
Each member must contribute their own feature to the game development in a selected area of specialization.  Each member should also contribute to the integration of a separate, unrelated feature developed by another team.
 +
 +
In developing your game, you may start with the code that you used in the previous course or you may start with the updated base code for this course.
 +
 +
You present your completed game with your team's new features and two new features that members of other teams developed. Your presentation includes
 +
* a demonstration of how the game plays
 +
* an explanation of the innovative aspects that your team members have implemented
 +
* an evaluation of the features that your team incorporated, including criticisms and suggested enhancements
 +
 +
Each team has 30 minutes to showcase its game.
 +
<br />
 +
<br />
 +
<br />
 +
 +
== Game Presentation Schedule ==
 +
{|  border="1"
 +
|-
 +
|Team Name
 +
|Date and Time
 +
|-
 +
|-
 +
|
 +
|Wednesday April 11 8:20AM
 +
|-
 +
|
 +
|Wednesday April 11 8:50AM
 +
|-
 +
|
 +
|Wednesday April 11 9:20AM
 +
|-
 +
|
 +
|Friday April 13 8:20AM
 +
|-
 +
|
 +
|Friday April 13 8:50AM
 +
|-
 +
|C Minor
 +
|Friday April 13 9:20AM
 +
|-
 +
|}
 +
<br />

Latest revision as of 05:34, 11 March 2013


GAM670/DPS905 | Weekly Schedule | Student List | Project Requirements | Teams and their Projects | Student Resources


Due Dates

Proposed game and team members selected January 12
Proposal completed and projects selected January 21
Project progress reports February 15
Project completed - Class Presentation March 21
Game completed - Class Presentation April 11-13



Research Project

Your research project involves the investigation and implementation of a specific feature in the update base code. Identifying the features and the required refinements will demand some initial research on your part. The project is in two phases.

Phase 1

The first phase is an informal, written proposal of the features that your team has decided to implement in its final game. Your description should identify the basic aspects of these features as well as the refinements to those features that are needed to implement in your own game by the end of the semester.

Your proposal should be presented on the team project page of the course wiki under Proposal. Your proposal should identify the parts of the framework that you expect to modify extensively in your implementation. Your proposal should be on the wiki before your first meeting with your instructor. You should update your proposal after this meeting. Your instructor will use your updated proposal as the reference for marking this assignment.

The base code for this course is an updated version of the base code for the previous course. You should use the updated base code to develop the feature that you have selected and present the results of your work using the updated base code. The updated base code with the new features installed will serve as the source for other teams' access.

Each team member should have their own successfully compiled version of the updated base code in their own workspace in the branch sub-directory of their team's repository.

The source code for each team member's copy of the base code should include the following updates:

  • add your own name to the caption for the dialog box
  • change the window title to include the name of the team

Merge all of the team members' workspaces back to trunk so that the caption of the dialog box shows all of the names of the team members. See Merging your work back to trunk for details.

The purpose of this first phase of the project is twofold:

  • to identify the features that your final game will include
  • to identify the features that each member of your team will incorporate
  • to identify the features that your team is expecting to incorporate from the research projects of other teams.

Phase 2

The second phase releases the updated base code with your new features to the class.

This phase concludes with a presentation that shows

  • how your new features work within the updated base code
  • how to incorporate the new features in external code

You will have one hour to make your presentation and to describe the feature that you have implemented.


Appointment Schedules

Research Project

Name Date and Time
Clinton Bale Tuesday January 15 11:40AM
Jesse Santos Tuesday January 15 12:00AM
sezar gantous Friday January 18 11:40AM
Dylan Segna Friday January 18 12:00AM

Feature Progress Meeting

Name Date and Time
Sezar Gantous Monday March 11 12:00 AM
Jesse Santos Friday March 15 11:30 AM
Clinton Bale Friday March 15 12:00 AM

Project Presentation Schedule

Team Name Date and Time
Wednesday March 22 8:00AM
Wednesday March 21 8:25AM
Wednesday March 21 8:50AM
Wednesday March 21 9:15AM
Friday March 23 8:00AM
Friday March 23 8:25AM
Friday March 23 8:50AM
Friday March 23 9:15AM
C Minor Wednesday March 28 8:00AM
WIN - Randl(Terrain Generation)/Jeremy(Networked Gameplay) Friday March 30 8:00AM


Features that you could add to the Updated Base Code

The base code serves as the common thread for sharing feature development amongst all members of the class. Our objective is to add features that students wish to see implemented in their own games. We review this list at the start of the semester and you are welcome to expand detail or to add other features.

  • visibility determination
    • viewing frustum
    • bounding volume construction
      • principal component analysis
        covariance matrix
      • bounding box construction
      • bounding sphere construction
      • bounding ellipsoid construction
    • bounding volume tests
      bounding sphere test
      bounding ellipsoid test
      bounding cylinder test
      bounding box test
    • spatial partitioning
      • octrees
      • BSP trees
    • portal systems
      portal clipping
      reduced view frustums
  • collision detection
    • plane collisions
      sphere and plane
      box and plane
      spatial partitioning
    • general sphere collisions
    • oriented bounding boxes
    • sliding
    • collisions with physics
      • moving spheres
      • moving boxes
  • lighting techniques
    • isotropic
      • Cook-Torrance
      • Oren-Nayar
    • anisotropic
      • Ward
      • Ashikhmin-Shirley
    • bump mapping
      • parallax
      • self-shadowing
    • environment cube maps
      • cube mapping
      • high dynamic range cube maps
    • high dynamic range lighting
      • simple
      • faked
      • tone mapping
  • texturing techniques
    • projective texturing
    • vertex texturing
      • displacement mapping
      • geometry images
  • audio techniques
  • comprehensive collada imports
  • camera techniques
    • third-person camera
  • quaternions
  • networked gameplay
  • noise
  • fluids
  • non-photo-realistic rendering
  • particle systems
  • terrain
    • terrain following
  • opengl 3.0
  • open audio
  • Direct3D10
    • porting the framework to DirectX10
  • Direct3D11
    • porting the framework to DirectX11
  • Direct2D
  • advanced force feedback
  • input techniques
    • XInput
    • Raw input
    • picking
  • optimize coordinators for design unit creation and destruction
    • introduce standard template library
    • 0(1) removal of objects
    • provide external access to all objects in the scene coordinator
  • enable Streaming SIMD Extension 2 in Configuration Properties with optimized math calculations


Game

Requirements

Your game involves a real-time audio-visual-haptic experience in a 3-D world using advanced game programming techniques to improve the performance and the appeal of your game. The user should experience force feedback through some form of controller in response to certain common actions in your game.

Each member must contribute their own feature to the game development in a selected area of specialization. Each member should also contribute to the integration of a separate, unrelated feature developed by another team.

In developing your game, you may start with the code that you used in the previous course or you may start with the updated base code for this course.

You present your completed game with your team's new features and two new features that members of other teams developed. Your presentation includes

  • a demonstration of how the game plays
  • an explanation of the innovative aspects that your team members have implemented
  • an evaluation of the features that your team incorporated, including criticisms and suggested enhancements

Each team has 30 minutes to showcase its game.


Game Presentation Schedule

Team Name Date and Time
Wednesday April 11 8:20AM
Wednesday April 11 8:50AM
Wednesday April 11 9:20AM
Friday April 13 8:20AM
Friday April 13 8:50AM
C Minor Friday April 13 9:20AM