Documentation


Concept vs Real Thing

I misunderstood how to write the concept document at the start of the year so this part will be hard, but I will compare it to my previous expectations rather than my concept document.

 

Art Style/Animation

Concept

Originally I wanted to have detailed graphics potentially draw by one of my friends who is amazing at art and animation the style was going to be very industrial with an aspect of horror i.e. corridors illuminated by red flashing light bodies lying around just different little things that would make the scene look nice in a scary kind of way.

Reality

Sadly, my friend couldn’t help me as they were busy with their own work, because of this I had to do all my own artwork or source it from online. Afraid that if I sourced everything from online it would all clash, I found a base tile pack to work with then created my own graphic. I am by no means an artist so animation was out of the question and my general art ability sucked so in the end I was happy with what I produced and it was mainly my own and it didn’t look half bad.

 

Level Design and story

Concept

Originally I want massive levels with multiple different ways you could go I wanted it to feel more open world in the sense rather than  linear progression you were meant to be in this maze of traps and puzzles slowly revealing parts of your story.

 

Reality

Time was the big killer for this idea when I started this project I didn’t realize how busy I was actually going to be and after making basic are and just a  basic level I realized that I did not have a enough time to full complete this dream/idea, level design is hard and in the end I created 5 pretty good levels.

 

 

Mechanics

Concept

Originally, I wanted a lot of traps that worked well traps that challenged and surprised the player. A drop trap that sent the player to his death, platforms that game out under the players feet Buzzsaw blades coming to chop off the players head basically just a whole lot different things that would not only look cool and be fun but could also challenge my coding skills and allow me to show off what I have learnt.

 

Reality

I can confidently say that I have pretty much achieved my concept I have all the traps I wanted in there plus more these include a drop trap, falling platforms, moving  platforms, Buzzsaw traps and falling spikes I had so much fun coding these and they were one of the highlights of the development. It fun working out how each of these traps worked and how they would interact with the player.

 

UI

Concept

Originally I hadn’t planned much for the UI the most I could say is I would have had a menu with a play button and a Game finished screen it wasn’t something I thought about to much because it was fairly easy to implement.

 

Reality

I added a lot of UI I currently have a title screen with semi decent graphics a menu with various options a level select even a settings with a working volume slider, there’s a working pause button and UI in the levels as well as a help menu I found it very easy to implement most of these thing with the only exception being the volume slider.


Feedback and Improvements

Through the testing time I noticed a couple bugs and some needed balancing to make the game more enjoyable. I also received some valuable feedback about bugs I missed and general improvements that could be made.

 

Fixes/Bugs

Graphical Bugs – there were a few missing graphics due to last minute level changes they have been fully fixed

Falling Platforms – there is a problem with platforms not respawning every time the player dies; I am still not sure what’s causing it, but I changed how the respawn and death system worked and from my tests haven’t recreated the bug yet.

Strange Movement – there was strange movement on the edge of platforms that would make it hard to jump this was most likely due to the capsule collider, so I changed to a box collider and haven’t seen any more problems with movement

Jump Launch – the player has an opportunity to launch themselves of certain obstacles as of now I am still fixing the problem

Music Volume – the volume of the music was way too loud in some case, so I have lowered as well as add a slider in the settings menu that adjusts the volume

Challenge/Balancing – I was worried at first the game might be too easy but after reviewing some gameplay found it was too hard in some areas and have adjusted those area to make the game more balanced

 

Improvements

Pause menu – I managed to implement a working pause menu that allow the player to return to menu or restart the level if they run into a level breaking bug.

Help menu – I added a little button in the top right of the screen that the player can click to find out the controls

Overhauled player death and reset – originally player death and reset was handled by two things the player character and the object that killed them to make it less complicated and avoid possible bugs(aka falling platforms maybe?) I modified the kill player script so it could be attached to the player character eliminating a larger amount of extra scripts on objects.

Death effect – added a particle system to animate player death so the person playing know how they died I also added a coroutine to this, so the player isn’t instantly transport back to spawn but has a delay instead.

Assets

Art, Animation and Sound.

Personally made:

BasicWall Sprite sheet – used for my main background

Blood – a red pixel used to create the death effect

Entrance-Exit Sprite sheet – a sprite sheet containing the doors used for level transition

FallingSpike – used in a trap in level 4

PlayerChracter Sprite sheet – two basic playercharacter models only the second is used, animated facing left or right depending on button

Spike – used as tile map that kills player on touch

Sourced:

Data-Latin – a font used in all my UI animated to flash on the title screen and to fly in then out on each level

Credit: Vic Fieger https://www.1001freefonts.com/data-control.font

TRAPS Sprite sheet – used for most of my walls and traps implemented in the game, spinning blade animated to spin

Credit: LarryIRL https://opengameart.org/content/industrial-traps-2d-sidescroller

Cyberpunk Moonlight Sonata - Music used throughout the whole game

Credit: Joth https://opengameart.org/content/cyberpunk-moonlight-sonata

 

Scripts

Checkpoint – teleport player to the checkpoint location and set the respawn points that location

DestroyObjectOnCollision – destroys any object that collides with the object that has this script

DestroyPlatform – hides the falling platform and then resets it once player dies

DontDestroyonLoad – stops and object from being removed once a new scene is loaded

DropTrap – activates the trap door on collision and then resets it once player dies

FallingPlatform – cause the platform to fall on collision

KillPlayer – used to reset the player back to spawn after a small blood animation

Level Switcher – used to load new scenes

MovingPlatform – handles the direction and speed and which the moving platforms move

MusicVolume – allows users to control the music via a slider

NextLevel – changes the scene to the next level when colliding with the level exit

Pause – freezes all gameplay and displays a pause menu on button press

PlayerControllerMK1 – handles all player movement

PlayerReset – resets various traps and other thing on death

SceneChangeOnButtonPress – changes the scene on the title when space is pressed

SceneSwitcher – like LevelSwitcher but has more functionality used in the UI

SpawnFallingSpike – will spawn a Falling spike prefab at a random area in a defined radius

 

Prefabs

BloodSplatter – a particle system that uses the blood pixel to show player death

CameraAdjust – a collider to define the bound the virtual camera is confined in

Checkpoint – has a collider and a point that is set as the new check point on Collison

Destroy – a collider with the destroy objects on collision script on it

FallingPlatform – a platform with the destroy platform and falling platform scripts on it

FallingSpike – a spike with a rigid body and a collider that kills player on impact

KillFloor – a collider that kills player on impact

LevelComplete - collider that has the scene switcher on it

MovingPlatform – Platform that has the moving platform script on it and move between two points by default

MovingBlade – a spinning Buzzsaw blade that uses the moving platform script and moves between two point by default and kills player on contact

PauseMenu – a pause menu object that holds a canvas for the pause menu options has the pause menu script on it

Platform – a basic platform with a collider on it

Player – the main player character has the player controller player reset and kill player scripts on it as well as a rigid body, animator and collider

Spawner – spawns selected prefab

StartSpawn – the default respawn point for each level

TrapDoor – a trap door with the drop trap script on it.

 

Scene

Game Over – scene displayed at the end of the game

Levels 1 – 5 – the actual game play aspects of the game

Level Select – allows user to choose what level they want to play

Menu – the main hub for the game allows you to access the level 1, level select and settings scenes

Settings – allows user to adjust music volume

Title – displays title of game and some graphics 

Files

EscapeTheFacility.zip Play in browser
Oct 15, 2020

Leave a comment

Log in with itch.io to leave a comment.