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

From CDOT Wiki
Jump to: navigation, search
(Suggested Upgrades to the Base Code)
(Features that you could add to the Updated Base Code)
Line 203: Line 203:
 
= Features that you could add to the Updated Base Code =
 
= Features that you could add to the Updated Base Code =
  
In this course, the base code serves as the common thread for sharing the feature work amongst all members of the class.  The features added by the class should include as many as the students wish to see implemented in their own games.  You are welcome to add features to the following list.
+
In this course, 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 possibleWe shall review this list at the start of the semester and you are welcome to add other features.
  
 
* visibility determination
 
* visibility determination

Revision as of 11:18, 8 January 2011


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



Appointment Schedules

Initial Proposal

Team Name Date and Time
Tuesday January 18 10:00AM
Tuesday January 18 10:15AM
Tuesday January 18 10:30AM
Tuesday January 18 10:45AM
Tuesday January 18 11:00AM
Tuesday January 18 11:15AM

Proposal Acceptance

Team Name Date and Time
Tuesday February 1 10:00AM
Tuesday February 1 10:15AM
Tuesday February 1 10:30AM
Tuesday February 1 10:45AM
Tuesday February 1 11:00AM
Tuesday February 1 11:15AM

Project Review

Team Name Date and Time
Tuesday February 22 10:00AM
Tuesday February 22 10:15AM
Tuesday February 22 10:30AM
Tuesday February 22 10:45AM
Tuesday February 22 11:00AM
Tuesday February 22 11:15AM


Due Dates

Proposed game and team members selected January 18
Proposal completed and members' roles selected February 1
Phase 2 draft and review February 22
Phase 2 completed - Presentation March 22
Phase 3 completed - Presentation April 12-14



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.

Phase 1

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 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.


Features that you could add to the Updated Base Code

In this course, 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 shall review this list at the start of the semester and you are welcome to add other features.

  • visibility determination
    • bounding volumes
    • spatial partitioning
      • octrees
      • BSP trees
      • portal systems
  • collision detection
    • plane collisions
    • oriented bounding boxes
    • sliding
  • 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
  • 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