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)
-
Game Specification
-
Rules and Mechanics
-
Artwork and User Interface
-
Gameplay and Balance
-
Music and Sound
-
Background Story
-
Characters
-
Levels
-
Scripts
-
Cut Scenes
-
Artificial Intelligence
-
Technical Specs
-
Schedule and Personnel
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 isn't too much story in this game, so that they 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 cutscenes 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
-
Menu
-
Start up menu
-
start game
-
if a game is in progress, replace with resume game
-
options
-
choose screen preferences
-
shooter on right or left
-
engine room on right or left
-
volume
-
credits
-
displays screen of who-did-what in the creation of this game
-
exit game
-
Engine Room
-
4 lanes, each with an obvious color
-
keyboard used to move between lanes
-
wasd
-
arrow keys
-
can only move left and right
-
can only "pop" between lanes
-
instant movement to lane
-
wait for ship to graphically move before movement can happen again
-
track looks reminiscent to audiosurf/guitar hero
-
nodes appear at top of screen and scroll down towards player
-
nodes stay in their specific track
-
acquire "nodes" as you travel down a specific lane
-
if you are in the blue lane, and you colide with a blue node, you acquire it
-
how notes appear
-
randomly
-
based off of certain sections of the game
-
based off of shooter game (see below)
-
bar at the bottom with 12 notches in it
-
notches fill up as you collect nodes
-
notches display in color order
-
red, yellow, green, blue, empty
-
auto sorts as nodes grabbed
-
once entirely filled, you provide a boom to player on the other screen depending on the colors picked up
-
boons will be short-lived (5-10 seconds)
-
each recipe has a score value to be added to the final score
-
recipes (higher recipes in the list overwrite the lower ones
-
Temporary Invulnerability
-
3 red, 3 yellow, 3 blue, 3 green
-
for the next 5 seconds, the player's shields take no damage from incoming enemy attacks
-
Exploding Image
-
creates an image of the player ship at its location, exploding 3 seconds later
-
explosion similar to Unstable Explosive Pulse
-
4 red, 4 yellow, 4 green
-
Reboot
-
Player ship holds still for 2 seconds, cannot fire
-
regains % shields over those 2 seconds
-
4 red, 4 green, 4 blue
-
Ultra Beam Cannon
-
Player Ship holds still and stops firing for 2 seconds while charging
-
afterwards, player gets 5 seconds of movement while firing giant laser in front of them
-
4 red, 4 yellow, 4 blue
-
Rush
-
player ship charges from it's location to top of screen
-
during this time, and for 1 second afterward, player is invulnerable
-
any enemy in it's way takes substantial damage
-
4 yellow, 4 blue, 4 green
-
Weapon Speed
-
when one cannon would normally fire, both fire
-
ie, weapon firing rate is doubled
-
lasts 10 seconds
-
equal red and blue
-
Forward Shield
-
creates a shield in front of the ship that lasts for 10 seconds or until it takes 40 damage
-
equal red and green
-
Missiles
-
firing rate cut in half, but seek enemies and explode on impact
-
explosion causes damage to all enemies in certain radius
-
equal red and yellow
-
Unstable Explosive Pulse
-
a single explosive pulse expands from player ship, covering most of the screen if player is in the middle of the play field
-
equal yellow and green
-
Engine Flare
-
Deals substantial damage to enemies immediately behind player ship
-
equal yellow and blue
-
Rear Shields
-
creates a shield behind the ship that lasts for 10 seconds or until it takes 40 damage
-
equal green and blue
-
Increase Damage
-
weapons do 1.5 times normal damage
-
more red than any other color
-
Stable Explosive Pulse
-
periodically (1 per second) creates a circular pulse from around player ship, dealing damage to nearby enemy ships
-
lasts 5 seconds
-
more yellow than any other color
-
Increase Speed
-
Ship moves twice as fast
-
more blue than any other color
-
increase shields
-
ship gains 35% shield points
-
more green than any other color
-
appear in different lanes
-
purpose is to keep someone from mindlessly sitting in one lane
-
if you hit one, you lose all nodes that you have stored
-
for example, if you have 10 nodes and you hit a mine, you drop back down to 0
-
Shooter Game
-
controls
-
mouse movement to move ship
-
ship moves toward pointer at certain speed
-
left click to shoot
-
player ship
-
health
-
percentage based
-
0 points minimum shields
-
100 points maximum shields
-
slowly deplete over time
-
regenerates through engine room
-
takes damage before hull
-
will always at least fully absorb an attack
-
for example, if I have 2 shield points left and take 10 damage, the shield is gone, but I don't die
-
hull
-
irreparable
-
one hit onto hull and you die
-
weapons
-
always fire forward
-
two streams of lasers
-
alternate left and right guns
-
enemies
-
colored based on the 5 lanes in the engine room
-
red, orange, yellow, green, blue
-
each enemy has a chance (based off of the type of enemy) to spawn notes of that color in the engine room
-
move in predetermined patterns
-
some have simple AIs
-
for example, look at guy and shoot
-
more detail later, in AI section
-
score value
-
amount of points awarded to player when this ship is defeated
-
health value
-
how much damage the ship can take before it dies
-
bosses
-
level
-
scrolling background
-
scrolling foreground
-
similar to background, except only in certain places
-
times and locations for enemies to spawn
-
checkpoints where player will respawn
-
boss fight at end
-
completion
-
player dies and starts back at previous checkpoint
-
killing of a boss sends player to next level
-
killing of final boss marks completion of the game
-
Both
-
score
-
every time you kill an enemy, you get points based off that's enemy's score value
-
every time a recipe is completed, you get points based off that recipe's score value
-
list of top scores saved
-
menu
-
press the escape key to return to the menu
-
Artwork and user interface
-
Layout:
-
shooter game is on one side, engine room on other
-
default shooter is on right
-
default engine room is on left
-
can swap in options
-
engine room
-
main part of this side is play area
-
bottom part of screen has bar where notches are stored
-
light up with whatever color is occupying that spot
-
auto sorts as colors are grabbed
-
list of recipes
-
offensive
-
top right
-
expands downward
-
defensive
-
recipes dim as they become unattainable with current configuration of nodes
-
when a recipe is highly recommended for a certain area, it is ultra-highlighted
-
shooter
-
full side is play area
-
shields
-
if left side
-
grows from bottom right of side to middle right
-
if right side
-
grows from bottom left of side to middle left
-
score
-
top middle, between the two screens
-
multiple layers
-
scrolling background
-
middle action-layer
-
this is where all the things the player can interact with are
-
darker, thicker lines
-
scrolling foreground
-
tend to be completely black
-
only in certain areas
-
example
-
boss' shadow flies across screen before it comes in to fight player
-
insert layout image here
-
Sample Ship Images
-
Sample "Notches" Image
-
Feel and Style
-
Vector Art from Adobe Illustrator
-
however, keeping it more on the "cool" side than the "cartoony" side
-
-
mostly keep to four colors, as well as black and white
-
background
-
dull versions of the colors
-
mostly thin, gray lines
-
must be obviously background, do not want player attempting to interact with this
-
play area
-
area where player can interact with things
-
brighter versions of the four colors
-
must be obvious that player can interact with these
-
Enemies are in spaceships
-
things blow up
-
standard ships
-
explosion covers ship, ship disappears
-
larger ships
-
bosses
-
slowly change to a full-white sprite
-
explosions randomly all around
-
entire screen floods white
-
despawn boss
-
return to normal
-
Gameplay and balance. What can the player(s) do? See? Hear? How does he or she interact with the game world? How are weapons or other tools acquired, used, lost? What are the puzzles that have to be solved? Does left click mean something different than right click? What kind of physics model, if any, is being used? Describe how the game is designed so that whatever options the user chooses, the game is still interesting and playable.
-
Music and sound
-
notable sound effects
-
menu sound effects
-
hover over menu option
-
select menu option
-
player weapon fire
-
simple laser sound
-
this will nearly always be going off, so it can't be too flamboyant
-
weapon charge up
-
so player knows when enemy is preparing for a larger attack
-
beam weapon fire
-
repeatable sound that represents a constant beam being fired
-
missile weapon fire
-
player knows that a missile has been fired, and should be prepared to dodge
-
same sound used when player fires missiles
-
explosion
-
when an explosion powerup is used
-
warning alarm
-
so player knows a boss is incoming
-
music
-
want to stick old midi-sounding music
-
remind player of games' roots
-
Background story
-
Fairly Simple
-
no dialogue
-
player character must use newly invented space fighter ship to defeat bad guys
-
travels through multiple levels
-
Characters
-
player character
-
engine room robot
-
5 bosses
-
numerous basic enemies
-
Levels
-
5 levels
-
each consists of battling enemies
-
some have mini bosses
-
all end in boss
-
each (except last) has a dominant color, corresponding to one of our 4 colors
-
level 1
-
opening level
-
battles over land
-
green
-
level 2
-
level 3
-
battle in volcanic area
-
red
-
level 4
-
level 5
-
Scripts
-
Text based for interface
-
Warning
-
flashes across screen before boss fight
-
labels
-
shooter side
-
shields
-
timer
-
current powerups
-
engine room
-
offensive recipes
-
defensive recipes
-
label for notches
-
Programming Scripts
-
Cut scenes
-
opening cutscene
-
Explain what happens here
-
ending cutscene
-
Explain what happens here
-
Artificial Intelligence. How do NPC's, enemies, and followers behave?
-
bosses
-
each boss behaves differently
-
basic enemies
-
have a spawn location and a pattern to fly
-
also have locations/times to fire weapons
-
slightly more intelligent enemies
-
turn towards player ship and perform some action
-
for example, one kind of enemy will spawn, rotate to look at player ship, then fly straight in that direction
-
another may slowly charge a weapon while slowly turning to look at the player ship
Technical Specs
-
COMPLETE LATER
-
Programming languages, including compiler and emulator.
-
Libraries that will be used.
-
Any code or engines to be used. If you plan to use a game engine, describe it and explain what its interface (to the rest of the system) is.
-
Target hardware and Operating System.
-
Data Structures, or better, interfaces of ADTs and classes. A list of all (C++/Java) classes and their interfaces is appropriate in this section.
-
Exact algorithms. If an NPC "knows" how to walk back and forth between to positions, avoiding a large rock in between, discuss the AI algorithm (or script) that will be used.
-
Back-up and version control plans. You don't want to lose 40 hours of work in tenth week!
Schedule and Personnel
-
Deliverables as of the end of seventh week, Friday, Nov. 13.
-
Linda
-
Map, ships, and missiles drawn for level 1
-
Audiosurf-styled track and "notes" drawn (same for all levels)
-
Ken
-
Level Design for Level 1
-
AI for some ships / missile patterns for Level 1
-
Austin
-
Lay out basic foundation / engine in ActionScript
-
Dennis
-
Write script for opening
-
Find sound effects for lasers / explosions
-
Everyone
-
Functioning Audiosurf-styled track (only basic single-color recipes)
-
Implement effects of basic recipes in shooter portion
-
Implement level 1 (or at least a functioning demo)
-
Deliverables as of the middle of tenth week, Wednesday, Dec. 2.
-
Linda
-
Ken
-
Level design for levels 2-5
-
Dennis
-
Find music for levels 1-5
-
Everyone
-
Implement levels 2-5
-
-
Implement remainder of recipes for Audiosurf track
-
Implement remaining power-ups for shooter portion
-
Deliverables as of the end, period, Wednesday, Dec. 9.
-
Linda
-
Everyone
-
Insert additional sounds/graphics/animations
-
Fix any remaining bugs
Primary Roles / What We Need to Learn:
Kenneth Childs: Programmer/Level Design
Austin Fitzpatrick: Programmer
-
The biggest hurdle for me is going to be gracefully integrating the graphics. I'm fairly familiar with the language but I've always stumbled over Illustrator and there will be some learning curve involved in getting the graphics to play nicely with the code.
Linda Morton: Graphics designer
-
During the remainder of the course I'll need to familiarize myself with ActionScript so I can help with programming. I'm also highly uncomfortable working with vectors if they're not freehand, so I'll need to work on that when drawing the Audiosurf-esque portion.
Dennis Trinh: Programmer/Sound