Announcements & syllabus
Schedule
Programming assignments
Homework
Exams
Courseware
|
Programming Assignment
4: 3D Game version 2.0
Summary
You will update your
program from programming assignment 2 to make it a
more fully featured and playable game, with a focus on animation.
Due Date
The assignment is due on Wednesday
April 30 at 11:59 PM. The standard late policy for programs
is in effect.
Required Features
- The program should be written in C or C++
using openGL/GLUT. You may use any openGL/GLUT functions for this
assignment.
- Use your solution to programming
assignment 2 as a starting point.
- Update this program to make it into a simple,
but playable game – one that you would be willing to spend time
playing.
- The basic premise of the game must remain the
same – control 3D cannonballs fired from a cannon in order to try
to hit targets.
- Other than the requirement above, you are free
to add any features, controls, graphical effects, etc. that you want.
HOWEVER, your game must be in good taste – stay away from
excessive violence, inappropriate or offensive images/sounds, and foul
language. Do not make the game about killing human characters.
- One focus of your updated features must be
animation. Besides the flight of the cannonballs, you need to add at
least two interesting animations to the game (e.g., animated
targets, animated explosions, etc.).
Grading
You will earn points for
the additional features you include. More impressive and more complex
features will earn more points. Here are some ideas (but many other things
are possible – be creative!). The number in parentheses is a rough
estimate of the number of points you might earn for implementing these ideas
well.
- Graphics: use texture maps to make the world
more realistic or beautiful (15)
- Graphics: use sophisticated lighting to make the
world more realistic or beautiful (15)
- Animation: animate an explosion when a
cannonball hits a target (20)
- Animation: animate the camera smoothly to the
area where the cannonball hit (15)
- Animation: animate the targets along curved
paths (20)
- Animation: use targets with multiple parts
that animate together and separately (25)
- Interface: allow the user to change the
pitch/yaw and position of the cannon (15)
- Interface: develop complex but usable controls
for the game using the mouse and keyboard (15)
- Interface: provide aesthetically pleasing
status and/or score displays (15)
- Interface: provide a main menu that allows
users to start a new game, choose a level, set options, see high scores,
see instructions, etc. etc. (20)
- Gameplay: create various levels that increase
in difficulty (20)
- Gameplay: provide a way for the user to ÒwinÓ
the game by beating the hardest level (15)
- Gameplay: make it possible for the user to
lose if they do not perform well (15)
- Documentation: provide a nice set of
instructions for your game in a separate PDF file or as part of the game
itself (20)
Submission
Turn in your program via email to the TA. You may either submit a
single source file or a ZIP archive of several source/header files. You must
also include a plain text README file or a PDF version of game documentation.
This documentation should include a list of the extra features you
implemented.
|