MBH - Game Documentation + Asset List


Game Documentation

Original Concept Deviations

There were many changes made to the game during the course of development, leading to to stray from its original course. The very theme and visual aesthetic of the game being a 2D maze shooter was lost early in development. I had ended up mixing top-down and traditional 2D maze/platformer styles which creates a rather uncanny visual layout. Where the tileset and enemy sprites move and rotate accordingly, where the player sprite is top-down and rotates in a 360 degree radius according to where the mouse is located.

The maze aspect of the original concept has somewhat been kept true, if you identify prison walls and hallways as a type of maze to navigate. The genres have changed too, the logic aspect I had hoped to implement has been ruled out, a well as the Roguelike aspect. The game in the end is a 2D top-down blend shooter. Shooter, Action and 2D are the three genres that have remained true from the original concept document. 

The 'dead or alive' feature has very much been the same and the key feature behind the game. This feature did deviate slightly though, with the addition of killing captured enemies, even if done by accident lowers your score tremendously and will subtract a capture from your capture count to the kill count. The AI behaviour isn't as originally intended, as the AI use the Seek / Flee scripts and not A*. So their AI implementation is basic at its core, but works well enough for the gameplay. Where fleeing enemies run away fast from the player, leaving not much chance to safely capture them. 

The level design and envionment changed heavily. With two levels being completely scrapped, with only the first prison level remaining. Though two other levels did arise in the form of a Tutorial level to introduce controls and features, with the other level being a survival, endless type mode.

Game Assets

ASSET NAMEType of AssetDescription
AngryAI (Enemy)Unarmed enemy AI that with the Seek script. Chases the Player when in range
CAPTURED-FLEEINGAI (Enemy)
The fleeing enemy type, captured.
CAPTURED-SEEKERAI (Enemy)The seeking enemy type, captured.
DEAD_FleeingAI (Enemy)The fleeing enemt type, killed.
DEAD_SeekerAI (Enemy)The seeking enemt type , killed.
FleeAI (Enemy)Unarmed enemy AI with the Flee script. Will flee when the Player is within range, is fast.
Seek_KnifeAI (Enemy)An armed enemy AI with the Seek script. Chases the player, is faster than normal seek enemy, deals more damage to Player
SeekGunAI (Enemy)An armed enemy AI with the Seek script. Chases the player, is normal speed but shoots bullets at the Player.
mixkit-quick-win-video-game-notification-269Audio_UIUI sound for clicking on a button
UI_Quirky33Audio_UIUI sound for hovering over button.
Mainmenu musicAudio_MusicThe main menu audio. Plays on awake when the game is run.
ingame music1Audio_MusicIn-game music, plays when Tutorial, Endless and Level One are run.
BETTER_LMG_FireAudio_SoundFXAudio clip that plays when the LMG weapon is fired.
BETTER_rifle_fireAudio_SoundFXAudio clip that plays when the Rifle and Pistol are fired.
BETTER_taser_fireAudio_SoundFXAudio clip that plays when the Stun gun is fired.
CollideSoundAudio_SoundFXAudio clip that plays when the Player collides with Angry or Flee type enemies.
ShotSoundAudio_SoundFXAudio clip that plays when the Player gets shot at by the SeekGun AI.
StabSoundAudio_SoundFXAudio clip that plays when the Player gets stabbed by the Seek_Knife AI.
userInterfaceSoundsAudio_Mixer_GroupMaster audio controller for the User Interface sounds.
VOLUME_MUSICAudio_Mixer_GroupMaster audio controller for Music volume.
VOLUME_SOUNDFXAudio_Mixer_GroupMaster audio controller for Sound Effects.
BigSpace-rPKxFontPrimary font used for titles and text
Robus-BWqOdFontSecondary font used
Pinmolddemo-jEaxv FontSecondary font used
PlayerPlayerThe Player object prefab.
BlockerPrefabThis is an invisible prefab that has collider on it to stop enemies and the player from leaving the tilemap.
BulletPrefabThe bullets that the player fires at enemies. These kill enemies on collision.
EnemyBulletPrefabThe bullets that the enemies fires at the player. These deal damage to the Player and lower health on collision.
StunShotPrefab The shot that comes from the stungun. Sends enemies in the Captured state.
CellDoor(Animated)Prefab + AnimationAnimated Prison door, has blocker on it for collision
PrefabGreyWallPrefabGrey prison wall used for tileset.
PrefabRedWallPrefabRed prison wall used for tileset.
PrefabSideWallPrefabSide prison wall used for tileset.
PrefabWallTopPrefabThe top wall used for tileset.
EventSystemPrefab (Event System)The Event System used to control menus and other functionality.
ControlsMenuPrefab (MENU)At the Main Menu, the Control menu opens is available when the Player clicks Objective Button, after the Player has clicked the Help button. (Controls nested within Help).
DeadMenuPrefab (MENU)Menu that opens when the player dies. 
HelpMenuPrefab (MENU)At the Main Menu, this StartGameMenu opens when the Player clicks the Start Game button.
ObjectiveMenuPrefab (MENU)At the Main Menu, this ObjectiveMenuopens is available when the Player clicks Objective Button, after the Player has clicked the Help button. (Objective nested within Help).
PauseMenuPrefab (MENU)The PauseMenu opens when the Player presses the Escape key in-game.
SettingsMenuPrefab (MENU)At the Main Menu, this SettingsMenuopens when the Player clicks the Settings button.
StartGameMenuPrefab (MENU)At the Main Menu, this StartGameMenu opens when the Player clicks the Start Game button.
CanvasCapturesScriptCanvas Script for displaying Capture Count
CanvasGuardsScriptCanvas Script for displaying guards killed.
CanvasHealthElementScriptCanvas Script for displaying Health.
CanvasKillsScriptCanvas Script for displaying Kill Count
CanvasScoreScriptCanvas Script for displaying Score.
CaptureKillCollisionScriptScript to control score gained, kill count and capture count with collisions.
CrosshairScriptScript that enables a custom crosshair for in-game.
DestroyAfterTimeScriptDestroys a gameObject after a certain amount of time.
DestroyOnCollisionScriptDestroys a gameObject on collision.
enemyBulletScriptScript for enemy bullet functionality and Player health loss.
EnemyShootingScriptScript to control enemy shooting and how long between shots.
HeathBarScriptScriptSets Health Bar image fill amount depending on current Player Health.
HurtOnCollisionScriptControls collisions on the Player for when colliding with different enemy types or bullets. Decreases health differently depending on collision type.
LookAtMouseScriptRotates objects to face the Mouse cursor location
MainMenuScriptMain Menu Script. Functionality and transitions for the main menu screen.
onPlayerDeathScriptScript for when the player dies. Gives options for restarting game or quitting to main menu.
PauseGameScriptPause Game functionality. When pressing escape in-game, displays the pause menu and freezes time in-game.
playerHealthScriptScript that sets the player health to 100.
PlayerMovementScriptScript for player movement and move speed.
PlayerShootScriptScript that controls how the player shoots in-game
ScoringScriptSets the score and gives score for colliding with enemies.
seekCollisionScriptScript for controlling collision states for the enemies. Changes Enemy states between alive, captured and killed when on collision with bullet object.
ShootingScriptScript that controls how the player shoots in-game
StartGameMenuScriptFunctionality for the start game menu on the Main Menu.
StunShootScriptSeparate shooting script for instantiating a stungun shot. Non-lethal capture of enemies.
SwitchWeaponsScriptScript for controlling the players weapons and switching between them.
TurnLightOffScriptScript for the toggle Flashlight on Player Weapons.
Tutorial_CollisionScriptScript that contains all the colliders, canvas controls and functionality for the Tutorial level.
uiMouseEnterAudioScriptWhen the mouse hovers over an object, it plays a sound once (PlayOneShot).
VolControlScriptChanges volume control for sound sliders. Uses public AudioMixer to be universal across different types of sliders.
WaveSpawnerScriptScript for controlling the Wave Spawning in Endless / Survival. 
prisonSheetTilemapPrison graphics in a tileset for level population.


/*
 * Documentation: Over
 */

Leave a comment

Log in with itch.io to leave a comment.