Skip to content
← Back to Projects

Platformer Forgivness Mechanics

My RoleSole Programmer
Software & Languages UsedC#,Unity , Visual Studio 2022

Overview

Context

This project was a solo developed university assigment focused on implementing player forgivness mechanics , additionally creating a testing envirment to showcase / test each FM individually.

Variable Jump height

The focus wasn’t adding lots of new gameplay systems — it was making fundamental movement feel consistent and fair, even when the player inputs slightly early/late or makes small mistakes.

A key constraint was no Update-driven gameplay logic. Movement and state are handled using coroutines , and events broadcast state changes . Input simply forwards intent, movement applies rules, and UI reacts to events rather than polling.

This movement training build Systems/features:

  • Forgiveness Mechanics Stack: Variable jump height (jump-cut), coyote time, jump buffering, semi-solid platforms,apex gravity tuning and crouch on ledge.
  • Coroutine Movement Loop: Horizontal movement runs in C_MoveUpdate(), while jump state + gravity are evaluated in C_JumpLoop() for predictable behaviour.
  • Grounding + Platform Rules: GroundCheck tracks contact count and triggers grounded events; semi-solid platforms support drop-through via a short coroutine (PassThroughPlatform).
  • Training Zones: LightingTriggerArea highlights the active section and can modify behaviour per zone (e.g. disabling coyote time for a ledge-focused section).
  • Checkpoint + Respawn Loop: CheckpointRegistry stores the active checkpoint and broadcasts changes; GameManager updates spawn and respawns cleanly when the void is entered.
  • Timer + Results UI: TimerManager tracks time + best time (PlayerPrefs) and shows results through EndPanelController when the finish line is crossed.

Technical Highlights

General