Documentation + User Guide


Differences Between Final Game and Initial Concept

Overall, the final game is very similar to the concept created at the beginning of the project. The design and direction of the game, as well as the core platforming mechanics and gameplay hook (the parachuting mechanic), are almost identical to what was outlined in the concept. Cave Divin' also has the same target audience, which is gamers of all ages, but with more emphasis on those who are experienced with platformers, as the game's overall difficulty is high. Although the final product closely resembles the initial concept, there are a few differences. 


  • No Timer 

Originally it was planned that the player's score would be calculated by how much treasure was collected in addition to the time taken to complete the level. The reason for this was that it would introduce a risk-reward mechanic where players have to compromise between collecting as much treasure as possible and finishing the level as quickly as possible. Balancing these two factors would increase the replayability of the game. Unfortunately the timer was not implemented due to the time constraints of this project. I aim to add this feature at a later time. 


  • Not as thematically dark as original concept 

I originally planned for the game to be much darker and contain more horror elements. This was intended to juxtapose the charming art style and make the player feel uncomfortable. Although the final game does contain dark imagery, such as the skulls and gruesome player death sprite, it is more toned down than I had planned. The reason for this was that as I tested the game, I found that it was more effective as a charming platformer with some minor dark elements, rather than making that the focus of the game. This also makes the game more accessible to a wider audience, so I believe that this choice is justified.     

  • Not as many hazards for the player to avoid

Unfortunately I did not have enough time to implement more hazards, such as lava pits and swinging axes. I had originally planned to include more levels, introducing new threats and mechanics as the player progresses through the game. This would have increased the variety of the game and created more opportunities for clever level design. The reason this was not implemented was the limited time constraints, and if I had more time I would have expanded the hazard types that the player faces.  


  • No controller support

I originally intended to include controller support, as this lends itself well to the platformer genre. It would improve the overall feel of the game and widen its accessibility to all players. Unfortunately due to time, this feature was not implemented, but I plan on updating the game to include it. 

  • Enemies are ghosts instead of ghouls

This is a very minor change, as originally I planned on making the enemies be ghouls. However after designing the enemies and drawing the sprite sheets, I realised that they look more like ghosts. This has no impact on the game's design or story, but is a difference from the initial concept. 

  • Dying resets score to 0 instead of reducing by a fixed amount

I originally planned on making player deaths reduce the score by a certain amount, and for a while this was implemented in the game. However, I realised that player's could farm coins by dying repeatedly after collecting more score than the penalty, allowing them to get as much score as they want. This was especially the case for the last level, where there is only one checkpoint and all of the level's treasure is beyond it. As such, I changed the system to be so that the score is reset to zero on player death, which has balanced the scoring mechanic. 




Feedback Summary

During the testing session I received a lot of positive feedback. Players said that the controls were responsive and that the game effectively explains / shows the platforming mechanics. They also said that the sound effects suit the game and the art style looks good.  The gameplay was found to be enjoyable and the difficulty suits the game, in addition to the levels taking a good amount of time to complete. Player's also said that the parachuting mechanic makes the game more enjoyable and for the most part no glitches are present. 

Here is a summary of the feedback I received and personal observation for how to improve the game: 


  • Levels have some areas that are too vertically open, meaning that the player can fly off into the void

I addressed this issue by adding cave tiles over the areas of the levels that were previously vertically open. This change has ensured that the player doesn't fly off into the void and is always on track to stay within the designed level. It has also made the levels feel more complete, as there is less empty space. 


  • No volume adjustment

I have solved this by adding a settings menu that includes a volume slider. To implement this, I created an audio mixer that outputs the sounds of the game, where the master volume is controlled by the volume slider. This fixed the issue of the game being too loud for some people, and adding the settings has made the main menu feel more robust.


  •  Post-processing affected the game's performance

Some players told me that the post-processing hindered the game's performance by reducing the frame rate. To address this issue, I greatly decreased the amount of post-processing. With this, the game should perform better on all platforms.  


  •  Could be improved by adding controller support

As stated in the differences between the final game and initial concept, I aim to add controller support in a future update. 


  • Need to be able to accelerate down faster while parachuting to improve the game flow

Some players told me that the game could be improved by adding a boost button while parachuting, as it could feel frustrating needing to wait for the parachute to slowly drift the player downwards. To address this, I added the ability to boost downwards while holding S or the down arrow when parachuting. This improved the responsiveness of the controls and ensures that the player stays in a flow state.


  • Need more variety in hazards

I observed a need for there to be a greater variety in hazards to keep the players engaged. This would also make the final level's obstacle gauntlet more fun. Unfortunately I did not have time to implement this, and will instead add it in future updates.  



Asset List


Scripts

  • Checkpoint (Controls the behaviour of the checkpoint when it is triggered and sets its location in the GameMaster script)
  • CollectScore (Adds score, plays sound effect and destroys treasure on player collision) 
  • FloatingCoin (Rotates and moves the treasure up and down)
  • FlyingGhost (Makes the flying ghost enemy pursue the player and controls their animations)
  • GameMaster (Is not destroyed on load and contains the respawn location of the player)
  • HelpText (Displays text when the player is colliding with the sign trigger)
  • HighScoresMenu (Displays the high scores for each level)
  • LevelLoad (Displays score and loads the next level)
  • LevelSelectMenu (Allows the player to select a level in the level select menu)
  • MainMenu (Controls the main menu functionality)
  • MovingPlatforms (Makes platform continuously travel from point A to point B)
  • ParachutePickup (Displays parachute help text and destroys parachute pickup game object on player collision)
  • ParallaxScrolling (Controls the parallax scrolling effect in the background)
  • PlayerMovement2D (Controls the players movement and animations)
  • PlayerPosition (Sets the player's position on respawn using the GameMaster script, and reloads level and resets score on player death / restart.) 
  • PursuePlayer (Controls the behaviour / animations of the transforming ghost and makes it pursue the player)
  • SaveGirlfriend (Plays the cutscene at the end of the last level)
  • ScoreText (Displays the player's current score on the UI)
  • SettingsMenu (Controls the volume slider in the settings menu)
  • SkullBoundary (Causes the skull boss in level 3 to stop pursuing the player)
  • SkullPursue (Causes the skull boss in level 3 to pursue the player)
  • SkullTrigger (Enables the SkullPursue on the skull game object)
  • StopFlyingGhost (Causes the flying ghost enemies to stop pursuing the player)
  • StopMusic (Stops the music from playing)
  • TextTrigger (Displays the start level text)
  • TitleScroll (Controls the scrolling background speed on the main menu)


Art

  • Cave Tile Set (Created by unTied Games)
    UntiedGames. 'Super Pixel Cave'. itch.io [Online] Available at: Super Pixel Cave Tileset by unTied Games (itch.io)
  • Flying Ghost Sprite Sheet (created by me)
  • Girlfriend Sprite Sheet (Created by GrafxKif, heavily modified by me)
    GrafxKid.2015.'Bushly and Princess Sera'.OpenGameArt.org. Open Game Art [Online] Available at: https://opengameart.org/content/bushly-and-princess-sera
  • Outside Tile Set (created by Eris)
    Eris.2014.'Platform Tileset Nature'. Open Game Art [Online]. Available at: Platform tileset nature | OpenGameArt.org|
  • Parachute Pickup Sprite (created by me, using parachute from player sprite sheet)
  • Player Sprite Sheet (Created by GrafxKid, modified by me)
    GrafxKid.2015.'Classic Hero'.OpenGameArt.org. Open Game Art [Online] Available at: Classic Hero | OpenGameArt.org 
  • Portal Sprite Sheet (Created by Varkalandar)
    Varkalandar.2020.'Animated Portal or Wormhole, Several Variants'. OpenGameArt.org. [Online] Available at: Animated Portal or Wormhole, several Variants | OpenGameArt.org 
  • Save Altar Sprite Sheet(created by me)
  • Sign Sprite (created by me)
  • Spike Sprite (created by me)
  • Transforming Ghost Sprite Sheet (created by me)
  • Treasure Sprite Sheet (created by me)
  • Truck Sprite (Created by Chasersgaming)
    Chasersgaming.2016.'2D Car Sprite'. Open Game Art [Online] Available at: 2D car sprite | OpenGameArt.org



Sounds



Animations

  • Crossfade Controller (Animator controller for the crossfade canvas)
  • Crossfade_End (Animation for the fade to black at the end of levels)
  • Crossfade_Start (Animation for the fade in at the start of levels)
  • Flying Left (Left flying animation for flying ghost enemy type)
  • Flying Right (Right flying animation for flying ghost enemy type)
  • Flying Ghost Controller (Animator controller for flying ghost enemy type)
  • Girlfriend Controller (Animator controller for the girlfriend character)
  • Girlfriend Idle (Idle animation for the girlfriend character)
  • Skull (Animation for skull boss)
  • Skull Controller (Animator controller for skull boss)
  • Ghost Controller (Animator controller for transforming ghost enemy type) 
  • Ghost Idle (Idle animation for transforming ghost enemy type)
  • Ghost Pursue Left (Left travelling animation for transforming ghost enemy type)
  • Ghost Pursue Right (Right travelling animation for transforming ghost enemy type)
  • Ghost Transform + (Idle state to pursuit state animation for transforming ghost enemy type)
  • Ghost Transform - (Pursuit state to idle state animation for transforming ghost enemy type)
  • Level Start Text / Level Start Text_0 (Animator controllers for start level text)
  • Level1StartText (Animation for level 1 start text fade out)
  • Level2StartText (Animation for level 2 start text fade out)
  • Level3StartText (Animation for level 3 start text fade out)
  • Player Controller (Animator controller for the player)
  • Player Death (Death animation for the player)
  • Player Jumping Left (Left jump animation for the player)
  • Player Jumping Right (Right jump animation for the player)
  • Player Landing (Landing animation for the player)
  • Player Parachute Left (Left parachuting animation for the player)
  • Player Parachute Right (Right parachuting animation for the player)
  • Player Running Left (Left running animation for the player)
  • Player Running Right (Right running animation for the player)
  • Player Standing Still (Idle animation for the player)
  • Portal (Animation for the portals)
  • Portal Controller (Animator controller for the portals)
  • Save Altar (Animation for the save altar)
  • Save Altar Controller (Animator controller for the save altar)



Prefabs

  • Canvas (The main canvas that displays the UI during the levels)
  • Checkpoint Text (The text that appears when a checkpoint is triggered)
  • Crossfade (The fade in / out effect played at the beginning and end of levels)
  • Death Sound (Contains an Audio Source  to play the death sound effect)
  • Dust Effect (Particle system that creates a dust effect when the player jumps and lands)
  • Evil Laugh (Contains an Audio Source  to play the evil laugh sound effect)
  • Game Bounds (Trigger that causes the player to die, used so that the player does not infinitely fall)
  • Game Master (Is not destroyed on load and contains the respawn location of the player)
  • Girlfriend (The girlfriend character)
  • Flying Ghost (The flying ghost enemy type)
  • Footstep Sound (Contains an Audio Source  to play the footstep sound effect)
  • Ghost Boundary (Trigger that causes the flying ghost enemies to stop pursuing the player) 
  • Grid (Contains the tile map layers for platforms, roof, background and inside of the cave)
  • Help Sign (Displays help text when triggered by player)
  • Main Camera (The main camera with a CinemachineBrain and Audio Listener attached)
  • Moving Platform (Moving platform that continuously moves from point A to point B)
  • Nature (Contains the tile palette for the outside tiles)
  • Parachute Pickup (Displays parachute help text and destroys itself on player collision)
  • Player (The player character)
  • Portal (On player collision it displays the level score achieved and transitions to the next level)
  • Save Altar (Act as the checkpoints in the levels)
  • Score Reader (Text that displays the player's level score at the end of the level)
  • Score Text (Text that continuously displays the player's score as they play through a level)
  • Skull (The final boss)
  • Spike (Spike hazard that instantly kills the player on collision)
  • Start Text Trigger (Triggers the start of level text to appear)
  • Super Cave (Contains the tile palette for the cave)
  • Treasure Sound Effect (Contains an Audio Source  to play the treasure collection sound effect)
  • Transforming Ghost (The transforming ghost enemy type)
  • Treasure_1 (The coin treasure)
  • Treasure_2 (The goblet treasure)
  • Treasure_3 (The bowl treasure)
  • Treasure_4 (The skull treasure)


Post-Processing

  • Main Camera Profile (Profile for the post-processing effect)




User Guide

Game Name: Cave Divin'

Description: 
In Cave Divin' you must navigate 3 increasingly dangerous cave levels by running, jumping, and parachuting your way through each labyrinth of deadly traps and mysterious ghosts. To be successful you must master the parachute and use it to traverse all directions. Your parachute can save you from fatal falls and allow you to glide up to otherwise inaccessible platforms. Make sure to collect all the treasure to get a high score, but don't die, otherwise you will lose it all. So what are you waiting for?.. Strap on your parachute and dive in!

Controls:

A / D  (or left and right arrows) - Move

W / Up Arrow - Jump (hold to jump higher)

S / Down Arrow (while parachuting) - Boost down

Spacebar (hold) - Parachute 

Spacebar (release) - Release parachute

R - Reset

Esc - Main Menu


Game Screens / Functions

Main Menu

The first screen of the game is the main menu. This provides the player with the option to play the game, select the level, view the high scores, change the settings, view the help screen, or quit the game. 


Main menu screen.


The level select screen allows the player to start any of the levels. 


Level select screen.


The high scores screen allows the player to view the high score for each level. 


High scores menu.


The settings menu allows the player to change the volume of the game. 


Settings menu. 


The help screen provides context for the game and displays the controls. 


Help menu. 


Level 1

Level 1 introduces the following functions / mechanics:

  • Parachute Pickup

The player must collect the pickup in order to gain the ability to parachute.


Parachute pickup.


  • Spike hazards

These spikes instantly kill the player, so they must be avoided at all costs.

Deadly spikes. 


  • Save altars 

These are the checkpoints, meaning that when the player dies they respawn at the last save altar they encountered. 


Save altar. 


  • Treasure

The player can collect treasure to increase their score, however when they die the score is reset to 0. 


Treasure.


  • Help Signs

These signs give advice to the player. 


Help sign. 


  • Transforming ghost enemy

This enemy type looks friendly and unassuming in its idle state, but if the player gets too close they transform into a dangerous creature that pursues the player. 


Transforming ghost in idle state. 



Transforming ghost in pursuit state. 


  • End level portal

These portals are the end of the levels, and transport the player to the next level. 


End level portal.


  • End level screen

At the end of the level, the player's score is displayed.


End level screen.




Level 2

Level 2 introduces the following functions / mechanics:

  • Flying ghost enemy

These enemies relentlessly pursue the player and can fly, meaning that the only way to survive is to outrun them until you can find a cave too small for them to fly through. 


Flying ghost enemy type.


  • Moving platforms

These platforms continuously move from point A to point B, offering extra platforming challenge. 


Moving platform.



Level 3

Level 3 introduces the following functions / mechanics.:

  • Skull boss trigger

All seems quiet until the player crosses a certain point, triggering the skull ghost to pursue them.


Skull boss trigger. 


  • Skull boss

The final boss of the game furiously pursues the player, phasing through all objects. The only option is to run. 


Skull boss. 


  • Saving your girlfriend 

Once you have outran the skull boss, you find your girlfriend trapped in a cave prison. She is relieved to see you, but unfortunately you didn't plan on how you'd get back to the surface. She definitely should have been the one to save you. 


Player's girlfriend trapped in the cave prison. 

Files

Week 12 Build 2.zip 26 MB
May 22, 2021

Get Cave Divin'

Leave a comment

Log in with itch.io to leave a comment.