User Guide & Documentation


User Guide: OVERDRIVE V1.0

Sidescrolling platformer.

Run: A and D, or Left and Right arrows

Jump: J or Space

Swing: K or Left Shift -- The grappling hook shoots at 45 degrees upwards in input direction.

Use the above controls in any combination that feels comfortable, for example - A, D, space and shift.

The goal in OVERDRIVE is simply to reach the end of the 3 available levels, optionally collecting all 3 purple gems in each level.

Click any of the 3 levels, ideally play them top to bottom, using the escape key to return to the menu after reaching the goal. Your best time and which gems you've collected appear in the level panels.

Audio can be adjusted in the bottom right.

The chosen level will begin immediately once clicked, and your current time will display at the top of screen and which gems you've collected will also display during the level just beneath the timer.


You can use the R key to instantly restart a level, and the 1, 2 & 3 keys to jump between levels.

Documentation

The final game is very close to the concept. The only noteworthy difference is I planned to only allow the player to grapple from ceilings highlighted in a certain colour similar to Speedrunners, but while developing the game I initially just let the grapple land anywhere while I got the physics right and decided that it was more fun to be able to swing from any solid surface.

The elements of the game that were tested in my survey were:

  • How the movement felt
  • Whether failure was due to lack of experience or unfair level design
  • How easy it was to see what to do next and the way ahead
  • How often testers opted to swing
  • If testers replayed levels and why (better time, find gems)

Before these questions I asked participants if they have played similar games before to get context for how familiar they already are with fast platformers. Half of the 8 testers answered “Not much / No” experience.

I also asked for a favourite level and level 3 was largely favoured despite 2 out of 8 testers not actually playing it, so I understood that the visual appeal and gameplay flow of the third level is what I need to aim for when making tweaks to the other two.

From the main questions listed above feedback was very positive so I didn’t have much to go on except to continue doing things the way I’m currently doing them.

Assets

Prototype Hero Sprites by SvenThole on itch io

The main character uses these sprites though I customized a wall-sliding and skidding sprite myself.

Prefabs

Player and PlayerSprite

Player contains the functionality for gameplay and scripts for collecting gems, keeping track of time, displaying the grappling hook etc. PlayerSprite handles visuals and animations for running etc.

Solid

Basic building block of levels with a collider.

Hazard

Same as solid but can’t be touched by the player without resetting.

Checkpoint

Goal

HomingOrb

StillZone and DollyZone

Cinemachine cameras with triggers attached that cause the camera to become active while the player is inside the trigger. Stillzone is a stationary camera and dollyzone is a dolly camera.

Scripts

PlayerController

Handles player movement and some interactions with other objects

LevelTimer

Keeps track of time in the level and interacts with the goal object

BackAndForth

Mostly written by ChatGPT, makes an object position oscillate with a certain frequency and amplitude. For making gems/goal hover up and down, or making hazards move back and forth.

SpawnBackground

Mostly written by ChatGPT, spawns a group of square prefabs randomly across the screen as the games background. The object with SpawnBackground attached will also move to create a parallax effect. Two of these are layered on top of each other in each level to create background squares and more distant background squares.

WrapAround

Mostly written by ChatGPT, just for the background square prefabs to wrap around the screen at the edge.

ColourManager

Script attached to the ColourManager object ( 1 per level). Carries a palette (scriptable object) which other objects will use if they have the ColourFetcher script. Palette can be switched out to instantly change the appearance of a level when the game is run. ColourManager object also plays the level’s music.

ColourFetcher

Attached to the player, hazard, solids, and camera to pull the appropriate colour from the colourmanagers palette. Applies the colour to the spriterenderer (or background for the camera) of the object.

CollectGems

Deals with picking up gems and redeeming them at checkpoints

ReticleController

Keeps track of whether the reticle for the homing ability has found a new target and needs to replay its shrinking animation.

EnterCameraZones

Switches camera priorities in Cinemachine when specific triggers are entered.

Audio

All sound effects and music were custom made with Ableton Live.

Fonts

'Spaceport_2006' for the main title and 'Cranberry Gin' for everything else, from Dafont.

Leave a comment

Log in with itch.io to leave a comment.