Talaire
← All work

Talaire

Shababeek Labs / Unity / Steam / 2025–26

A competitive multiplayer game on a moon base built by people who are certain the Earth is flat and have the telescope readings to prove it. Crews keep a failing station alive, and sabotage each other while doing it.

What makes it hard

Talaire is a station full of machinery that several players touch at once, on purpose, in bad faith. Reactors, airlocks, life-support consoles and repair stations are all shared and stateful, and the fun of the game depends on players disagreeing about what should happen to them.

That is the case a client-authoritative model handles worst. Two players pulling the same lever in opposite directions, or one asserting a repair that another has just undone, will desync within seconds. The state that matters has to live somewhere that isn't a player's machine.

Authority

The simulation is server-authoritative. Clients send intent: this player wants to pull that lever, insert that fuse, vent that section. The server validates it against the machine's actual state before anything changes. Clients predict locally so input feels immediate, then reconcile against the authoritative result. A rejected action becomes a visual correction instead of a divergent world.

The rule that keeps this maintainable is that a machine's state is never stored on the object a player can see. Presentation reads from replicated state and never owns it. That separation is what makes it possible to add a new machine without opening the networking layer.

Machines as data

Station machinery is authored rather than coded. A machine declares the states it can be in, the interactions it accepts, the validation each one needs, and the events it raises, all as data assets on the same ScriptableObject foundation the rest of my Unity work uses. Designers add and tune machines without touching netcode, which matters on a game whose entire design loop is finding new things for players to break.

Where the difficulty actually sits

Almost none of the hard work in a game like this is the transport layer. It is the boring discipline underneath. Deciding what is authoritative. Keeping presentation honest about not owning state. Making sure a designer adding the fourteenth machine can't accidentally create a fourteenth way to desync.

Contested space. Several players, one set of station systems.
Contested space. Several players, one set of station systems.
Server room console. Machinery is authored as data.
Server room console. Machinery is authored as data.
Station interaction terminal.
Station interaction terminal.
The Lunar Herald. The game commits to its premise.
The Lunar Herald. The game commits to its premise.

Next

GripCraft VR Interaction Framework