CS 551/651-2: Advanced Computer Graphics
Assignment #5: Final Project
Goal: Build a 3-D game, or demo/prototype thereof
Due: 5 PM Thursday, May 3, 2001
Relevant reading /software:
- Maya is installed on the machines on the center aisle of Olsson 001
- We have priority on those machines when the lab is not in use by another
class
- We have the lab reserved during class time on Tuesdays.
- We have Lightscape (an excellent radiosity package) installed in the
lab. You are welcome to use it, though you will have to figure out how
to import and export your models. Let me know if you wish to use it.
- You are allowed to use any public-domain code you
wish, subject to
these conditions:
- The final product must still represent a substantial effort of
original coding on your part.
- You must clearly document what code
you used and where you found it, and conversely what code you wrote and
what it does (so that you can be graded on your own contribution).
- Examples
of code that you may elect to use include rendering engines, collision
detection packages, matrix/vector libraries, LOD generators,
etc.
- You can also use commercial packages as long as we can arrange for the
whole class to have access to them. For example, you can use 3D Studio
Max if we can install your copy in the lab.
Synopsis: Make a 3-D game, or at least a demo or prototype that shows
off the game concept. You may optionally work with another student.
Grading: The grading of a project like this is necessarily somewhat
subjective. Major factors that will influence your grade are:
- Graphics: Clearly in a class on Advanced Computer Graphics this is
important. Your game should look good, or make use of some of the
concepts we have discussed in class (LOD, portal culling, texture backdrops,
collision detection, ...), or both.
- Playability: The game or demo should be fun to play, or at least fun to
play around with. This doesn't demand that all details of plot,
scoring, or whatever be worked out, simply that what is there should be
entertaining.
- Difficulty: I will take into account the difficulty of the project, though
a simple game that works will always do better than an ambitious project
that doesn't.
- Originality: Particularly creative game concepts are worth extra, if
pulled off successfully.
Note: in group projects, assigning grades to individual members is always
difficult. I use a simple policy: The members of
a group get the same grade, no matter what.
It is very important that you have something working to turn in.
There is no way I can grade a big wad of code that doesn't run. Therefore,
be sure to follow good coding practice: get something working, then improve it.
Turning in the assignment: Whatever works. I would like to have
a permanent record of these games, so turning it in on CD would be ideal,
but is not required. Because the project is due just before the final
exam, and because I am under pressure from the Dean's office to have grades in
24 hours after the exam, I can't afford to be lenient on late assignments.
Advice:
- Keep it simple; don't worry about hyper-optimizing the code. Real
game developers prototype on high-end machines, only optimizing and porting
to lower-end machines after they have the basics worked out.
- This is clearly a very open-ended assignment, so feel free to ask my
opinion on any questions that come up.
- Get it working early and keep a working version that you can always roll
back to! Nothing would be worse than a program that simply doesn't
run, or do anything.
- Save often, keep lots of incremental revisions...paranoia is your
friend.
Honor Code: See the comments above about using code or models from
elsewhere. Ask me if you have any questions!