| |
MP3: Final Fantasy
Proposals Due: Tuesday, April 11 in class
Projects Due: Monday, May 1, 11:59pm
Goals
For this, our final MP, you will work together in groups of 2 or 3 to
write an interactive 3D graphics program, mimicking a game engine.
2D programs are not allowed.
Working in groups is required. Aside from teaching you about
graphics, one of the goals of this project is to give you experience
working on software in groups. This is an important skill to acquire.
While we recognize that there is a limit to how much you will really
learn during a project,
we also believe that it will provide valuable experience.
Getting Started
You should begin by forming a group of 2 or 3 to work on the project
together. Groups of 4 or more are not allowed.
We also require that 1 unit graduate students finish at least 25%
more work than other students.
If you have trouble with any part of the project preparation, please see an
instructor or TA during their office hours.
Alternatively, post a message on the course
newsgroup (uiuc.class.cs418). We usually check the newsgroup regularly
and will attempt to respond promptly to questions posted there.
Requirements
We will be letting you define your own projects. Acceptable projects
must conform to the following guidelines:
- The scope of the project should be sufficient to warrant the
work of 2 or 3 people over 3 weeks. As a rule of thumb, your project
should require twice or 3 times as much work as previous projects
depending on the number of people in your group.
Meanwhile, do not be overly ambitious, either.
- At most one third of the credit for the project can be features that
were implemented in previous projects. However, you can significantly
improve previously implemented features.
- Those aspects of the project for which you're graded must be
computer graphics (e.g., not sound).
- Particle Dynamics must be implemented as part of your program.
At least 10 particles should be simulated for physics-based movement
although a larger number of particles may improve the visual appearance
of your results.
They should collide with the ground and bounce off multiple times
during your simulation.
Inter-particle collisions can be ignored.
- Environment mapping must be implemented as part of your program.
Allow for the display of reflective objects using OpenGL's spherical
environment map support. You must demonstrate reflections on at least
one non-trivial mesh object (i.e., single polygons, spheres, and
cylinders don't count) in your interactive environment.
You do NOT need to update the environment map.
Here are some sample environment map for you to try:
You should write up a description for your project and submit that in
class on Tuesday, April 11 or earlier.
Your project description should include:
- Names and NetIDs of students working on the project.
- A brief synopsis of the system that will be produced.
- A list of the features on which you will be graded. You should
indicate both what constitutes a correctly functioning feature
as well as how many points it should be worth.
The total number of points should add up to 100
with additional points for 1-unit grad students.
Note that particle dynamics and environment mapping
are worth 10 points each.
- A tentative plan for which parts of the project each team member
will be responsible for.
Hints on project ideas and features
We post a few potential ideas and features here as your inspirations.
You do NOT have to follow these suggestions.
- Idea #1: an indoor or outdoor environment with objects and
moving characters.
The user can control the movement of some of the characters and objects.
The camera can follow one of the characters or objects.
- Idea #2: a driving or flight simulator that allows the user to
steer a vehicle over terrains and mountains which can be
synthetically generated. The terrains and mountains can be decorated
with buildings and trees.
- Idea #3: a multiresolution earth model that allows to simulate
the landing of a space shuttle. The earth model should have
continents and oceans. When the space shuttle descends, the user
should be able to see more and more surface details of the earth
and choose where to land.
- A list of potential features:
1) Virtual characters from MP2 but with interactively user-controlled
motion path;
2) The terrain models from MP1 combined with synthetically generated
fractal surfaces, as will be described in class, for mountains, etc;
4) Interactive camera controls more convenient than those in MP1.
5) The mesh objects in MP1 can be reused.
Handing in your Project
Important: Follow all handin instructions carefully. You
may lose most or all points for failure to follow these
instructions or if you do not hand in all required files.
You must turn in the following files:
- All source and header files (e.g., *.cxx, *.h) whether or not you
have modified them.
- A ReadMe file named README.txt.
It should contain the following information:
- The names and NetIDs of all students in your group.
- Whether each is an undergrad, 0.75 unit grad, or 1 unit grad student.
- If you used a different GUI kit, instructions on setting it up on the
machines in the labs. (Yes, your project must be able to run on them)
- Clearly document the features you proposed to implement and their corresponding points.
- Clearly document how to use each feature you implemented.
- Clearly indicate what part(s) of your project each of the members of
your group was responsible for.
- Any other files (e.g., libraries, data files) needed to compile and run
your program. If you've used the provided libraries, do not turn those in.
To actually turn in your finished project, follow the hand-in instructions that we have provided.
Since this project is due the night before the last day of classes, we can NOT
allow late hand-ins. You must complete and turn in your project by the due
date.
Grading
Code-sharing, working together with peers outside your group, and copying
code from other sources are only allowed under restricted conditions. Make
sure you read the code-sharing policy for
details.
Significant reductions will be imposed for projects that do not compile.
No late hand-ins will be allowed.
All members of a group will generally receive the same grade. However, you
will be asked to fill out an evaluation of your own work and the work of
others in your group. We may use these evaluations to modulate the grades of
individuals within a group.
|
|