Posted October 24, 2024 by ben1yeah
The testing session provided feedback in the form of a customer feedback form. Feedback received was that the level design was appealing to very appealing, the stability of the game was very stable to stable. The enemies were difficult to very difficult. Player movement and enemy movement were rated on a scale of 1 to 10 and received an 8/10 and 10/10. The animations of the Player and Enemies were rated 8/10 and 10/10. The sound and music of the game rated 8/10 and 10/10.
Bugs reported were that the End Screen didn't load. Could sometimes shoot through walls. Suggestions were to reduce the health of the enemies and lower the volume of the music. Also, another comment was generally that the Enemy health seemed high, and it might be better to have enemies that progressively got stronger on later levels if that became a feature of the game.
Things I did to address this particular feedback: I adjusted the bullet speed and fire rate, increased the size of the bullet projectile, adjusted the rigidbody to be continuous. I believe it has mostly reduced the chance of any bullets going through walls. With the end screen not loading, that is referring to the escape cave not appearing on subsequent runs when you rescue the three explorers, currently I have fixed the bug, and the escape cave now appears on subsequent runs. Although through a lot of testing and adjusting numerous scripts, sometimes slight changes whilst developing the game did effect consistency of the escape cave working properly, as well as a currently there is an ongoing issue with displaying the correct time score on subsequent runs after the first run of the level. That particular matter is a work in progress to fix. The Enemies' health level has been reduced, as well as the Enemies will occasionally by a set percentage drop a first aid kit when they are eliminated, which the Player can use to restore health if needed.
From my observations of a few players playing, are that generally they were initially surprised at the Enemy speed and how quick they approach the Player, and the need to move the Player quickly to avoid. Over the development of the game the enemy behavior script has been adjusted and tested numerous times, I currently have it set so that the attack swipe from the Enemy doesn't usually occur as it was too inconsistent and didn't quite look correct or smooth enough for my liking when combined with the speed and behavior I had set up in the scripting. I am satisfied with how the Enemy behavior is set up at this time in the game.
You are on a rescue task; the cave entrance has collapsed, locking you in. Three Explorers are missing, and there are rumours of evil creatures lurking in the cave. Find the Explorers and a new way out before the storm floods the entire cave system.
Your task: Rescue the three explorers, then escape the cave. You will need to battle enemies and survive the environmental hazards in the cave, such as flooding water and avoid the volcanic lava.
Screenshot of Start Screen
Press on the Play Game button to start playing the game.
Screenshot of Main Scene
Press Start button to begin the game, the timer will start upon pressing the Start button.
Screenshot of Pause Screen
The Pause Screen: This can be accessed by pushing Escape on the keyboard.
Start Button: You will also be able to re-access the Start button which will commence your current run.
High Scores button: You can reach the High Scores screen by clicking the button, your time will only be displayed once you have rescued the three explorers and escaped the cave. If you get the best time, you will have the option to input your initials.
Restart button: You can push this button to restart your run, and then start again back at the starting point in the game.
Screenshot of First Aid Kit
The Enemies in the game can sometimes drop First Aid Kits, you can use them to restore your health bar, by walking into them.
Screenshot of Volcanic Lava
This volcanic lava hazardous to your health, avoid where possible.
Screenshot of Minimap on the bottom left of the screenshot
Use this minimap when needed to assist with navigating around the cave.
Screenshot of rising flood water
The rising flood water will slowly rise and eventually fill the entire cave system. It is hazardous to your health, but you may be required to pass through it at times.
One of the three explorers in the cave, rescue all three and then escape the cave.
Screenshot of Score, Explorers Found, and Escape the Cave! message
The score count is Enemies defeated. Explorers found is how many explorers you have found in the cave.
Once you have rescued all three explorers as indicated in the explorers found count, the Escape the Cave! message will appear in green.
Then you need to exit the cave via the Escape Cave.
Screenshot of Escape Cave
The Escape Cave pictured above is the way out of the cave after you have found the three explorers.
Screenshot of clock timer
This timer keeps track of your level completion time from the time push start until the time you go through the escape cave.
Screenshot of Health Bar
This health bar indicates your health status, if you take enough damage it will turn to a yellow colour, and then a red colour once your health gets down to a low level. You can restore your health by picking up first aid kits that the Enemies may or may not drop when they are eliminated.
Screenshot of Game Over / Scoreboard screen
If you escape the cave or press the high score button, here you can view your time (if you completed a run). You must have rescued the three explorers and escaped the cave with the fastest time in order to record your initials.
Hierarchy Objects
TitleScreen:
Main Camera
Canvas
Image
Button
EventSystem
MainScene:
Global Light 2D
Player
Main Camera
Trail
MiniMap
Circle
FogOfWarReveal
Spotlight2D
PlayerLight2D
Grid
Background
ExplorerSpawnerMain
ExplorerSpawner1
ExplorerSpawner2
ExplorerSpawner3
ExplorerSpawner4
ExplorerSpawner5
ExplorerSpawner6
ExplorerSpawner7
ExplorerSpawner8
ExplorerSpawner9
ExplorerSpawner10
EnemySpawnerFolder
EnemySpawner (1)
EnemySpawner (2)
EnemySpawner (3)
EnemySpawner (4)
EnemySpawner (5)
EnemySpawner (6)
EnemySpawner (7)
EnemySpawner (8)
EnemySpawner (9)
EnemySpawner (10)
EnemySpawner (11)
EnemySpawner (12)
EnemySpawner (13)
EnemySpawner (14)
EnemySpawner (15)
EnemySpawner (16)
EnemySpawner (17)
EnemySpawner (18)
EnemySpawner (19)
EnemySpawner (20)
WaterFloodRise
Canvas
HealthBar
GameOverText
ScoreText
ExplorersFoundText
RawImage
Start
Restart
Time Score
Timer
HighScores
YouEscapedText
EscapeTheCave
AudioManager
MusicManager
ScoreManager
ExplorerManager
FogOfWarCamera
Quad
Crosshair
EscapeCave (prefab asset)
UIGameControllerObject
LavaObjects
Lava
Lava (1)
Lava (2)
Lava (3)
Lava (4)
Lava (5)
Lava (6)
Lava (7)
Lava (9)
Lava (10)
Lava (11)
Lava (12)
Lava (13)
Lava (14)
Lava (15)
Lava (16)
Lava (17)
Lava (18)
Lava (19)
CaveExitLight2D
EscapeTheCaveMessage
Scoreboard:
Main Camera
Canvas
PlayerTimeText
FastestTimeText
FastestTimeBy
InitialsPanel
BackButton
ResetScoresbutton
WellDoneMessage
EvenSystem
ScoreboardControllerObject
Assets:
Animations
Enemy
Enemy Attacking
The spritesheet I sourced to make the animation was Top-Down Boss Enemy (10kStudios, 2024).
Purpose: To provide attacking animation that is generally not seen in the game due to Enemy behaviour script cancelling it out.
EnemyIdle
The spritesheet I sourced to make the animation was Top-Down Boss Enemy (10kStudios, 2024).
Purpose: To provide Idle animation for Enemy.
EnemyWalking
The spritesheet I sourced to make the animation was Top-Down Boss Enemy (10kStudios, 2024).
Purpose: To provide Walking animation for Enemy.
Idle
The spritesheet I sourced to make the animation was Top-Down Boss Enemy (10kStudios, 2024).
Walking
Purpose: To provide Idle animation for Player movement, however they are in a subfolder named Walking.
Lava
Lava (Animation Controller) – not currently used in game.
LavaAnimationController(Animation Controller) – not currently used in game.
LavaMoving (Animation Clip) – not currently used in game.
Walking
(Player spritesheet used to make animation sourced from 8-direction Top Down Character (Gamekrazzy, 2024)
Purpose: To provide Walking animation for Player movement.
EnemyController (Animator Controller)
PlayerController (Player Controller)
Character
(Player spritesheet used to make animation sourced from 8-direction Top Down Character (Gamekrazzy, 2024)
Character _Down (sprites)
Character_DownLeft (sprites)
Character DownRight (sprites)
Character_Left (sprites)
Character_Right (sprites)
Character_Up (sprites)
Character_UpLeft (sprites)
Character_UpRight (sprites)
Idle_Down (sprites)
Idle_DownLeft (sprites)
Idle_DownRight (sprites)
Idle_Left (sprites)
Idle_Right (sprites)
Idle_Up (sprites)
Idle_UpLeft
Idle_UpRight 1
Character Extra MovesNotCurrentlyUsed
(Player spritesheet used to make animation sourced from 8-direction Top Down Character (Gamekrazzy, 2024)
Character_RollDown (sprites)
Character_RollDownLeft (sprites)
Character_RollDownRight (sprites)
Character_RollLeft (sprites)
Character_RollRight (sprites)
Character_RollUp (sprites)
Character_RollUpLeft (sprites)
Character_RollUpRight (sprites)
Character_SlashDownLeft (sprites)
Character_SlashDownRight (sprites)
Character_SlashUpLeft (sprites)
CharacterSlashUpRight (sprites)
Enemy
The spritesheet I sourced to make the animation was Top-Down Boss Enemy (10kStudios, 2024).
Materials
EnemyDown
EnemyLeft
Spritesheet-13
EnemyAttackDown (sprites)
EnemyAttackLeft (sprites)
EnemyAttackRight (sprites)
EnemyAttackUp (sprites)
EnemyDown1 (sprites)
EnemyLeft (sprites)
EnemyRight (sprites)
EnemyUp (sprites)
IdleEnemyDown (sprites)
IdleEnemyLeft (sprites)
IdleEnemyRight (sprites)
IdleenemyUp
Materials
Scenes
Settings
Scenes
Lit2DSceneTemplate
Sounds
(Sound made by myself using the program Leshy SFDesigner)
(DavidSmith, Pixabay, 2024)
(DeepMusicEveryDay, Pixabay, 2024)
(sound made by myself using random values and then manually adjusting to get the desired sound using the program on jsfxr(grumdrig.com) )
(sound made by myself using the program Leshy SFDesigner)
(sound made by myself using the program Leshy SFDesigner)
(power up (Type 1) Royalty-free Music – Pixabay, 2024)
(Royalty-free Music – Pixabay, 2024)
(Royalty-free Music – Pixabay, 2024)
TextMesh Pro
Documentation
TextMesh Pro User Guide 2016
Examples and Extra
Fonts
Anton OFL
Anton
Bangers – OFL
Bangers
Front Material
Font Texture
Electronic Highway Sign
Oswald-Bold-OFL
Oswald-Bold
Roboto-Bold
Materials
Prefabs
Resources
Colour Gradient Presets
Fonts & Materials
Anton SDF – Drop Shadow
Anton SDF – Outline
Anton SDF – Sunny Days
Anton SDF
Anton SDF Material
Anton SDF Atlas
Bangers SDF – Drop Shadow
Bangers SDF – Outline
Bangers SDF Glow
Bangers SDF Logo
Bangers SDF
Bangers SDF Material
Bangers SDF Atlas
Electronic Highway Sign SDF
Electronic Highway Sign SDF Material
Electronic Highway Sign SDF Atlas
LiberationSans SDF – Metalic Green
LiberationSans SDF – Overlay
LiberationSans SDF – Drop Shadow
Oswald Bold SDF
Oswald Bold SDF Material
Oswald Bold SDF Atlas
Roboto-Bold SDF – Drop Shadow
Roboto-Bold SDF – Surface
Roboto-Bold SDF
Roboto-Bold SDF Material
Roboto-Bold SDF Atlas
Sprite Assets
Default Sprite Asset
DropCap Numbers
Scenes
01 – Single Line TextMesh Pro
02 – Multi-line TextMesh Pro
03 – Line Justification
04 – Word Wrapping
05 – Style Tags
06 – Extra Rich Text Examples
07 – Superscript & Subscript Example
08 – Improved Text Alignment
09 – Margin Tag Example
10 – Bullets & Numbered List Example
11 – The Style Tag
12 – Link Example
13 – Soft Hyphenation
14 – Multi Font & Sprites
15 – Inline Graphics & Sprites
16 – Linked text overflow mode example
17 – Old Computer Terminal
18 - ScrollRect & Masking & Layout
19 – Masking Texture & Soft Mask
20 – Input Field with Scrollbar
21 – Script Example
22 – Basic Scripting Example
23 – Animating Vertex Attributes
24 – Surface Shader Example
25 – Sunny Days Example
26 – Dropdown Placeholder Example
Benchmark (Floating Text)
Scripts
Benchmark01
Benchmark01_UGUI
Benchmark02
Benchmark03
Benchmark0-4
CameraController
ChatController
DropdownExample
EnvMapAnimator
ObjectSpin
ShaderPropAnimator
SimpleScript
SkewTextExample
TeleType
TextConsoleSimulator
TextMeshProFloatingText
TextMeshSpawner
TMP_DigitValidator
TMP_ExampleScript_01
TMP_FrameRateCounter
TMP_PhoneNumberValidator
TMP_TextEventHandler
TMP_TextInfoDebugTool
TMP_TextSelectorA
TMP_UiFrameRateCounter
TMPro_InstructionOverlay
VertexColorCycler
VertexJitter
VertexShakeA
VertexShakeB
VertexZoom
WarpTextExample
Sprites
Default Sprites
DropCap Numbers
Textures
Brushed Metal 3
Floor Cement
Floor Tiles 1 – diffuse
Fruit Jelly (B&W)
Gradient Diagonal (Color)
Gradient Vertical (Color)
Gradient Horizontal (Color)
Mask Zig-n-Zag
Small Crate-diffuse
Small Crate-normal
Sunny Days – Seamless
Text Overlow – Linked Text Image 1
Text Overflow – Linked Text UI Screenshot
Wipe Pattern – circle
Wipe Pattern – Diagonal
Wipe Pattern – Radial Double
Wipe Pattern – Radial Quad
Fonts
LiberationSans – OFL
LiberationSans
Font Material
Font Texture
Resources
LiberationSans SDF – Drop Shadow
LiberationSans SDF – Fallback
LiberationSans SDF – Outline
LiberationSans SDF
Sprite Assets
EmojiOne
Style Sheets
Default Style Sheet
LineBreaking Following Characters
LineBreaking Leading Characters
TMP Settings
Shaders
TMP_Bitmap_Custom-Atlas
TMP_Bitmap_Mobile
TMP_Bitmap
TMP_SDF Overlay
TMP_SDF SSD
TMP_SDF-Mobile Masking
TMP_SDF-Mobile Overlay
TMP_SDF-Mobile SSD
TMP_SDF-Mobile
TMP_SDF-Surface-Mobile
TMP_SDF-Surface
TMP_SDF
TMP_Sprite
TMPro
TMPro_Mobile
TMPro_Properties
TMPro_Surface
Sprites
EmojiOne Attribution
EmoijiOne
EmojiOne
Tiles
9Sliced
AudioManager
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
BackgroundMusic
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
BossEnemy_idle (enemy spritesheet used to make animation sourced from 10kStudios)
BossEnemy_idle
Bullet
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
CameraZoom
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
CaveExplorer1
CaveExplorer1 (sprite)
CaveExplorer1NotUsedATM (prefab)
CaveExplorer2
CaveExplorer2 (sprite)
CaveExplorer2 (prefab)
CaveExplorer3
CaveExplorer3 (sprite)
CaveExplorer3NotUsedATM (prefab)
ChangeColour (script)
Circle
Circle (sprite)
cover picture with game title
cover picture with game title (sprite)
crosshair
crosshair sprite
CrosshairController
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
Decorations (Prefab Asset)
Palette Settings
DestroyOnCollision
(Script sourced from tutorial lessons during KIT109, may have been modified using Copilot)
EightWayMovement
(Script sourced from tutorial lessons during KIT109, may have been modified using Copilot)
EndGameTrigger
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
Enemy (prefab asset)
EnemyAttack
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
EnemyBehaviour
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
EnemyHealth
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
EnemyPursuitWithActivation
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
EnemySpawner
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
EnemySpawner (prefab asset)
EnemyWander (script generated through plain text prompts on Copilot)
EscapeCave
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
EscapeCave
Circle (sprite)
EscapeCave (prefab asset)
EscapeCaveController
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
EscapeTheCave!Message
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
EscapeTunnelCircle
Circle (sprite)
ExplorerManager
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
ExplorerSpawner
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
ExplorerTextSpritePrefab
ExplosionOnDestroy (Script sourced from tutorial lessons during KIT109, may have been modified using Copilot)
ExplosionParticles (prefab)
(sourced from KIT109 tutorial lessons)
ExplosionParticlesDeath (prefab)
(sourced and modified from KIT109 tutorial lessons)
FirstAidKit
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
firstaidkit
firstaidkit (sprite)
firstaidkit (prefab asset)
FogOfWar (material)
FourWayMovement
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
Game-music-7408
(DeepMusicEveryDay – Pixabay)
GameDataManager
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
groundcavewalls
HealthBar
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
HighScoreManager
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
lava
lava (sprite)
Lava (prefab asset)
LavaDamage (script)
Mask
Mask (material)
maskshader (default asset)
MouseFollowLight
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
MusicManager
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
NavigationController
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
New Render Texture 1
New Render Texture
PistolBulletNew
PistolBulletNew (sprite)
PistolBulletNew (prefab asset)
PistolBulletProjectile
PistolBulletProjectile (sprite)
PistolBulletProjectile (prefab asset)
PlayerAudioManager
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
PlayerDoNotDelete (prefab asset)
PlayerHealth
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
PlayerShooting
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
PlaySoundAndFade
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
ResetHighScore
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
ScoreboardController
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
ScoreManager
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
Shader Graphs_Mask
SpriteExpander
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
Square
Square (script)
stalagmite1
stalagmite1 (sprite)
stalagmite1reversed
stalagmite1reversed (sprite)
stalagmite2
stalagmite2 (sprite)
stalagmite2reversed
stalagmite2reversed (sprite)
TestWaterCircle
Circle (sprite)
TitleScreenManager
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
UIGameController
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
UnderwaterSoundManager
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
UniversalRenderPipelineGlobalSettings
WaterDamage
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
WaterRise
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
WaterSoundManager
script generated through plain text prompts on Copilot (Copilot (Microsoft.com), 2024)
World (prefab asset)
Pallette Settings
Packages
2D Animation
2D Aseprite Importer
2D Common
2D Pixel Perfect
2D PSD Importer
2D Sprite
2D SpriteShape
2D Tilemap Editor
2D Tilemap Extras
AI Navigation
Burst
Collections
Core RP Library
Custom NUnit
JetBrains Rider Editor
Mathematics
Searcher
Shader Graph
Test Framework
TextMeshPro
TimeLine
Unity UI
Universal RP
Universal RP Config
Version control
Visual Scripting
Visual Studio Editor
References List
Gamekrazzy, 2024, 8-direction Top Down Character, https://gamekrazzy.itch.io/8-direction-top-down-character
10kStudios, 2024, Top-Down Boss Enemy, https://10kstudios.itch.io/top-down-boss-enemy-animated
Leshy SFDesigner, 2024, enemyhurtsound, sound effect, Program site: Leshy SFMaker - Online Sound Effect Generator
DavidSmith, 2024, flowing-water-246403, sound effect, (note: sound not currently used in game but it's in the assets folders), Flowing Water | Royalty-free Music - Pixabay
DeepMusicEveryDay, 2024, game-music-7408, music, DeepMusicEveryDay
Pixabay, 2024, success-1-6297, sound effect, success 1 | Royalty-free Music - Pixabay
Pixabay, 2024, underwater-ambience-6201, sound effect, Underwater Ambience | Royalty-free Music - Pixabay
jsfxr, 2024, Sound Generator used to create PistolShot sound, sound effect, jsfxr
Leshy Labs, 2024, LeshSFMaker program used to generate PlayerHurt sound, PlayerDeath sound, sound effects Leshy SFMaker - Online Sound Effect Generator
RibhavAgrawal, 2024, power-up-type-1-230548. sound effect, RibhavAgrawal - Pixabay
KIT109 Tutorials, 2024, Eight Way Movement.cs, Tutorials 8-15Interactive.
KIT109 Tutorials, 2024, Player Shooting.cs, Tutorials 8-15Interactive.
KIT109 Tutorials, 2024, DestroyOnCollision.cs, Tutorials 8-15Interactive.
KIT109 Tutorials, 2024, ExplosionOnDestroy.cs, Tutorials 8-15Interactive.
KIT109 Tutorials, 2024, ExplosionParticles (prefab), Tutorials 8-15Interactive.
KIT109 Tutorials, 2024, ExplosionParticlesDeath (prefab) was created by modifying ExplosionParticles (prefab), Tutorials 8-15Interactive.
Copilot (Microsoft.com), 2024, AI generated scripts through plain language prompts written by myself, Microsoft Copilot: Your AI companion