Protector
Game Design Document

by Tristen Terracciano, Dan Gomm, and Noam Dorogoyer

INTRODUCTION

This document describes a 2D top-down game called “Protector”. The game will employ sprite-based animation, tiled backgrounds, collision detection, physics, AI, pathing, efficient memory management, and other 2D game techniques.

TECHNOLOGY

Protector will be created to run on the Windows PC platform as an online game. To create the game, we’ll be using the Javascript programming language, which will run in all modern browsers. Additionally, the game will run on an open-source Javascript game engine, Phaser. This game will require top-down maps to be created, which will be done using the Tiled tilemap creation software. Finally, for the 2D sprite art, an online web app, Piskel, will be employed.

BACK STORY

In a a apocalyptic world, our main characters, [Zaun - temp name] falls victim to a Zombie attacks, dies, and comes back as a Zombie. Since Zaun is theoretically dead, he has a ghost. The role of the ghost is to watch over and protect his zombie body.

OBJECTIVE

The aim is to stop the mindless Zaun Zombie from getting hurt, harming others, and obtain the antidote.

GAMEPLAY

The game will load an initial map (larger than the viewport). This map will be made of tiles and will contain various threats that the zombie needs to avoid. In order to protect and guide his zombie body, the ghost has the ability to construct roads, walls, and bridges. The zombie will follow any infrastructure, choose randomly between forks, and in the event that there is no infrastructure, will be overwhelmed by his zombie instincts and will attempt to attack someone. It will be the role of the ghost (player) to make sure that the Zombie doesn’t cause chaos. An additional caveat is that the ghost’s construction power will be limited by its energy generation.

CONTROLS

The user will select an ability either via mouseclick on the toolbar or via a keybind. They will then select the tile they want the selected structure to appear on.

GRAPHICAL USER INTERFACE

The menu will be relatively simple. It will contain a play screen, back story, and options button. The back story will replay the introduction to the game and explain the story, objective, and gameplay. The options button would offer the ability to customize keybinds.
The game will have a toolbar on top with all the abilities. Near the toolbar, there will be a small bar with the current amount of energy. On the top right of the screen, there will be a minimap and a small options button (that would pause immediately and offer to quit or customize key bindings)

EXAMPLE UI

Gameplay Screen

Help/Back Story

Level Screen

Main Screen

Option Screen

Splash Screen

ARTWORK

This game will feature 2D artwork in a top-down style. Since the maps will be tiled, a game tileset will need to be created. In addition, sprites will need to be drawn for the zombie (and all its animation states), and multiple types of enemies (and their animation states). The following sprites and animation states need to be created:

Tileset:
-Empty region tiles: Grass, Sand, Rocks, Water
-Hunter camp region: Street, Buildings, Trucks, Fire pit
-Village region: Houses, street

Zaun:
-Walking(up,down,left,right)
-Dying
-Taking Damage
-Healed From Antidote

Hunter (2 or 3 Different Sprites):
-Walking(up,down,left,right)
-Attacking
-Reloading (gun)
-Dying
-Taking Damage

Zombie (Zombies other than Zaun should look different so the user can easily tell):
-Walking(up,down,left,right)
-Attacking
-Dying
-Taking Damage

SOUND EFFECTS/MUSIC

We’ll be using Bfxr to create sound effects for certain collisions and player interactions. Furthermore, we intend to make a simple soundtrack.