Skip to content

2. Game Specification

Nicholas-Rich edited this page Apr 29, 2021 · 49 revisions

Wave Game Specification

This document outlines specifics of our game, "Wave".

Character and Enemies

Player

The player is a spaceship object.

Player

The player will unlock different style ships using coins.

Enemies

There will be many types of enemies that have different behaviors.

This enemy will be called a Bouncer. It will have a constant velocity and bounce off of walls and obstacles around the play area.

BOUNCER

This enemy will be called a Tracker. It will be have a slower velocity than the Bouncer, but will directly track the player. It will collide with obstacles and not be allowed to pass through. If the tracker caught up with the player, it will give a damage to player's health and disappear.

TRACKER

This enemy will be called a Ghost. It can phase through any obstacle, but will be the slowest enemy.

GHOST

Music

Art Style

This style is based off of a 1980's arcade game, Galaga.

Story

You are a pilot of the Galactic Federation, and are tasked with making the journey to a far away planet Onisius. On the way, you encounter waves of enemies trying to stop you from completing your mission. Your spaceship's onboard weapons have been disabled, and you must do your best to survive by dodging and fleeing.

Will you be able to survive long enough to make it to your destination? Or will you be blown away into the cold darkness of endless space?

Screens

Title Screen

The title screen will contain a background animation. It will have buttons for New Game, Resume Game, Custom Game, Skin Shop, High Scores, Help, Options, and About. (More on each of these below). It will have the currently logged in user in the top right and that players coins on the top right. If no player is logged in, nothing will be shown in those places.

New Game

Selecting this option will start out the game from level 1 with current login user. If currently no user is login in, it will prompt a alert box, asking user to be login first.

Resume Game

Selecting this load the last saved game status of user (see serialization specification for technical specifics). A alert box with message will appear if the user has not login yet.

Custom Game

Selecting this option will prompt the user to enter a customized file name. The game will start if load successfully. Alert message will pop out if the name of the file enter was not found.

Skin Shop

Selecting this option will allow the user to spend their coins on ship skin. We will have a set amount of ships to buy. Attempting to use the shop while not logged in will prompt the player to log in in form of alert box.

options

Selecting this option will allow the user to select the difficulty level among Easy, Medium, and Hard. User may also turn on the cheat mode.

High Scores

Clicking on High Scores will display a classic arcade-style high score list with player's names and scores.

Help

This screen will show info on controls, enemies, powerups, and general objective of the game.

About

Clicking about will show needed information for starting the game and important in game info.

Credits

this will display the names and responsibilities of each team member.

Game Screen

Main gameplay will take place here. (see Gameplay section below).

Gameplay

Levels

The player will start at on level 1. There will be 5 levels for the player to complete. Each level will have a more difficult obstacle layout, along with more enemies and harder types of enemies.

Upon completing a level, a space will open up in the right side wall, and arrow will point the player towards it. When the player proceeds through the wall, the next level will load and start.

After the last level is complete and the player follows through to the right, it will have a end game screen.

Upon the player's defeat, a game over screen will be displayed.

Difficulty

In this game, difficulty affects the speed of the game. On Easy, all enemies and the player will move slowest, medium will be a faster speed, and hard will be the fastest. Depending on the difficulty, a bonus will be added to the players score at the end of a level (see scoring).

Progression

Each level will be based on a timer. The timer will be one minute for each level. The arrow directing the player to continue will be displayed after the time has gone down to 0. All the enemies will disappear as well.

Health

The player will start with 100 HP (hit points / health). Each hit will lower the HP of the player and be updated in the health bar at the top of the screen. Upon HP reaching 0 or below, the player will have a death animation, then the game over screen will appear.

Controls

The player will be controlled with the arrow keys.

Enemies

This table shows each enemy, its damage per hit, behavior, and special notes.

Enemy Damage Behavior Notes
Bouncer 1 Bounces off of walls and obstacles. Medium speed Cause damage once hit the player
Tracker 1 Tracks player directly, and also can pass through obstacles constant damage per update, does not disapper when hit
Ghost 1 Ghost moves the same way as Bouncer, and also can pass through obstacles Cause damage once hit the player

Obstacles

As the player progresses through levels, more obstructive obstacles will appear. Obstacles are different shapes and sizes, and will get in the way of players and enemies (except for ghost). Obstacles will be taken from a list of pre-made obstacles for consistency and ease of implementation in the level editor.

Examples

square rectangle thin rectangle

Play area

The play area will be the same size as screen. There will be a timer in the upper left counting down the time left on the level with player's health. The total score will appear in the upper right of the screen.

Powerups

The powerups will be in a tier list in which the best is 0 and the worst is 4. See table below for complete tier list and effects. The higher the tier, the rarer the powerup.

Powerup Tier Number Effect Notes Image
Freeze 0 Stops all enemies from moving for 5 seconds. Gives time for player to move to optimal position. None Freeze
Large Health Pack 1 Heals player by 50 points. None Large Health Pack
Invincibility 2 Gives player invincibility for 5 seconds. Enemies that disappear upon impact still disappear. None Invincibility
Destroy Ship 3 Destroys a random enemy in the play area. None Destroy Ship
Health Pack 4 Heals player by 10 points. None Health Pack

Score

Score will be the total time survived per run in seconds (a playthrough from start game to death). This score will be what is used on the high score screen. The score will then be converted to coins by the equation (SCORE / 2) + DIFFICULTY (100 for easy, 200 for medium, and 300 for hard). The coins will then be added to total coins.

Cheat Mode

Gives player invincibility for the whole game. Player can activate the mode by clicking the "Turn on Cheat" button when player clicked the "Option" button.

Level Editor

The level editor will be a separate GUI app that allows for the user to set up obstacles, entities, and powerups. The user can save all this information and load it in a custom level screen in the main window of the main app.

Serialization

The game will be save when user clicked the end game button at pause, by pressing the button p. The game will also save when player close the window of the game. The same game screen will resume when User clicked the load button, including all the enemies, obstacles, and power ups on the screen

Technical Description

This game will run on Windows machines.