Course Project Guidelines

(Last Mod: 27 November 2010 21:38:40 )

ECE-1021 Home


Your final project in this course is to write a program that implements one of the following games. Your program is expected to be a reasonably faithful reproduction of the game - at least as far as the rules are concerned - but you are permitted (expected, really) to make rational modifications to the user interface to reflect the fact that you are limited to keyboard input and character graphics output. For instance, in Joust, a battle occurs whenever two participants touch each other and the participant that is higher wins. Using character graphics, you could represent a player as a 2x2 block of characters. 

Some of the games you will already be familiar with, others will be unknown to you. Regardless of whether you are already familiar with the game or not, you will probably need to become conversant with the rules of the game at a level of detail greater than you already are. So don't pick a game solely because you think you already know the rules.

Two player games: If the game is a two player game, you do not need to implement a function that plays the game - in other words, you do not need to have a single play be able to "play the computer". Your program only needs to record the moves of two human players.

In the case of games that emulate some of the classic video arcade games, you only need to impliment the One Player version. You want to mimic the game's behavior as best that you can. For instance, in Space Invaders the aliens move faster as you get to the end of a panel of invaders. Your program should somehow exhibit similar behavior, although it is not expected that you will be exact. The goal is to write a program that is aware of the "spirit" of the game and makes an honest effort to conform to that spirit in it's implementation.

Your program has to impose the rules of the game and has to be able to detect when the game is over.

The following are the games (or game suites) that are available. If you would like to do something not on the list, discuss it with the instructor who will decide whether or not to add it to the list. You are free to switch to a different game provided it is not already taken.

These games are clearly not all at the same level of difficulty although some effort has been made to group the simpler games into "suites" in order to even out the expected amount of effort. Keep in mind that you also have some control over this since you have some say in which game you implement. If you do one of the simpler games, you will be expected to do a more complete job in implementing some of the more subtle behaviors and in having a more polished screen display and user interface. Give some serious consideration to which game you choose - some of the games that are simple on the surface involve some non-trivial subtleties while some that sound very complicated at first glance are really very straightforward to implement.

Your game needs to be self contained - meaning that someone who has never played it before needs to be given enough information about the game so that they can play it. So you've got to provide the objective of the game, how the game is played, and what the rules are that govern the game. You do not need to provide hints and strategies, but you do need to provide information about why an attempted action is not allowed - it's not enough to just say "illegal move".