The Wif workshop
A universe has an inner life.
If you want to understand how a world works as well as explore it, you are in the right place. The protocol, architecture and tools live here.
The protocol
How a client talks to the world: messages, state and compatibility rules.
ExploreUnder the hood
Generation, determinism and rendering. The decisions that make Wif work.
ExploreWhere we are heading
Plans for the game and the systems still to be built.
ExploreInside a wish
An interactive example for the technically curious. This runs in your browser and does not change a game world.
wish:
| 0000 | 57 | 49 | 4e | 54 | 01 | 00 | 00 | e2 | 04 | 00 | 00 | 00 | 00 | 00 | c0 | d4 | WINT............ |
| 0010 | 01 | 00 | 60 | ea | 00 | 00 | 40 | 0d | 03 | 00 | a0 | bb | 0d | 00 | 98 | a4 | ..`...@......... |
| 0020 | 95 | 00 | 00 | 5c | 26 | 05 | 01 | 01 | 01 | 00 | ...\&..... |
mountains320 m
ocean level0 m
depth120 m
water colour#0f33e6
gravity9.81 m/s²
day length24 h 00 min
stars1
moons1
viewpointplanet
ringsno
Highlighted values are changed by your sentence. Everything else stays as it is in the current world.
queued · activates in 24:00:00 · no rollback
The layout is real — the same one in server/common/world_intent.hpp. The values here are computed in your browser; the real compiler runs on the server, next to the physics.