On This Page
Overview
The main point of the project is to use the techniques we have discussed in class to produce an interactive video game. Remember to start simple and get some parts of the game working. Most of your assignments have built toward producing this game, so you should use the work from your assignments as much as possible. After you have the basic elements of the game working, then expand and improve in small steps.
I will grade the games more on the quality of programming and game play than on the quality of the graphics. So, make sure your game works well before you spend a lot of time drawing pictures. Remember that if you start out with simple pictures, or even just geometric shapes, you can always replace those later. A game with lots of pictures and cool animation which doesn't detect bullets hitting bad guys and can't react to user input will get a bad grade. A game with simple images which plays well will get a good grade.
^ top
Project Ideas
If you can't think of what to do, you might want to follow some successful patterns. There are many types of games which have been popular. Some particular varieties are:
- Pong variants
- Breakout (bounce a ball off a paddle to break rows of bricks)
- Frogger (try to get across a busy street)
- Space Invaders (shoot the aliens from the bottom of the screen)
- Asteroids (shoot things while flying around the screen)
- Chase games (like PacMan)
- Tank variants (shoot at an opponent, get shot at)
- Tetris variants (drop or move something into place)
Remember that while these might give you general ideas, you should not try to copy an existing game without permission of any copyright holders. Furthermore, it's more interesting to create your own game!
^ top
Specifications
- Use the techniques we have discussed during the course to produce a working video game.
- Use a subclass of GameCanvas to control your game. The name of this subclass must be
GameManager. (2 points)
- Include an introductory ("title" or "splash") screen for the start of your game. (2 points)
- Add in-game instructions for playing the game. The instructions must be complete enough to let the instructor play the game and experience the game play. (2 points)
- Provide some game play where the user interacts with the game and has a goal including:
- At least one player sprite that moves under player control. (1 point)
- At least one sprite that moves under its own direction. (1 point)
- Something must happen when the player and non-player sprites interact. (1 point)
- Some interaction occurs between the player and non-player sprites and the game world (1 point)
- Some ending condition to the game such as winning or losing. (2 points)
- Make sure you have at least one sprite animation that changes in response to a game event (such as changing directions or dying). (2 points)
- Include a Heads Up Display that keeps the player posted on game status like score, health, etc. (2 points)
- Add a closing "game over" screen. (2 points)
- Include appropriate sound effects in response to game events like collisions. (2 points)
- Provide background music using MIDI, Ogg Vorbis or MP3. (2 points)
- Write a project report with the information described in the section, Project Report.
- Present your game on the day of the final as described in the section, Project Presentation.
- Submit all the required files as described in the section of this document: What to Turn In.
- Your written decision for the Hall of Fame as described in the section, Adding Your Project to the Hall of Fame
^ top
Extra Credit
Adding the following to your game are worth extra credit points:
- Extra good physics simulation (1 to 2 points).
Jumping does not count but all others are considered.
- Multiple game levels. (1 to 2 points)
One point for multiple levels and another point for interesting and significant changes as levels progress (like a change in maps, NPC capabilities, etc).
- Adaptive background music that changes in response to game events. (1 to 2 points)
One point for changing music and another point for making smooth transitions using fading and tempo adjustments.
- A game configuration system where the user can make one or more changes to the way the game operates (1 to 3 points).
One point for being able to make changes, another point for using Swing GUI controls in a dialog and still another point for calling the dialog with a GameButton.
- Supporting additional input devices, such as a game controller, using JInput. (2 to 3 points)
Two points for using JInput and one more point for automatically installing JInput with the game.
- Adding a deployment option, other than the executable JAR file you turn in to WebCT, such as:
- Well-behaved desktop application using window events (1 point)
- Java applet (1 point)
- Java Web Start (2 points)
- Native-executable wrappers (1 point)
- Application installer (2 points)
- Use your imagination and code something creative. (0 to 2 points)
Note that extra credit can be applied toward correcting both the final project and assignment deficiencies. If any points are "left over" beyond the maximum score for the project, then the excess points will be applied toward homework assignment scores.
Make certain that your README.txt file describes any extra credit attempted.
^ top
Project Report
The project report is an updated "final" version of your game proposal with some additional "post-mortem" analysis. Include the following headings and sections in your game project report:
- Concept
State the idea of the game in no more than five (5) sentences. Be sure to include the goal of the game.
- Gameplay
Give an overview of how the game is played. Include a description of how the player can both win or lose the game and the challenges the game provides. If you use a scoring system, then describe the scoring system as well.
- Story Line
Describe the background, characters and story line. If you do not know of a story, then make one up! Make the story line entertaining and applicable to the game play.
- Lessons Learned
Describe what went well and what was difficult when developing your game. Include recommendations for future students embarking on a game project. Optionally, list the future plans for your game.
For an example game project report, click here. As you can see, the report can be as short as a single page if you cover all the requirements succinctly.
^ top
Project Presentation
The final project must be demonstrated the day of the final.
- You are required to present your project but not necessarily in front of the class
- When everyone else is done, you can present it to the instructor individually
Have some way to install and run your game on the instructor machine:
- CD
- Email
- Memory stick
- WebCT
The presentation should proceed as follows:
- State your name and your project's name.
Not everyone may know your name, especially our visitors. We all want to know both your name and your project's name.
- Briefly state your game concept.
Pretend that you are presenting to a group of investors from whom you are asking for funds to further develop and market your game. You need to grab their attention in the first 30-45 seconds.
- Demonstrate your game, explaining aspects of the gameplay as you go.
For example, you might give the storyline with the title screen. Then start the game and pause it often so you can explain important features. Point out as many of the cool features as possible so we can all enjoy them.
- Summarize the concept.
When the game is over, or your time is up, then quickly summarize the game concept. Then pause for about 10 seconds to give us a chance to applaud!
Plan on keeping the game presentation to 10 minutes or less. Feel free to refer to or display your written report during the presentation.
^ top
Grading Criteria
The instructor will evaluate your assignment using the following criteria. Each criteria represents a specific achievement of your assignment and has a scoring guide. The scoring guide explains the possible scores you can receive.
Some scoring guides have a list of indicators. These indicators are a sign of meeting, or a symptom of not meeting, the specific criterion. Note that a single indicator may not always be reliable or appropriate in a given context. However, as a group, they show the condition of meeting the criterion.
For information on grading policies, including interpretation of scores, see the course information page.
Required Features
Points as shown in the parenthesis for each item in the specifications. (22 points)
Program Compilation
- 2: Source code compiles with no errors or warnings
- 1: Source code compiles with warnings
- 0: Does not compile
Game Functionality
- 10: Demonstrates mastery of game programming
- Has extra features or demonstrates techniques beyond the assignment
- Applies concepts from the lesson(s) appropriately
- Gameplay is logically consistent with the game
- No functional errors encountered during operation
- The game "behaves well" with other applications the user may run
- 8: Has all the functionality expected of the project
- Demonstrates many techniques from the course.
- Gameplay may have one minor error or inconsistency.
- Implementation seems more complicated than necessary.
- No functional errors encountered during operation
- Game may alter the state of the users desktop
- 6: Has most of the functionality expected of the project
- Demonstrates some techniques from the course
- Gameplay may have 2-3 minor errors
- Implementation seems excessively complicated.
- No noticeable functional errors encountered during operation
- 4: Has some of the functionality expected of the project
- Demonstrates some techniques from the course
- Gameplay may have more than 3 minor errors
- Implementation seems excessively complicated.
- No significant functional errors encountered during operation
- 2: Serious functional problems but shows some effort and understanding
- Demonstrates few techniques from the course
- Gameplay has a major error or many minor errors
- Implementation seems very convoluted
- Functional errors encountered while playing the game
- 0: Game does not execute or was not demonstrated
JAR File Packaging
- 2: Program runs from the JAR file
- 1: Program does not run from the JAR file
- 0: No JAR file submitted
Programming Style
- 4: Code is well-documented
- 3: Code has minor documentation errors
- Has 1 documentation error
- 2: Code has some documentation errors
- Has 2-3 documentation errors
- 1: Code has many documentation errors
- Has more than 3 documentation errors
- 0: No apparent attempt to document code
REAME.txt File
- 2:
README.txt file submitted with name, date, hall of fame decision and instructions for playing the game
- 1:
README.txt submitted but some information was not included
- 0: No
README.txt file submitted
Project Report
- 4: Project is reported clearly, completely and succinctly
- Written report was presented to instructor
- Report is well-written and grammatically correct
- All reporting requirements were met
- All report headings written with the specified words
- 3: Project report has minor problems
- Some minor reporting requirements are missing
- Report contains spelling errors, but is otherwise clearly written
- Missing one of the specified report headings
- 2: Project report has significant problems
- At least 1/2 of the requirements were presented
- At least 1/2 of the reporting requirements were turned in
- Missing at least two of the specified report headings
- 1: Sampler presentation or report is unclear or incomplete
- Audience cannot understand presentation because there is no sequence of information
- Less than 1/2 of the requirements were presented
- Less than 1/2 of the report was completed
- Missing all the specified report headings
- 0: No report turned in
Project Presentation
- 4: Project is presented clearly and completely
- Student presents information in a logical and interesting sequence
- All requirements of the project were presented
- 3: Project presentation has minor problems
- Student presents information in a logical sequence
- All but one of the requirements were presented
- 2: Project presentation has significant problems
- Audience has difficulty following presentation because student jumps around
- At least 1/2 of the requirements were presented
- 1: Project presentation is unclear or incomplete
- Audience cannot understand presentation because there is no sequence of information
- Less than 1/2 of the requirements were presented
- 0: Not presented at the specified time
Maximum Score: 50
^ top
What to Turn In
Submit your project to WebCT and nclude the following files for grading:
README.txt with your name, date and instructions for installing and playing your game.
In addition, list any extra credit you may have. If you do not list anythen I assume there is none.
- An executable JAR file that runs your game when double-clicked on a Windows desktop.
Your game must start in full-screen exclusive mode.
- A zip or JAR file with all your game source code.
The source code can be included in the same JAR file as the executable classes or in a separate file. However, if it is in the same file, and you want your game included in the Hall of Fame, then your souce code will get distributed as well as the executable classes.
- Your project report in a file named
report.txt
- Optionally, other files for additional deployment options as listed in Extra Credit.
You must submit all the files needed to make your assignment function properly and all your source code. Do not assume that the instructors has any files. Your source code must compile and your assignment must work as submitted.
^ top
Adding Your Project to the Hall of Fame
You decide whether or not to add your project to the Hall of Fame. To do so, you need to tell the instructor that it is OK in your README.txt file. For example:
Want Fame? You have my permission to publish my game in the Hall of Fame.
If you change your mind later, then email the instructor.
^ top
Home
| WebCT
| Announcements
| Schedule
| Expectations
| Course info
Help
| FAQ's
| HowTo's
| Links
Last Updated: June 01 2007 @14:37:55
|