ECE291 Computer Engineering II Lockwood, Fall 1997

Galactic Control: A Futuristic Combat Simulator

Due Date December 10, 1997
Purpose To get an A in ECE291
Team Members
David Pratt 

Paul Bragiel 

Gabriel Stern 

Koichiro Miyazaki

Introduction

Artificial Intelligence

The artificial intelligence is implemented in a state machine format.  It varies in three levels of difficulty.  It dynamically calculates the position and time at which the ship is to shoot the human opponent.  In higher levels of difficulty the artificial intelligence opponent has the ability to increase the rate of fire, which is also called burst mode.  In the hardest level the ai opponent is programmed to run away if it encounters a dangerous situation caused by the human opponent.  It then proceeds to come around and attack the human opponent from a strategic location.

Art/Design/Sound

All of the art was drawn from scratch.  GFX2 and DP2 were used to design all the characters and assorted art used in the game.  It consisted of 8 rotations for 2 ship types and 2 different variations on both ships.  He also implemented all the bullets, energy ports, life meters, backgrounds, foregrounds as well as the whole introduction and credits/game over sequence.  Along with all of the art came intergration of the art through design.

The sound consisted of 10-15 wavs, which were downloaded via the internet as public domain sounds.

Architecture

The game is based around a client/server messaging system. One player in the game is designated as the 'server' with his opponent being the 'client'. Messages received from the other machine are processed and stored in local variables on either machine for later processing. A detailed messaging protocol has been designed, in order to ensure synchronization of game states between the machines, and to convey as much information as possible with the smallest amount of network traffic.

The approach we have taken can best be described as semi-object-oriented. We have defined several types of C and assembly structs that hold global information and data about every object inside the game. For each of these structs, we have defined a set of funtions that operate upon them, changing their state according to predefined game rules.

Artificial Intelligence ( Koichiro Miyazaki )

This function is called when single player mode.

The Game Loop ( Koichiro Miyazaki )

The main game loop also has several functions associated with it, dealing with game logic and rules The Network Subsystem ( David Pratt )

The network operates by sending MSG structures back and forth between client and server. It consists of three main fucntions.

The Sound Subsystem ( Paul Bragiel )

The Graphics Subsystem (Gabriel Stern )

The Miscellaneous Functions ( Gabriel Stern )