CS306: Processing Systems and Structures
Final Projects
Prof. Lockwood : Spring 2002

Death Star Run

This game will emulate the trench run on the Death Star at the end of ANH. The player will be forced to dodge various obstacles while shooting enemy spacecraft. The view will place the player behind the X-Wing (instead of a cockpit view). The game will be rendered using .bmp and .pcx files as well as line drawing, most likely on the mode 13h screen. The StarWars theme music will play (midi?) for the duration of the game (maybe). Control will consist of keyboard input, allowing the X-Wing to move, fire lasers, and control throttle. The data representation will be similar in format to the maze file from labs, except there`ll be only one direction of travel.

Image filtering

Using a given convolution kernel, blur or sharpen an image gradually. The image will be greyscale to make coding easier, and will probably use an easy image file typesuch as pcx or bmp. The progress of deblurring will be shown on the screen in real graphics mode.

Juggle

This project is a game that allows the user to operate the arms of a juggler (image of juggler and background can be selected by user) to simulate juggling with three balls (time permitting, one hand juggling with two balls also). When a player hits a key, the juggler throws a ball, but the hand must be returned back to original position before the balls in the air fall. The longer the key is depressed, the higher the balls are tossed. We will need to implement bitmap graphics (creating and loading) and user I/O (motion of hands and balls in response to keys selected).

Othello

We plan to make a 2-person Othello game (also known as Reversi), a board game where 2 players take turn placing tokens on a grid, with the goal of capturing most area. The game will be using graphical user interface in graphics mode. The players will use keyboard commands to place pieces via a blinking cursor (with possible upgrade to mouse control). We will attempt to implement an automated computer opponent. We will have 3 main module groups: GUI (self-explanatory), a game engine, which controls legalized moves and current status of the game, and an AI section that handles the computerized opponent.

Project Daydream

Sometimes students use doodlings, calculator games, paper football games, and even gigapets to pass the time during a boring class. This rendition of Simon takes place on top of a crumpled sheet of notebook paper where simple drawings of the players and the game setup are drawn onto the sheet of paper. Game input is done through the keyboard and screen responses are generating by updating sections of the screen as needed. We may even include sound for effect. The basic elements we will be implementing will be file I/O, video graphics (may include transparency effect), keyboard I/O, and maybe sound (PC Speaker). I imagine that this project will take at least 5 hours for each member to complete not counting the time to create the images (BMP) for the game to display. And just for fun (if there is time) a number of easter eggs.

Rampart

Rampart is a castle simulation game in which 2 users set up a castle-style battle and the computer carries out the simulation. User I/O will be at the beginning of each battle to set up pieces each user’s pieces. Graphics (mode 13h) will include different military units- castles, light tanks, and heavy tanks. AI will involve figuring out which pieces to attack first, and random factors will be used to decide the outcome of the battle.

Snood-style Game

The project will involve the assembly implementation of a Snood-type game (see www.snood.com) using video mode 13h. Rather than standard snoods, simple blocks of colors will be used. Implementation will include graphics input, video output, user input (keyboard?, mouse polled constantly by interupt?), and gameplay/scoring. Other possibilities include importing snood pieces from .bmp or.pcx images of other objects (world leader`s heads?, disks and cds?), PC speaker sound effects, increasing levels, etc. Team members needed for any of the above areas in implementation, which include gameplay logic, graphics, I/O control, interupts and probably more.

Submarine game

It will be a 2D side view of the terrain and the one submarine unit you command. You will need to navigate the submarine to its final destination while avoiding hazards. If we have time we will implement a missile system, and a final `boss`. The sub will have to hit the boss x times before it is killed and the level fnished. The current areas that will need work are: the visuals and updating them, the movement of the suband collision checking, the input from the keyboard, and the `missile` system and boss if we have time.

Dynamic Fish Bowl

Create a 2D underwater world consisting of various types of fish and possibly plants and other types of food. In this world fish will interact with each other, by eating other fish, traveling together, etc. The dynamics of the fish will be programmable and possibly even customizable via a configuration file. Finally the state of the world will be savable to disk for later reference. Areas of expertise include graphic design and the use of the graphics mode for moving sprites about the screen. File IO knowledge will also be needed for saving of states, etc. Expertise in good programming practices for creating efficient algorithms to create the dynamic nature of the world would be useful as well.

Fractal Generator

We will be creating fractals (The Julia Set) where the user controls number of colors, and iterations. Floating point arithmetic will be required and graphics will be done in 13h video mode. Time permitting we may allow greyscale to be chosen and turn this into a screensaver that randomly creates the fractals. This lab will require plotting of the points, and a method to compute the points and given color. (2 people) Since most of the work will come from computing the fractals, the methods will be worked on jointly to ensure an even distribution of work.

Wars: 3D Contraband

Much like the word-based calculator games, this version of Drug wars will involve a man trying to earn a living in the streets. It will be drawn using 13h in first-person style ala Doom and all those other similar games. There will be a game play engine, which will drive the play and the money earned, and also a map reader, which will be able to take a text file version of map of a city streets and convert it into the game space of Drug wars. To same time, it will be based losely off of the MP5 framework.

Word school

This is a simple game that targets kindergarten age children. Program shows a picture to a child and the child supposed to guess the first letter of the word that the picture is representing. The child guess up to 3 times, if the guess is correct some message (or picture) is displayed, otherwise the correct answer is given. I want to start with real basic stuff and add futures as we go. I think it’s important that the project will be doable with challenges added to a finished project. Additional future can include sound (PC speaker), animation, etc.