Zombie Roids Game Design Document Team Members Hunter Bergerud Elizabeth Lowry Terry Nguyen
Page 1 of 10
Last Revision: June 15, 2014 @ 2:11 PM PT
Table of Contents 1.
2.
Foreword 1.1.
A Message from Hunter Bergerud
1.2.
A Message from Elizabeth Lowry
1.3.
A Message from Terry Nguyen
Overview 2.1.
3.
4.
Universe / Lore 3.1.
World
3.2.
Entities
Game Mechanics 4.1.
World
4.2.
Waves
4.3.
Ninja
4.4.
Zombie
4.5.
Vampire*
4.6.
Vampire Bat*
4.7.
Zombie Ninja*
4.8.
Necromancer*
4.9.
Collision Matrix
4.10. 5.
6.
7.
Introduction
Point Table
Interaction 5.1.
UI Elements
5.2.
Player Controls
Art Direction 6.1.
Theme
6.2.
Design Goals
References 7.1.
Gameplay
7.2.
Audio
* denotes feature not planned for minimum viable product / AIE assessment
Page 2 of 10
Last Revision: June 15, 2014 @ 2:11 PM PT
Foreword A Message from Hunter Bergerud This game feels great; we got a good understanding of the game’s concept. However, we did have some features left out; the ufo from the original game, for example, was cut because of the deadline and it not exactly fitting in with the ninja / zombie world. Our code was consistent (variables and classes were connected with what they were for) and, most of all, I think we all had fun with it.
A Message from Elizabeth Lowry There were a lot of bonus features we didn’t have time to implement (special enemies, mostly). These unimplemented features are included in this document in grey text.
A Message from Terry Nguyen This game design document was conceived with the idea of originally only fulfilling the project requirements as documented by the Academy of Interactive Entertainment (AIE), so that’s why you’ll find the visuals and audio section a bit lacking. The gameplay mechanics and design has grown at lot since the concept document was conceived though, so I’m pretty happy with what we have for my first group project. We’re a team of programmers, so we made it work with whatever we could use, so I apologize in advance to the artside of things. :) Aside from that, I think everything else has been thought out and documented to a decent level of clarity. This is my first detailed design document, so I’m trying out a lot of things here. There’s also a lot we didn’t get to in our two weeks, but the ideas and ambitions are still there.
Page 3 of 10
Last Revision: June 15, 2014 @ 2:11 PM PT
Overview Introduction A ninja is under attack by waves of zombies from all directions. The top, bottom, left, and right, sides of the screen let in zombies onto the screen. Dying by a single touch by a zombie, the ninja has only ninja stars to defend itself with. When a zombie is killed, it splits into smaller zombies that take the place of the original zombie. This cycle of death and rebirth as smaller zombies continues until the number of children that a zombie is designated to spawn on death is set to zero, thus causing no further zombies to spawn. After an entire wave of zombies is cleared, a small break is allowed before the next wave of zombie comes in increasing numbers. The challenge only grows greater with each successive wave.
Universe / Lore World In the year 20XX, an outbreak of a deadly infectious disease in Japan wreaks havoc on society. First known contact was made in one of the busiest places in Tokyo: Shinjuku, a popular tourist destination bustling with an innumerable quantity of potential hosts. Only seconds passed before the entire building billowed with a green and noxious cloud. At first came the coughing, and soon after came the collapse. Silence filled the rooms before snarling and growling echoed throughout the stairwells as those who did not turn were hunted down as they fled down the seemingly endless number of flights of stairs. Tokyo came tumbling down soon after Shinjuku fell. Saitama, Sagamihara, and Yokohama were only a bit better off, but all fell in time. By sunset, central Japan had gone dark. By the end of the week, only stragglers remained. What remained of civilization were the few who believed Japan could still be saved. While carriers of the disease were quarantined for further study and the uninfected were evacuated from the island, one remained.
Entities The lone ninja seemed to have little reason to stay in Japan. With no family, friends, lovers or attachments, it seemed unthinkable for the ninja to stay behind in what many would consider to be loselose situation. But the ninja persisted and stayed at what would be its final resting place. With only the cheap wooden flooring beneath its feet, and endless supply of throwing stars, and cheap teleportation tricks, the stage was set; the battle between ninjas and zombies would begin. Page 4 of 10
Last Revision: June 15, 2014 @ 2:11 PM PT
Game Mechanics World All entities wrap about the viewport when exiting viewport. This means that if an entity is moving straight up and exits the viewport by the top of the screen, then its position will change to that of slightly past the bottom. Since the velocity is unchanged, the entity will continue to move straight up and reappear, having reentered from the bottom of the viewport.
Waves Each wave increases the number of zombies spawned in that wave by two more than that of the previous waves’ spawn count. There is no artificial limit on the number of zombies spawned or on screen at any given time, so when spawning commences, it will continue until the quoted number of zombies to be spawned by that wave has been met. Between each wave is a small break that allows the player a brief breather before the next set of zombies begin spawning.
Ninja Ninja stars can be thrown by the ninja and serve as the only form of weaponry against the zombies. Every zombie kill gives the player a number of points. Ninja stars can be thrown freely with the only limitations being that they move at a fixed speed, require a small amount of time to elapse between throws, and that they expire a certain amount of time after they are thrown. They are thrown in the direction of the mouse cursor relative to the ninja’s position. If the mouse cursor is to the right of the ninja, then the ninja star will be thrown towards the right and originating from the ninja’s position. Movement is possible in any combination of the four directions, up, down, left, right, and is unaffected by the ninja’s current angular orientation. Teleportation is possible, causing the ninja to disappear from its current position and reappear on a random location within the bounds of the game’s viewport. This may cause the ninja to suffer a death if it happens to teleport onto a zombie. Upon death, the ninja’s life count will be lessened by one and the ninja will respawn in place with temporary invulnerability that expires after a period of time. Should the life count reach below zero, then the game will end. Lives can be earned after a fixed point value has been earned, such as every 10,000 points. *Upon respawning, the player will perform an attack that clears the immediate area of zombies, but would not provide the player with any points that would have otherwise been given by killing a zombie.
Page 5 of 10
Last Revision: June 15, 2014 @ 2:11 PM PT
Zombie Zombies are spawned offscreen and set with a velocity that causes them to move towards the screen to come into view of the player’s viewport. Zombies kill the ninja by colliding with it. If the ninja is invulnerable upon collision, then the zombie simply passes through the ninja as if no collision happened at all. Upon death, the zombie disappears and is removed from play. If it is set to spawn any additional zombies in its place, it does so by creating smaller zombies relatively near its position with a similar but slightly modified velocity.
Vampire* Vampires are an uncommon type of enemy that spawn randomly every so often offscreen, but with no more than one on screen at any given time. Upon death, the vampire disappears and is removed from play, providing no points to the player. Vampire bats are spawned in its place.
Vampire Bat* Vampire bats are only spawned upon the death of a vampire. Its size will grow as it feeds on zombies, killing them, but also increasing in size with each zombie kill. It will grow up to five times before reaching its maximum size. It will become a vampire again if it feeds on the ninja which kills the ninja in the process.
Zombie Ninja* Zombie ninjas are an uncommon type of enemy that spawns randomly every so often offscreen, but with no more than one on screen at any given time. It mimics the player’s ninja by throwing ninja stars, except intentionally targeted at the player instead rather than at zombies. It also teleports randomly about the screen.
Necromancer* Necromancers are an uncommon type of enemy that spawns randomly every so often offscreen, but with no more than one on screen at any given time. They throw balls of dark magic towards the player that can be shot to be nullified, but do not provide the player with any points.
Page 6 of 10
Last Revision: June 15, 2014 @ 2:11 PM PT
Collision Matrix Key O denotes Nothing X denotes Death S denotes Special (see mechanics entry) All effects are applied to the entity in the column unless noted otherwise.
Ninja
Ninja Star
Zombie
Zombie Nin.
Zombie Nin. Star
Vampire
Vamp. Bat
Necro.
Necro. Ball
Ninja
N/A
O
O
O
O
O
O
O
O
Ninja Star
O
O
X
X
X
X
X
X
X
Zombie
X
O
O
O
O
O
O
O
O
Zombie Nin.
X
O
O
O
O
O
O
O
O
Zombie Nin. Star
X
X
O
O
O
O
O
O
O
Vampire
X
O
O
O
O
O
O
O
O
Vamp. Bat
XS
O
XS
O
O
O
O
O
O
Necro.
X
O
O
O
O
O
O
O
O
Necro. Ball
X
O
O
O
O
O
O
O
O
Point Table Point values are earned upon the death of the entity in the corresponding column.
Points
Ninja
N/A
Ninja Star
N/A
Zombie
Zombie Nin.
100
500
Zombie Nin. Star
Vampire
0
500
Vamp. Bat
Necro.
250
100
Necro. Ball
0
Page 7 of 10
Last Revision: June 15, 2014 @ 2:11 PM PT
Interaction UI Elements Onscreen menu buttons and prompts can be interfaced with by moving the mouse cursor over the UI element to be selected and then by pressing the mouse trigger. Actions that occur as a result of the hoverenter, hoversustain, hoverexit, clickenter, clicksustain, clickexit, can be adjusted. However, where possible, all buttons are to act upon clickexit, meaning that when the player moves their cursor over a button, actuates the trigger, and releases the trigger whilst the cursor is still hovering over the button, then the button’s action should be executed. Otherwise, the button will not execute its action.
Player Controls Once ingame, the player will move the playable character, the Ninja, at a fixed speed on the screen by pressing any combination of the four directional keys (regular, number pad 8426, or WASD) that move the player up, down, left, right, and any combination thereof. Aiming of the Ninja’s throwing stars is done by moving the mouse cursor to the desired destination of the throwing star. The throwing star’s trajectory is set at the moment that the mouse trigger is release and is not influenced by further movement of the mouse cursor. The player is capable of teleporting the Ninja around the game map by pressing and releasing the teleport button (Q, Home, or number pad 7). Each release will teleport the Ninja once. The player is capable of teleporting as fast as they can press and release the teleport button, but the teleport destination is not determined with any regard to the Ninja’s safety. The player can pause the game at any time by pressing any of the P, Spacebar, or Num Lock keys. Pressing any of those keys while paused will unpause the game.
Art Direction Theme Ninjas are thought to reside in Japan, thus a Japanese setting is appropriate for the game. Zombies can appear wherever there are living beings and in this case, there are human zombies. Humans exist in Japan, and thus serve as a nice source for individuals to become “zombified” for the quest for complete global saturation. Asteroids, an arcade classic serves as the primary source of inspiration for ZombieRoids. Classicesque music is desirable for the game.
Page 8 of 10
Last Revision: June 15, 2014 @ 2:11 PM PT
Design Goals The game should look and feel like a modernized arcade shooter for PC gaming. The advent of flash animation is ubiquitous to entertainment on the PC platform, whether it manifests in the form of an advert, a flash game, flash movie, HTML5 game, or HTML5 video. Early games, flash or arcade cabinet, used simple graphics to convey information to players. All sprites should be simple, clear, instantly recognizable, and easily distinguishable against the background of the game. Animations, if used, should quickly convey to the player as to what kind of action the entity is performing and if it is hostile to the player character. Short loops are favorable over long loops unless used in a cinematic.
References Gameplay ZombieRoids derives its fragmentation mechanic from the classic arcade game, Asteroids. While asteroids break into smaller asteroids in the original game, ZombieRoids’ zombies break into smaller zombies that continue to present as serious threat to the player. Waves of enemies and screen wrapping of all entities is retained. The game is essentially a reskin in this regard. What was added to ZombieRoids that distinguishes it from its predecessor are the special enemies that pose a more serious threat to the player than a moving mass to be avoided. While the Necromancer is essentially a nullable UFO from Asteroids (meaning, its projectiles can be removed from play by attacking them with throwing stars), the Zombie Ninja is essentially a duplicate of the player in terms of abilities. The Zombie Ninja actively targets the Ninja with the same throwing stars that the player uses in addition to being able to teleport around the map to evade the Ninja’s throwing stars. The Vampire and its bats serve as enemies that are capable of returning to fully fledged enemies in terms of threat and size. The Vampire itself will seek out the Ninja to kill it. Upon its death, the Vampire is removed from play and Vampire Bats are spawned in its place. Those Vampire Bats are capable of feeding on the Ninja or nearby zombies to become a Vampire once again or become a bigger bat, respectively. This requires the player to make the act of killing the Vampire be an active choice that affects the situation for better or for worse, like the blackhole enemy from Geometry Wars.
Audio Paying homage to the era of the original Asteroids game, ZombieRoids utilizes a balance of chiptune music and noises as well as modern organic and digital instruments. Keeping in line Page 9 of 10
Last Revision: June 15, 2014 @ 2:11 PM PT
with some older themes, game music is only played when gameplay is occurring or if the gameplay is currently paused. Different music is played for gameplay and the pause screen. Sound effects are kept to a minimum, with only noises for the death of each enemy. UI sound effects for hover, confirmation, and cancellation are under consideration.
Page 10 of 10
Last Revision: June 15, 2014 @ 2:11 PM PT