
Documentation
How a race works
Everything on this page describes the build as it exists today. Where a system is planned rather than shipped, it says so.
01The loop
A race is a five-phase state machine. It runs the same way every time, and the whole thing takes a little over a minute.
Filling
30 seconds
The wheel turns and the grid fills. Entries close when it completes — this is the only window to join. The last seats go slowly on purpose: the tension is the point.
Locked
~1.6 seconds
The grid is sealed. Bodies settle onto the start line and lean against the gate. No further entries.
Countdown
4 seconds
Three, two, one, go. Physics is already live — only the gate is holding.
Racing
~45 seconds
The gate opens and nothing else intervenes. Positions, speeds and the prize pool update live.
Finished
—
Final standings, your result, and payouts. Race again, or return to the lobby.
The thirty-second wheel is the signature of the product. It is not a loading screen — it is the reason a race feels like an event you can still just about make.
02The grid
03Cameras
Three modes are selectable during a race. The other two are taken by the direction automatically, because there is nothing to chase on a stationary grid.
04Rewards
The top five finishers are paid from the prize pool. Everyone earns XP, including for a finish outside the money — a race you lost still has to be worth having entered.
GOLD is an in-game balance. It has no value outside the game and is not a token.
05Marbles
A skin is not a tint. Every entry below is a set of real physically based rendering parameters — roughness, metalness, clearcoat, transmission, index of refraction — fed straight into the material. Changing a skin genuinely changes how light behaves on the surface.
Frost Marble
rough 0.24 · metal 0
Obsidian
rough 0.14 · metal 0.1
Crystal
rough 0.05 · metal 0 · trans 0.92
Emerald Veil
rough 0.1 · metal 0 · trans 0.55
Royal Sapphire
rough 0.09 · metal 0.15 · trans 0.35
Nebula
rough 0.16 · metal 0.2
Liquid Chrome
rough 0.16 · metal 1
Molten Core
rough 0.42 · metal 0.3
06Audio
Every sound in MarbleBag is synthesised in the browser at the moment it plays. There are no audio files, so the bundle carries no weight for it and there is no load delay before the first click responds.
The race is scored, not commentated. The wheel ticks while the grid fills, the gate closes on a latch, three beeps and a tone open it, a change of lead brushes past, and the finish resolves on a chord. Master, interface and race levels are set independently in the audio panel.
07Questions
Do I need a wallet to play?
No. Guest play is the default and always will be. A wallet is only ever relevant to holder marbles and, later, settlement.
Can I steer my marble?
No, and that is the design. You choose what to enter and — once the agent layer ships — how your agent is trained. You never touch it mid-race. Physics decides.
Is the result random?
It is deterministic physics with a seeded start, which is not the same thing. Once server-side replay lands, any race can be replayed identically from its identifier and a modified client result is rejected.
What is GOLD worth?
Nothing outside the game. It is an in-game balance used for progression. There is no token.
Why is there no sound until I click?
Browsers forbid audio before a user gesture, and we do not work around it. The audio engine is not even created until you interact with the page.