Breakdown Video On The Games Design Procsess.

Below is a playable version of the game. You can play in the current window or use the direct link to play it on Itch (not recomended for mobile use).
Concept
A simple 2D puzzle platformer that challanges players to compelte in both puzzle and time trial based levels. 
Managing The Gameplay With Scripts
In order to ensure the gameplay would function as intended, scripts were created to manage the core gameplay loops for the design, the time and puzzle trial targets.

Below are PDF versions of the Unity scripts used for the game mode and state.
Game Mode
The game mode was responsible for controling the main aspects of the game. By making this script a singleton it was able to take in the required variables from elements of the levels and bring them into other levels.

Examples of this are things such as the level doors. These held the time values for the time trial levels. They would send these to the game mode when the player wished to enter a time trial level so it would set the correct time targets for the level. While this could have been done in each of the levels, it was a better design choice to implement the time targets onto the doors themself. This meant that the time targets for each time trial level could be changed inside the level hub for any level selected without needing to open every time trial based level.

This also meant that a level could have its type changed from time trial to puzzle by changing a single Enum value inside the inspector. The level UI would simply auto update to the new level type using the On Awake method ensuring the player was shown the correct UI for the level. This was implemented using a switch statement to select the required level type using the LevelType Enum.

This modular approach to the setup of the levels was possible by using the game mode in this way. This meant that once the initial code was set up. It was just a case of tweaking inspector values rather than changing a single line of code. Making it a much more design friendly experiance if this was being designed to be passed onto a team of level designers to flesh out.

Game State
The game state script was built to exists in all playable levels. Unlike the game mode, it was unique to each and every level. It would control the level timer, the current player score for the level and other important values. 

It got its data from the game mode when the level started up and is essentially a level manager script. 

Art Asset Creation
All of the art assets for the game were created using figma, This approach enabled me to create an entire canvas split up into the design sections needed for the project. I created sections for my UI design and how the user would interact with the menu systems as well as a seciton for the in game assets.

The Figma Design File For Art Assets And UI Elements.

Design Documentation
Below is my design doccument for the platformer