01 Game design
In this blog I want to catalogue the development of my Games Prototyping Project. My game is a 2D platformer in which you play as a friendly ghost helping skeletons retrieve bones that have been stolen and scattered throughout a cemetery.
The protagonist will be a ghost pawn that they will follow through the various levels, making friends and enemies with other inhabitants of the graveyard. There will be friendly NPC skeletons throughout the levels the player can befriend by
fulfilling each level objective. The goal of the story is to restore all the graves in the cemetery by fully completing all levels.
02 changes in development
Throughout development it become clear some aspects of the design would need to be changed to be able to develop it in the most efficient way
Paper2D vs 3D Template
The first major change was switching from a 3D 3rd person Unreal Engine template to using a blank project with Paper2D tools. I attempted to create a basic level and implement some simple mechanics using cubes and locking the camera in orthographic view. While this worked fine it wasn't lining up with the style of the game I wanted and after some quick experimentation I started a new project file and set up tile sets and sprites. Paper 2D was a much better option and despite the lack of online resources and tutorials compared to the 3D templates, level design and character animations were much easier to create effectively.
Tutorial Redesign
It became clear during early feedback that my original design for the tutorial level was too complex. I wasn’t allowing the player enough of a chance to learn mechanics and get comfortable with the controls. I redesigned the level in a way that showed off the possible obstacles so that the player can understand the controls and quickly get comfortable in their abilities without the announces of repeatedly dying very quickly.
I redesigned a number of assets textures very slightly after development began. The main difference was the choice to split the Moveable Stone object. Originally this obstacle was one asset that could either be moved within the map to help the player better reach platforms as well as be destroyed if in the way of a hidden path. However, in practice this caused too much confusion. To fix this problem I took the breakable element and created a new object, Cracked Dirt. This makes the obstacle of hidden paths less obvious as the block blends in more to the level map but also is a lot easier for the player to understand.
Obstacle Redesign
03 pLAYER cHARACTER & CONTROLLER
sPRITES & mOVEMENT
To create the best experience for the player I included abilities such as a health function, an attack function, and a number of movements. Like all other assets and sprites within the game I drew each element to create this sprite sheet. This was then used to develop flipbook animations, and then I used input action mappings to create the character movements: left, right, jump, crouch, and attack.
HEALTH
The player has 5 lives in each level and each life is made up of 5 health points, these are lost through interactions with obstacles and enemies and the player must restart the level when they have no lives left.
attack
The player’s attack is a long ranged mini ghost that works as a bomb and explodes on impact with other actors. It also has a 3 second cool down to make the player think a little more about when to use this ability.
Player controller
I created an input graph in the player controller blueprint to keep all these functions as I felt it was neater and less intense on the game.
Additional skins
An aesthetic feature in the original design was the ability to change the players costume and attack sprite as a reward for collectables. This feature didn’t make it into this version of the game but it’s something I want to work on for a future version of the game.
04 controls
To create the controls for this game I used Unreal 5’s new input action map tool. This made it much easier to change controls if needed throughout development. I included these images in a UI menu to show the players the necessary controls at the start of the game if they needed.
Keyboard
Controller
CRACKED DIRT
As said before this obstacle is intended to blend into the tile map to hide hidden paths that contain collectables. They can be broken in one hit and are destroyed to allow the player to take a path previously blocked.
05 obstacles
I used a range of obstacles to make the game fair for the player as as well as making it difficult enough that they still have to put in effort to complete.
MOVEABLE STONE
These stone bricks are spread across each map to add an extra layer of difficulty in navigating the map. They allow the player to move them using collision boxes and tick events, so they can be stepped on to reach higher platforms or avoid other obstacles.
POISON GOO
Goo pools are throughout each level and create a parkour style obstacle based on the size and placement of each pool. Once in contact with the pools take 1 full life from the player and respawn them back to just before the obstacle.
spikes
Spikes obstacles were a new edition to the game, not included in the original design. The are hidden metal spikes only slightly visible to the player and shoot out of the floor 0.2 seconds after stepped on to hurt the player. These obstacles have two collision boxes one to check if they've been walked over and another one that is moved with the animation to hurt the player. If the player is fast enough, they can be avoided but are grouped together to force the player to respond quickly to parts of the level.
PUMPKIN BOMBS
Pumpkin bombs had little to no change between the GDD and the game other than being redrawn. These obstacles are triggered if the player gets too close. The actor has multiple sized collision boxes to trigger different events. They are “woken up” at the first distance and if the player walks away they will go back to sleep. The second trigger however lights the bomb and the pumpkin will explode after a short delay. If fast enough the player can walk away to try and get out of reach from the bomb to avoid taking damage.
06 ENEMIES
Another major chance was the removal of the ghoul enemy type. They were the highest difficulty ranked enemy in my GDD but I believe the addition of better obstacles creates a better game experience for the player. These enemies are placed throughout the level to add additional challenge to the stationary obstacles. They react and target the player and when used efficiently within the level design increase the difficulty for the player.
BATS
1 Life
5 Health Points Per Life
Enemy Health
Enemy attack
2 damage per hit
Bats are simple enemies with one attack of causing damage when touching the player. They are idle in a level until the player enters their range of sight, then they will follow the player and attack when close enough until either the player or bat is dead or if the player is able to outrun the bats vision collision box.
PLANT MONSTERS
2 Life
5 Health Points Per Life
Enemy Health
Enemy attack
2 damage venom hit
4 damage if eaten
Plant Monster sprites also got a slight resign to make the animation easier to draw. They have no movement abilities so have two attacks. A long-ranged attack, where they spit at the player when within range, and a short-range attack, where they are eaten if the player gets too close.
07 GAME OBJECTIVES and REWARDS
There are two types of collectables, bones, and skulls. Each level has 5 bones to collect and 1 skull. The bones are the priority, and they are the purpose of the game. The skulls are simply a reward objective intended to allow the player to unlock player costumes but as said earlier I was unable to implement this in time. I do still intend to work on this and so have kept the skull collectables in the level.
08 UI DESIGN
HUD
The design involves (from left to right), an indicator of the attack cooldown, the timer elapsed for the level, lives remaining, number of bones collected and if the skull was collected. The is also a hidden text box for helpful tips and a hidden overlay to show the player has been hurt.
MAIN MENU
It allows the player to start the game, view the controls and quit the application. There was also intended to be an options menu to control music and sound effects as well as an option to turn off hints, but this was not completed. All UI menus with buttons have sound effects built in when pressed.
CONTROLS
On this screen the player can clearly see the assigned controls and switch between controller or keyboard as shown.
gAME INTRODUCTION
This screen is displayed when the player chooses to start the game. This allows the player to be immersed in the games narrative and explain the general premise and goal. To make this slightly more personalised the skeleton’s name is randomised from an array of text so each time the game is run the player gets to meet a new character.
PAUSE MENU
This menu stops the game temporarily, blurs the background of the screen and displays options for the player to continue game, quit to main menu or quit the application completely.
GAME OVER
This is displayed when the player has lost all five lives and gives them the options to retry the level quit to main menu and quit like application.
LEVEL END
This widget is displayed at the end of each level to show the player their final marks and allow them to rest before continuing to the next level. The skeleton shown on the left is filled in depending on the number of bones the player collected.
GAME END
As this is still a prototype, I included this simple widget when the player has completed all available levels to give them a sense of achievement as well as an opportunity for them to give feedback.
08 LEVEL DESIGN
tutorial leavel
To help the player throughout the tutorial level I places collision boxes programmed with specific prompts to help the player as specific parts of each level. I also included check point boxes that are invisible to the player in game but allow the player to only be sent back a small distance when they respawn rather than respawning at the very beginning of the level each time.
level 1
As said earlier I changed the design for the tutorial level to better suit the player’s learning experience of the game. Shown here is the level design for the 1st official game level as well as an earlier design from my GDD as reference. For the intentions of this game I do think this level is slightly too difficult but it is a good example of a future level.
10 MUSIC AND SOUND AFFECTS
I included a short audio track I believed matched the intended aesthetic of my game and this plays from the start menu being loaded and continues throughout the levels. I also included sound affects on the collectables being picked up, the enemies taking damage and attacking and the explosions to enhance the experience of the game for players and immerse them into the game as much as possible.
11 TESTING
To gather feedback on my game I created a google form with questions for players to fill out to share their experience of the game and point out elements they liked or disliked. I included this QR code with my UI at the end of the game to make the form easir to access. This is an incredibly useful tool but could have been more helpful if used to reach more people. These are the responses I received with things I tried to improve on.
player DEMOGRAPHICS
GAME FEEDBACK
12 Overview
If I could do things differently, I’d reorganise time spent developing to get the most out of the time I had. I’d like to include the skin changes for the player as well as work on developing a lot more unique levels. I’d also like to include player identities that save scores and total up points in leader boards as well as achievements for players as an extra motivation in completing the game. I’d also give more time to Play Testing and debugging.
I’m very happy with the game I created and love the designs of all the assets I’ve created.