FLOAT — 3D First-Person Momentum Parkour Browser Game (Three.js + Rapier3D)

Just released v1.0 of FLOAT on GitHub. A project I’ve been working on for a while exploring first-person momentum traversal and brutalist architecture in the browser.

Currently featuring a custom 60Hz kinematic character controller, momentum conservation, sliding with physical capsule ducking, wall running, and chained wall jumps. No combat or enemies — just movement and atmosphere.

:video_game: Live demo: https://floatparkour.vercel.app
:package: GitHub: GitHub - Henrique-Teruya/3d-platform-game · GitHub

What’s inside:

  • Physics & Movement: Custom kinematic controller built with @dimforge/rapier3d-compat (WASM) at a fixed 60Hz timestep. Features variable jump height, coyote time (120ms), jump buffering (140ms), Quake/Source-style air strafing, slide slope acceleration, and moving platforms with velocity inheritance.
  • Monumental Brutalism: Colossal concrete structures, colonnades, and suspended monoliths. Built with procedural DataTextures (board-formed concrete and stone tiles) generated in real-time — zero external image downloads.
  • Rendering & Atmosphere: Custom GLSL tri-color atmospheric sky dome with solar disc, PCF soft shadows, and exponential depth fog. Heavily optimized with THREE.InstancedMesh to run under 68 draw calls and ~5,000 triangles in scene.
  • Procedural Soundscape: 100% synthesized in real-time via Web Audio API. Includes a speed-reactive Biquad wind filter, generative harmonic drone chords for each biome, surface-specific foley, and resonant shrine bells.
  • 3 Playable Levels: Includes “The Awakening”, “The Monoliths”, and “The Ascension”, complete with instant shrine respawns (<150ms ethereal fade) and speedrun telemetry.
  • Real-time Tuning GUI: You can append ?debug=1 to the URL to open an in-game lil-gui panel and live-tweak gravity, sprint speeds, jump velocity, and wall friction.
  • Mobile Support: Fully playable on touch devices with virtual joystick controls.

The project is completely open source. There’s still a lot of ideas I’d love to experiment with in the future (like time-trial ghost replays and more architectural zones).

Hope you have fun exploring the monoliths! Any feedback, critique, or bug reports are very welcome.

Really cool it feels decent you should add inertia to the player but did you use AI? Just asking because all of my projects are AI because I can’t code but I still love making things.