3D Parkour World with Racing Bots

Shared · Updated

Make a 3D parkour world where you compete against bots for time. There should be 3 races in the world, and you can start any of the races by walking over to their start point. Use the assets in Kenny_Platformer_Kit/ to build your world.
Claude Fable 5·

The full race flow verified end-to-end in simulation: countdown triggers on the start pad, bots run their paths, timer counts, finish produces standings, and fall-respawn works. Note the editor kept reverting my project.godot input-map edits, so the player script registers the input actions at runtime instead — this is robust regardless of project settings.

Here's what I built:

The World — res://scenes/world.tscn (set as main scene)

A central hub plaza built from Kenney grass blocks, decorated with trees, flowers, mushrooms and rocks. Three flag pads sit on the plaza edges — walk onto a flag pad to start that race (3-2-1 countdown, then GO).

Three courses, all built from the Kenney Platformer Kit with accurate trimesh collision:

  1. Meadow Dash (easy, east) — flat grass-block sprint with small gap jumps, curving to a finish platform.
  2. Snowy Ascent (medium, west) — snow blocks climbing steadily upward with gaps, ending on a snowy summit.
  3. Sky Gauntlet (hard, north) — small floating platforms over the void requiring precise jumps to a floating finish island with a jewel.

Competing against bots

  • Each race has 3 named bot racers (Kenney characters like oobi/oodi/ooli with floating name labels) that run the course at different speeds when the race starts.
  • On finish you get a standings board ranking you vs. the bots by time, with a headline for your placement.
  • Bot difficulty scales per course — Meadow Dash bots are fast, Sky Gauntlet bots are slower but the course is harder.

Systems

  • Player (player.gd): third-person CharacterBody3D with mouse-look SpringArm3D camera, WASD + Space jump, model turns to face movement.
  • Race manager (game.gd): state machine (free-roam → countdown → racing → results), race timer HUD, fall detection that respawns you at the race start (mid-race) or the hub (free roam), and auto-return to the hub after results.
  • Bots (bot.gd): waypoint-path ghosts with hop arcs across gaps.

Press Esc to release the mouse. Just hit play — you spawn in the hub with all three race pads labeled around you.