Repository navigation
Smooth64 — The Expanse
A huge open world to test size in, on an engine with no arbitrary limits whose collision cost no longer grows with the world.
Play
Download Smooth64-Browser.zip, extract it, and open Smooth64-Play.html.
Or download the HTML file directly. Both work offline, with no setup or ROM. Choose Roam the Expanse on the welcome screen, or The Expanse under Menu → Choose a world. Sound and music start after your first click, tap, or key press (a browser rule).
What's new
The Expanse is a fourth world, built to find out whether big levels work:
- Rolling ground 240,000 units across, in 38,848 triangles. The engine used to stop at 65,534 units and 4,096 triangles.
- Hills, a hollow, and a mountain 14,000 units high with a snowy top.
- Over 500 crates, stacks and stone blocks to run into and climb.
- A landmark tower with a coloured cap at every travel point, tall enough to see from far away.
- Coin trails from the middle out to each rim, 156 coins in all.
- Eight travel points in Menu → Travel points: the Crossroads, the Crate Yard, the Mountain Top, the four rims and the Far Corner, about 153,000 units from the middle.
- Sheer cliffs at the rims. Jump off and you fall into the void and come back to your beacon.
The engine has no arbitrary limits (these changes came with this release too):
- A world holds as many triangles as memory allows (it was 4,096), and coordinates reach ±536,870,912 (they stopped at ±32,767).
- There is no invisible ceiling or missing floor far above or below: the "nothing here" heights sit at ∓1.1 billion.
- Two 32-bit overflows in the vendored collision code are fixed. A single floor 64,000 units across used to vanish or turn into a ceiling.
Collision cost no longer grows with the world. The core keeps its triangles in a grid, as the original game did, so each check looks only at the triangles nearby. A tick in the Expanse takes about 12 µs instead of 3.6 ms; the other worlds tick about 14 times faster.
Movement is unchanged. Old and new builds give identical state bytes and sounds on every tick of random play in all four worlds (118,800 ticks for the grid) and among thousands of random walls, floors and ceilings (50,400 ticks), plus 67,500 ticks for the lifted limits.
Verification
All 15 native and 93 Node tests pass. tests/expanse.test.mjs shows every travel point spawns exactly on its pad and the floor is the drawn ground everywhere. It also shows crates and towers stop runs from every side, and that a run and jump at the Far Corner match the same move in the middle tick for tick. A jump off a rim falls into the void and returns you to a beacon. Native and WASM builds agree byte for byte far out. The engine tests check that 40,000 triangles tick less than ten times slower than 2 (the old scan was about 860 times slower). They also check that walls at every offset from the grid's cells stop a run exactly where they should. The browser check visits the Expanse and travels to the Far Corner. This is automated verification plus rendered screenshots, not a human play session.
Controls: WASD move · Space jump · Shift crouch · J punch/dive · drag orbit · R checkpoint · P pause.