Game Project docmentation


Vision vs Reality

The original vision of the game was to have a Pokémon style game which contained platformer levels that the player needed to complete to advance through the storyline. Quite early in the development I realised this goal was very large. There would have been a lot of different mechanics which I don't believe was achievable. At this point in development the game made a full U-turn which  led me to focus on a platformer style of gameplay. That way I was able to better perfect the game I had instead of doing a lot of half jobs.


Originally I wanted an in-depth storyline which explained the background of the character and why he was needed to find the Orbs. This proved to also be something that was taken away because of the time constraint. Drawing proved to be the most time consuming part of the Game Project which meant drawing story slides when the game started and after the game finished an unattainable goal.


The game's audience seemed to stay the same throughout the whole development process. I had always wanted to focus on the casual younger gamer. The main aspect that did change though is that the game changed from an RPG to a platformer which does in-turn attract a different  set of gamers.


At the start of the development I had wanted the player to be able to progress through the levels by gaining special abilities like for example "A Dash" or even the ability to shoot blobs and kill the enemies. This however, changed as I wanted to focus more on the outside influences of the game on the player, rather than making it easier for the player. These outside influences were able to make the levels harder as the player progressed so the player would only be able to rely on his/her skill over using abilities don't cheese the game.


Testing Feedback

Unfortunately my testing feedback was quite limited. A few of the major problems I had was with the player jumping which I tackled fairly early into the game. I added a feature called coyote time where I made it so that the player had a small window after not being in contact with a platform the player would still be able to jump. This provided for a smoother gameplay experience for the player and definitely a less frustrating one. A few issues that were picked up in later testing sessions  was that the player was able to stick to the side of the platforms. I spent ages trying to work this bug out...I then embraces this bug and sold it as a player ability. A common issue found was that a few of the levels were quite hard in comparison to where they were placed in the level structure. This provided an issue as if the player is not able to pass a level they will not continue playing the game. I implemented two ways to combat this issue. The first solution was to create a level select screen and in-game access to this so that the player was able to access another level if they were sick of the level they were on. The second solution to this was changing the levels around as some proved to be too hard for being a lower level and I also added levels to make the difficulty curve smoother and less of a shock for  the player.  In the final game testing session it was added that I should put music into the game which I thought was a great suggestion. I had many preliminary soundtracks which I implemented and tested. I wanted to add music which made the player feel relaxed as they hurdled towards the lava for the 7th time. This I believed gave the game more replay ability as the player would not rage quit quite as fast. I ended up implementing a light hearted little melody on loop before final upload.

Game AssetTypeDescription
BackgroundGraphicThere are 3 different assets here , all are graphical background for the levels
bensound-ukuleleSoundMain Game music loop
Brightly Crush ShineFontFont for all buttons and game menu
DontDestroyScriptScript to stop the destruction of the music game object when the scene changes.
EmptyHealthGraphicEmpty heart to show when the player is damaged
groundGraphicStarting Platform for the Player each level
HealthGraphicHeart indicating the players lives that are left
Lava, Lava2GraphicGraphic for the lava placed in the level
LifeOrbGraphicGraphic for the life orb the player needs to find in the level to progress to the next level
MorePlatsGraphicSprite Sheet for more platforms added mid development
ObstacleGraphicSwinging saw like object used to be an obstacle in a level for the player
Platform 7GraphicPlatform for the player to jump on in the level
Platform 1GraphicPlatform for the player to jump on in the level
Platform 2GraphicPlatform for the player to jump on in the level
Platform 3GraphicPlatform for the player to jump on in the level
Platform 4GraphicPlatform for the player to jump on in the level
Platform 5GraphicPlatform for the player to jump on in the level
Platform 6GraphicPlatform for the player to jump on in the level
PlayerDeathAnimGraphicSprite Sheet for the players death. Showing the player flatten.
SignGraphicSign telling the player to find the LifeOrb on the level to progress
Wind Animation 1GraphicSprite Sheet for the winding animation to push the player around the level
AStarHelperScriptUsed for pathing the flying enemy around object and to the player
DrawHelperScriptUsed for pathing the flying enemy around object and to the player
IPathNodeScriptUsed for pathing the flying enemy around object and to the player
NodeGeneratorScriptGenerates nodes for the enemy to follow but cannot generate nodes on objects
PathFollowerScriptUsed for pathing the flying enemy around object and to the player
PathNodeScriptCreates a path between the nodes generated but no paths generated that overlap objects
EnemyGraphicSprite sheet for the enemy's animation when they are patrolling and when they aggro on the player
FlyingEnemyGraphicSprite sheet for  the flying enemy's animation  when they are patrolling and when they aggro on the player
PlayerGraphicSprite sheet for the player's animations when walking left and right. Also for jumping left and right
FirstLevelSceneThe first level in the game after starting the game from the main menu
LevelTwoSceneSecond Level of the game 
LevelThreeSceneThird level of the game
LevelFourSceneFourth level of the game
LevelFiveSceneFifth level of the game
LevelSixSceneSixth level of the game
MainMenuSceneGames starts here. Can access the beginning of the game or go to level select where you can choose a level
LevelSelectSceneCan be accessed from main menu or pause menu and give the player the ability to select level
AngryEnemyScriptActivates the angry enemy animation and makes the enemy game object chase the player but cannot leave the platform it is on
BetterJumpingScriptMakes jumping smoother but decreasing the amount of time it takes from the peak of the player's to the ground. The start of the jump is normal
EnemyAnimationScriptWhen the player comes into the taunt radius of the enemy this script sets the aggro animation to true or false
GetLifeOrbScriptChanges to next level when the player touches the life orb object
HurtOnCollisionScriptTakes a life away from the player when he/she comes into contact with the flying enemy or the platform enemy
MoverScriptAllows the flying enemy to correctly path to the player by the use of the AStar Nodes
PauseMenuScriptPauses the game and allows the player to change scene to Main Menu or Level Select
PlatformMoveScriptMakes any give platform move between two different game objects predetermined 
PlayerAnimationScriptManages the player's velocity to dictate which animation to use hence changing the direction of the player depending on his/her velocity
PlayerHealthScriptManages the amount of hearts the player has left. This script also moves the player back to the start of the level when he/she dies.
PlayerMovementScriptChecks if the player is ground and if so then the player is able to jump by pressing space. The player is also at any time able to press A to go left and W to go right
SceneSwitcherScriptA script for use in switching the scenes between levels used of the LifeOrb game object
SetAnimatorBooleanOnInputScriptWhen the player presses space this script changes the animation state to the jumping animation instead of walking left or right
Wanderingv2ScriptA script on the platform enemies when in wandering state and not aggro on the player. This allows the enemies to move until they detect the end of the platform then they change direction.
Start Game ButtonUIThis button switches the scene from the main menu to the First Level
Level Select ButtonUIThis button switches the scene from the Main menu to the level select scene where the player may choose a level to play
Resume ButtonUIExits the Pause menu and un-pauses the game
Main Menu ButtonUISend the player to the Main menu
Level "1-6" ButtonUISwitches the scene to the chosen level
Back to Menu ButtonUISends to player back to the menu from the Level Select Scene
Level "1-6" IndicatorUIIndicates which level the player is on


User Guide:

The Land of Blob

The Land of blob is a 2D platformer game. In this game the player's goal is to navigate through a brutal accumulation of obstacles and enemies to find the mysterious orb at the end of each level. Each of the 6 levels the player is met with a new challenge. The player cannot only rely on platformer skill for this game. You must also rely on good timing, patience and most important of all your wits to outsmart the game.

The Land of blob is suitable to all ages and all types of skill level. Some of the levels may be challenging but the sense of accomplishment at the end of each level is a reward in itself.

Controls:

A - Move Left.

D - Move Right.

SPACE- Jump/Hold Jump to Jump higher.

Hold directional key A or D towards a platform and you may stick to the side of the platform.


ESC - Pause/Access Menu.



Mechanics:

Find the Orb!


Enemies/Obstacles:

If you come into contact with any of these you will take damage and be reset back to the beginning of the level. If you run out of hearts, you will be sent back to the Main Menu.

Platform Enemy

The red eye on the enemies indicates that this enemy has seen you and will actively seek you out!

Flying Enemy

Spinning Obstacle


Lava

Platforms:

You can jump on platforms that look like this:


Moving Platforms:

These platforms act like the normal platforms. You are able to jump on but they move between two different points which could help or hinder your progress through the level.



Wind:

Come in proximity to wind and it will push you in the direction the wind is facing:

UI:

When the player is damaged by an Obstacle or Enemy he/she will lose a heart. When the hearts reach 0, the game ends and the player is sent back to the Main menu.


Main Menu:

In the Main menu you have two options. You may start the game by pressing the start button or you may go into level select where you are able to select which level you want to play.



Level Select:

In Level Select you are able to select which level you want to play. If you want to start a new game you may either choose level 1 or choose back to menu and press start game.


Files

FinalUpload.zip Play in browser
Oct 15, 2020

Leave a comment

Log in with itch.io to leave a comment.