Fboard: feel and physics¶
Written 2026-10-27 from the project's own docs.
After the first playable build, the project's direction changed: scoring was shelved, and the goal became making play and tricks feel good, aligned with how real fingerboards behave. This page covers that "feel pass" and the simulation underneath it.
Not yet tried by a person
The feel pass is covered by tests, but nobody has playtested Real against Arcade physics, and finger mode has not been tried by a person. Its stick thresholds are marked in the code as first guesses.
Real physics vs Arcade¶
The game's world scale is 1 unit = 66.7 mm. Two physics presets exist, switchable in Settings > Gameplay:
| Real (default) | Arcade | |
|---|---|---|
| Gravity | ~147 units/s², which is real gravity at this scale | 20 units/s² |
| Ollie | ~4 cm high, ~0.18 s in the air | about 0.65 s in the air |
| Character | true fingerboard scale and speed | the original slower, floatier tuning |
Real physics also pushes to about 1.5 m/s and spins flips at about 7 revolutions per second.
Why this matters: the project's research found that the original tuning ran about 2.7 times slower than a real fingerboard, essentially at full-size skateboard timing. Speeds weren't scaled to match, so each jump covered about five board lengths instead of about two, and jumps read as floaty. The reason a small board moves faster is a standard scaling rule: time spent falling grows with the square root of height, so a board about ⅛ the size of a skateboard does everything in the air roughly 2.9 times faster. (Model makers use the same rule when filming miniatures.)
Replays store which physics they were recorded under, and older replays default to Arcade so they still verify.
The hand¶
The rider is a hand with a real-size index finger (about 75 mm) and fingertips (about 16 mm) on a 32 mm-wide deck. Decks and wheels are modelled in true millimetres. The default deck is 96 × 32 mm, matching the current standard width the research found (the earlier 26 mm default was Tech Deck-era sizing).
The animation follows what the research found about real technique:
- The fingertips move between anchor points on the board: the bolts, the nose, the tail, and hanging off the tail (used for scooping tricks like tre flips and impossibles).
- Fingers peel off and re-catch the board on flips.
- The palm tilts with the board's pitch.
- The thumb pinches the board for grabs.
- The stance matches the standard real grip: upright palm, ring and little finger curled with the thumb across them, and the index and middle fingers as near-straight "legs" over the trucks.
The chase camera sits in a three-quarter view from the palm side. The handoff notes one known camera issue: after a change of direction, it can lag before swinging round.
Finger mode¶
Finger mode is an optional gamepad scheme (Settings > Gameplay > Gamepad Controls) in which each stick is one finger: the left stick is the index (front) finger, the right stick is the middle (back) finger.
- Press the middle finger down to load the tail, then let it spring back to pop.
- Flick the index sideways for a kickflip or heelflip, flick the middle for a shove-it, flick both for a varial flip, and push the middle up out of the press for an impossible.
- Lift the index as you pop for a no-comply.
- A light press holds a manual, and how hard you press is the balance.
- Lean both sticks to steer and spin. Press both down in the air to grind.
- Triggers push and brake, the bumpers grab and revert, and the face buttons and d-pad do the finger tricks.
The keyboard stays on buttons. Under the hood, finger mode turns stick gestures into exactly the same input the button scheme produces, so the simulation, replays and the TAS tool don't change. The research base points out the precedent and the risk: touch-screen games built on the "two fingers as legs" idea are praised for feel and criticized for a steep learning curve.
How the simulation is built¶
The rules live in fboard_sim, a crate with no game engine in it. The project's architecture notes describe it this way:
- Fixed tick: one rider advances by one fixed step at 60 Hz.
- Device-independent input: a stick plus five buttons. Things like "ollie released" are worked out inside the simulation from the previous tick's input, so the simulation is a pure function of (state, input). That property is what makes replays and the TAS tool possible.
- Serializable state: everything that would cross a network can be saved and loaded, and nothing assumes a single player.
- Levels as data: a level is a heightfield of simple box, wedge and quarter-pipe pieces plus grind lines, written in data files. The game builds its meshes from the same data, so what you see is what you collide with, and a test checks that.
Networking plan (not built)¶
The architecture notes lay out an authoritative dedicated server with client-side prediction for your own rider and interpolation for everyone else. Lockstep networking (where every machine runs the same inputs and trusts they stay in sync) is ruled out, because the simulation uses 32-bit floats and trigonometry that aren't bit-identical across CPUs and compilers. Choices about hosting, matchmaking and accounts are open and have not been made.
See also: Gameplay, Equipment and physics of real fingerboards, and Bevy: project structure.