CS 117 Final Project

Due noon, March 17, 1995

The Project

For your final project, you will write a game program.

Write your game so it is fun to play. You should design your user interface with ease of use in mind, so users can concentrate on strategy instead of being annoyed by the things required to enter their moves. An aesthetically pleasing display of the game board or hand, if appropriate, also adds to the fun of playing a game. Think about computer games you have played, and what makes some of them a pain to play, and others a delight.

Your choice of game will determine what will be required to make the game fun. For example, if you select a two-person game like Battleship, you will have to program the computer with a strategy, since having two people play Battleship with one screen is a pain. On the other hand, adventure games (you walk from room to room discovering stuff) don't require a smart computer strategy. Similarly, Tic-Tac-Toe is tedious at best, but it's really dumb if the computer is an idiot about choosing its moves.

Be warned that even very simple games can be tricky to implement, so don't try something like Backgammon or Hearts unless you're sure you have plenty of time to devote to the project.

A little advice

Don't start late.

Have a careful plan of the small steps you will take in travelling from no program to the final program. Design your program modularly, so you can make the modules work one at a time.

Don't go to sleep without a program that compiles and runs without crashing. It doesn't have do anything--just don't try to do so much at once that you can't wrap up the day's work into a running, partially complete, program.

Make copies of your program before making changes.

Don't assume that a text-only game is no fun. An interesting game is interesting whether it's played on paper or in the dust on the ground or on a high-powered graphics workstation.

Grading criteria

The Schedule

The following are due by Friday, March 8. Send them to me by e-mail at jondich. I will reply to the above within 24 hours of the time you email it to me. The sooner you get this to me, the better for all of us.

Due noon Friday, March 15 (via HSP)

Miscellaneous

Feel free to talk to each other and learn from each other, and compare approaches to the problems posed by these programs. I ask, however, that all your code be your own. If you take a significant idea from another person, please give explicit credit to that person.

Talk to me. I can help. I will hold regular office hours during reading and exam days. I will post my hours on my office door.

Start early, keep in touch, and have fun.



Jeff Ondich, Department of Mathematics and Computer Science, Carleton College, Northfield, MN 55057
(507) 663-4364, jondich@carleton.edu