Announcements & syllabus
4: 3D Game version 2.0
You will update your
program from programming assignment 2 to make it a
more fully featured and playable game, with a focus on animation.
The assignment is due on Wednesday
April 30 at 11:59 PM. The standard late policy for programs
is in effect.
- The program should be written in C or C++
using openGL/GLUT. You may use any openGL/GLUT functions for this
- 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
- 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.).
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
- 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
- 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
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