You are on page 1of 2

Cairo University

Faculty of Engineering Fall 2009


Computer Engineering Department
CMP 205 / CMPN 205
Computer Graphics
Course Project
Computer Game Using
Direct3D
Objectives
By the end of this project, the student should be able to:
- Write a Windows application that uses Direct3D 9 or Direct3D 10.
- Incorporate (at least) meshes, motion, lights and textures in D3D application.

Introduction
In this project you will use your C++ skills together with your knowledge of D3D obtained throughout
the course to develop a 3D game.

Project Requirements
The game should fulfill the following requirements:
- It must use of Direct3D 9 or Direct3D 10 (Bonus)
- It must use external model files
- It must use lights and textures
- It must include at least a menu screen and a game screen

Deliverables
Each group is required to deliver a CD that contains the following:
- Program source code (.cpp and .h files, project file(s), workspace/solution) .
- Executable file(s).
- Data files, 3rd party library files and any additional files necessary to get the project running.
- A text file named ID.txt containing group members’ names, section(s) and bench numbers.
- A text file name readme.txt describing any special actions that has to be taken to compile
the source and/or run the executables.
The CD should be labeled “Gfx ID 2009”, where ID is your group ID which will be given to you. The
label should be written on the CD itself, not only the cover.

Pay enough attention to completing the CD. During discussion, you will only be allowed to either run
the game from the CD or copy the CD contents to somewhere in the hard disk (specified by the TA)
and run the exe you copied. Using files not stored in the CD during discussion will be penalized.

Groups
You will be working in groups of 2-4 students each.

Evaluation Criteria
The project will be evaluated based on the following criteria:
- Compliance with the Requirements (60%)
- Deliverables (10%)
- User Experience (10%)
o Quality of graphics. Because this is subjective, it is inevitable that you will be
compared to other groups.

Fall 2009 Computer Graphics Project 1/2


- Code Quality (10%)
o Coherence and modularity. The program should be divided into logical modules each
of which performs a specific task. Most importantly, the graphics and game logic
must be separated.

o Flexibility. The game content should not be hardcoded in the code. For example, the
map/racing-track/terrain should be loaded from a file and not hardcoded. The game
parameters (e.g. starting health, damage caused by each weapon, etc) should also
be loaded from a file and not hardcoded [Imagine that you are a game tester and you
have to recompile the game to test whether it is appropriate to raise the laser
damage from 20 to 25]. The parameters that are not subject to change should be
represented by constants or #define symbols.

o Code neatness and clarity. This includes but is not limited to indentation, unified
style, appropriate variable and function names, and clear and expressive comments.

- Teamwork (10%)
o Each member must do reasonable work in the project and be able to explain his/her
part. Each team member will be graded individually.

Bonus Items
Bonus items are chances to get extra grades in the project. Each bonus item gives you 5% of
the project grade as a bonus.
- Effects
o Implement one or more effects that were not covered in the sessions (i.e. Chapters 7
and 8 in Luna’s book). To get the bonus the following conditions must be met:
 The effects should be non-trivial. For example, using D3D fog is not
something to get bonus for, although it may add to the user experience of
your project which is important. It is recommended that you discuss the
effects you intend to add with the TA to ensure they are qualified for the
bonus.
 You must be able to explain your effects in detail.
- Direct3D 10
o Use Direct3D 10 in your project. You will have to provide at least a vertex shader
and a pixel shader. You are allowed to use a 3rd party model loader.
- Shaders
o Provide at least one HLSL vertex shader or one HLSL pixel shader. If you implement
an effect that uses shaders you will get the effect bonus and the shaders bonus (as
long as you meet the effect bonus conditions).
- Physics
o Use a physics library to add physics to your game. You should use an existing
physics library not your own code. [The objective is learning the usage of physics
libraries, NOT learning physics].
- Super Impression
o There are no precise criteria for this bonus. It will be subjectively given to projects
providing something really exceptional.

Fall 2009 Computer Graphics Project 2/2

You might also like