Computer Science 420: Game Engineering

Project 2:  Tank
Complete Playable Due 3/25/2016
Other Team Feedback Due 3/28/2016
Final Version Due 4/1/2016

Tank!

For your next project, you will create a single player (or split-screen multiplayer) tank game.  This is another old standby -- tanks that move around the landscape, firing shells at each other.  You have a fair amount of lattiude here to do something fun.  However, your "basic" tank game should have the following features:
For the basic game, you do not need to do realisitic physics (besides the shells, which should at least follow a nice parabolic arc).  You can use a physics engine if you wish, but it is not required.

Tank Extensions

Once you have your basic game working, it's time to add more features!  As with pong, you have some lattitude, here are some examples of what you might do (these are just examples, you do not need to do all of them, of course -- you could also do something not on this list.  Feel free to discuss any extensions with me.)

Collaboration

You are strongly encouraged (though not required) to work in teans for this project.  A team size of two is somewhat preferred -- a team of 3 is acceptable, though I will expect you to have a slightly more impressive final product.  Team sizes larger than 3 will require some convincing -- I'll expect something really special from a larger team.  

For artwork (models, textures, etc), you can use any available public domain sources, or build your own from scratch, or some combination.  As with all academic content, be sure to cite your sources!  This is mostly an engineering class -- "programmer art" is perfectly acceptable.

Recommended Archtecture

The following is a recommended architecture for your tank project.  Feel free to use any (or none!) of it as you please.  You should make sure, however, that whatever you do is reasonably thought out.
Notes:

Grading

Your code will be graded on the following metric
Note that a project that does not compile, or compiles and does not run, will recieve very few points, regardless of how much code you submit.

Submission

You should create a subversion directory that contains everything you need to compile and run your code, under <your username>/cs420/Project2/.   If you are working in a team, the system administrators will be happy to create a new subversion directory for you team. Place all of your required source files, project files, solution files, etc into this repository.  Be sure to preserve any necessary directory heirarchies.  You should also submit all art required by your program. You should not submit any object files, executable files, or Intellisense Databases.  

Place a README file at the top level of your subversion hierarchy which describes how to compile and run your submission, how to play your game, any features you want to highlight, and anything else I need to know to get the most out of your game.

It is strongly recommended that you keep all of your files in subversion from the beginnng of the project -- do not use subversion as a submit directory!