Three-day game jam

A Totally Normal Bike Ride

A Godot physics prototype about balancing a unicycle across telephone wires, built for a three-day game jam.

Game JamGodotPhysicsPrototype
Role
Gameplay programmer
Status
Prototype
Engine
Godot
A Totally Normal Bike Ride cover art.

Overview

A Totally Normal Bike Ride is a jam prototype built around an intentionally unstable bike-platforming premise. The project shipped with a browser build and a Windows download, which made it easy for judges and players to try without extra setup.

Key Contributions

As the lead programmer, I focused on implementing the physics systems, wire authoring utilities, and environmental visual pipelines to deliver a polished, stable prototype within the three-day jam window.

Two-body physics character

  • Built the two-body physics character: a wheel and a rider rigidbody joined by a pin joint, where locomotion is torque on the wheel and balance is lean torque on the rider, with separate ground and air tuning.
  • Implemented a charge-and-release variable jump: holding compresses the rider toward the wheel and release applies an impulse scaled by hold time, with ground state read from wheel contact count and a rolling average-speed buffer for camera and feedback.

Telephone-wire authoring tool

  • Built the telephone-wire tool: a segmented physics rope strung between two static anchors, with segments auto-spaced and auto-sized to the span, chained by joints anchor to anchor, and rendered each frame as a smooth baked Curve2D on a Line2D. Authoring a new wire is just placing two endpoints.

Day-night cycle

  • Built a day-night cycle: a normalized day timer drives a custom canvas-item shader that blends a four-phase vertical sky gradient (night, dawn, day, dusk) with smoothstep, alongside scripted celestials - a sun that arcs across the sky with eyes that track the player, plus a fading and scaling moon, fading stars, and tinted clouds.

Integration

  • Contributed debugging and integration so the final build had a clear input model and could be shared from itch.io with both a browser build and a Windows download.

What The Work Shows

The useful lesson here was handling a deliberately unstable mechanic without letting the implementation become unclear to work with. The project needed fast iteration, direct feedback, and systems small enough to ship in three days.