← Notes

Hover physics for a browser UFO

How the portfolio playground stayed readable while adding free yaw, boost, and an abduct beam — without turning into a full game engine.

The experience section needed a vehicle that felt playful, not a sim. The first pass used a car chassis with ground grip. Swapping to a UFO meant rewriting the control feel: hover instead of traction, yaw without forward throttle, and a soft radial glow so the craft still reads against a dark scene.

Constraints that shaped the build

Keep Rapier for knockables and collisions, but don’t fight the library for flight. Treat altitude as a springed setpoint, map A/D to free yaw even when idle, and put boost on Space so the default hover stays calm. Abduct mode (Q) is a separate state: rise, beam, then apply a pull force to nearby bodies — one trick, not a second vehicle.

What I’d change next

Tune beam falloff against mobile thermal budgets, and gate the Sketchfab GLB behind the same LazyMount pattern as the hero so first paint stays light. The case isn’t “more features” — it’s keeping the playground legible after each addition.