Computer Science 113 / Informatics 125
Computer Game Development

Laser Cruiser: Design Document

The Fighting Mongeese
Kenneth Childs
Austin Fitzpatrick
Linda Morton
Dennis Trinh

Table of Contents

Overview (Executive Summary)

    The core game play of this game revolves around two separate, but dependent, gaming experiences. The game is designed to be played by two players, each taking control of a different aspect of the game; however; players who wish to challenge themselves can attempt to control both at the same time. We refer to these two aspects of game play as the “shooter” game and the “engine room” game.

    The shooter game plays like what one would expect out of a standard top down shooter. The player controls a ship as it travels over a predefined track, all-the-while shooting down enemy ships and dodging enemy attacks. The engine room game is more of a puzzle game. The player moves themselves between 4 lanes, gathering different colored nodes. After collecting 12 of these nodes, the player achieves something based off of several predefined recipes. These games are not completely separate. Actions that take place in the shooter game will add different kinds of nodes to the engine room game, and the completed recipes of the engine room will strengthen the player in the shooter game. The two players need to work together to keep their ship in one piece as wave after wave of enemy ships attack them.

    There is not too much story in this game, so that the player can more quickly get into the action. There is very little text, and any story element will be expressed through the game play itself. Short cut scenes may rarely be used, if it is deemed necessary to take control away from the player. An example a situation where this may be used is just before a boss fight while we introduce this new character to the player.

    This game employs a very simplistic color scheme behind its art design. There are four major colors in the game: red, yellow, green, and blue; and these colors, along with black and white, make up the majority of what will show up on the screen. Things in the background will be more dully colored while the foreground will be more vibrant. This allows for a beautiful world that still holds functionality (players will more easily be able to tell what they can interact with).

    The game is being programmed in Action Script 3, so that it can be run on any machine that has a Flash player. This includes Windows, Macintosh, Linux, as well as many other devices (though the controls may have to be altered to fit these), which allows for us to target a larger audience. The eventual plan is to port this game into an Adobe AIR desktop application as well as a Flash release, but until that point, all testing will be done in Flash.


Game Specification



Technical Specs


Programmed in Actionscript 3.0 using Adobe Flash CS4.  Various ports would be easy to do in the future, but this is the language we are sticking to for our 10-week deliverable.  It will be able to be run on any machine capable of running Flash Player (all three main OS's and several mobile devices) but a control scheme has not been derived for non-computer controllers.


Flash's built in animation engine will be used for animation.  Actionscript 3.0 is incredibly similar to Java so the transition from Java to AS3 should not be an issue for the programmers.


Laser Cruiser will run on any machine capable of running Flash Player.  We will be testing on Mac OS X 10.6, Windows 7, and Ubuntu 9.  Hardware requirements will be determined during development but should be relatively modest in comparison to today's hardware.


Interfaces are unknown as of yet, but a sampling of the minimum class list would be as follows (indentation shows inheritance):

Game
    PuzzleGame
    ShooterGame
PlayerObject
    PuzzlePlayerObject
    ShooterPlayerObject
Ship
    EnemyShip
        LancerShip
        LaserShip
        SuicideShip
        ArcShip
        ... (for each enemy attach pattern)
Node
PowerUp
    ShieldPowerup
    WeaponPowerup
    ... (for each powerup)
Bullet
    EnemyBullet
    PlayerBullet
        FanBullet
        SpeedBullet
        ...(for each firing type)
Background (separate .swf file containing the scrolling background)


Each class extending EnemyShip will have a simple AI programmed in.  Lancers fly straight from their starting location to their ending location.  Suicide ships attempt to aim at the player and fly forward.  Each AI will be slightly different but all will be relatively simple. The difficulty in the game comes from understanding what each ship is going to do and getting out of their way, not from "outsmarting" each one individually.

Incremental backups kept by both a local Apple Time Machine drive as well as nightly builds posted to a remote git repository.

Schedule and Personnel




Primary Roles / What We Need to Learn:

Kenneth Childs: Programmer/Level Design


Austin Fitzpatrick: Programmer


Linda Morton: Graphics designer


Dennis Trinh: Programmer/Sound