catacomms
A dungeon for a few friends, played over radio you own. Your party is whoever you can hear.
What it is
Two to four people plug a LoRa module into a USB port, go down together, and come back out or do not. There is no server, no account and no internet connection. Everyone runs the same rules on their own machine and the radio carries what you decide.
It runs on top of loraline, which is the messenger the radios were doing before there was a game: same modules, same keys, same link. Whatever you type that is not a command is said out loud to the party, on the same channel, in the same window.
The name is the two halves of it. A catacomb, and comms.
Why a dungeon and not a farm
Under the European duty cycle you get about one action every seventeen seconds. That is the whole design brief, and it rules out most games immediately.
A loot-and-repeat loop is enjoyable because it is dense: many small decisions a minute, the next drop always seconds away. At seventeen seconds a swing that is not a slower version of it, it is a worse one. So this is an expedition rather than a grind. You go in as a party, it is dangerous, and seventeen seconds to choose becomes deliberation instead of lag.
A median room runs about fifteen turns, which is four minutes of real time, and then you stop.
Your party is whoever you can hear
This is the part that cannot be built any other way.
Every online game simulates distance, and every one of them can be lied to, because your machine reports where it is. Here your position is measured by other people's receivers. Whether you can be heard is a physical fact about buildings and hills, and no amount of cleverness makes you somewhere you are not.
So the fog of war is not a rule the engine applies. It is a wall.
How three machines share one world
The engine is a pure deterministic state machine: a room and everyone's inputs go in, the next room comes out. No clock, no floats, no randomness that is not derived from the turn number. Every machine given the same room and the same inputs computes the same bytes.
Which leaves the actual problem, because a radio loses packets:
- A turn does not advance until every living player's input for it has arrived. loraline retransmits until acknowledged, so this finishes.
- After advancing, everyone publishes an eight-byte hash of the resulting world. Anyone whose hash disagrees knows at once.
That is divergence detection, not consensus. With three players on a half-duplex channel there is no quorum worth having. For a party who can see each other it is enough: the game stops and says so, rather than drifting quietly into two different worlds.
Everything is inside that hash: what you are carrying, whether the shrine has been spent, how many of you came down. A client that quietly gave itself a better sword is not cheating anybody, it is simply no longer playing the same game, and everyone finds out on the next turn.
What a delve leaves behind
A room is a pure function of its seed and roster, so anyone can rebuild it and confirm that an Ashen Fang is genuinely what drops there. What they cannot check alone is that you were the one who walked out with it.
So when a room ends, everyone present builds the same record from the same final state and signs it. Only the signature crosses the radio, because the record itself is something every machine already computed. Editing what you carried out afterwards invalidates every signature on it at once.
Two things fall out of that rather than being decided.
You cannot witness your own loot. A delve alone produces a record signed only by you, which is worth nothing to anybody else. It happened, nobody disputes it, and it mints nothing.
Being reachable is not being somewhere. The record notes, per person, whether their own transmissions were heard on air. A frame relayed to you over a socket proves somebody exists; it does not prove they were near enough to hear. A delve played entirely over the internet is witnessed and still mints nothing, and in a mixed party the people who were physically there earn while the person on a socket does not.
Every node keeps the records of delves it was part of and serves
a board of them at /board, live, with no
internet required. There is no central one and there cannot be: several can be
merged, because two people who were both there hold the same delve with
different signatures on it.
Nothing on it is asserted. Your browser recomputes each address from the two public keys it was handed, verifies every signature against the exact bytes that were signed, and counts only what survives. If you disagree with a number on it, you are right and the number is wrong.
Which is the whole point of the game stated as arithmetic. What is scarce is not the radio, it is company: the people who were there are what make an item real, and being somewhere is the one thing that cannot be faked.
What you find
Twenty-nine shapes and fourteen colours cover four hundred distinct named things, so a Cold Fang is a cold-coloured fang rather than a generic sword. Nothing about the picture is ever transmitted: it is derived from the name, which every machine already agreed on when the room was built.
| kind | what it changes | plain | fine | rare | named |
|---|---|---|---|---|---|
| blade | damage, one square | 6 | 8 | 10 | 12 |
| bow | damage, four squares | 3 | 5 | 7 | 9 |
| rod | three squares, always lands | 2 | 4 | 6 | 8 |
| armour | chance to be missed | 20% | 30% | 40% | 50% |
| charm | maximum health | +4 | +7 | +10 | +13 |
| coin | pays a shrine, two for one point of health | ||||
How far a weapon reaches comes from its noun, so attack east
means what it always did and nothing extra crosses the radio. There is nothing
to equip and nothing to choose: you strike with whatever reaches, and with the
harder one when two do.
Armour is a chance to be missed, so it can turn a blade or an arrow but never a rod. A rod is the answer to something well armoured; a blade is the answer to something in front of you.
The first thing in the line is the thing you hit. A friend standing between you and the ogre is a friend you do not shoot: the shot is held and the turn is spent. That is the whole reason to care where anybody stands, and before there were bows the grid had no such reason.
rare turns up in about one room in seventeen; named in one in twenty-six, which is roughly ninety minutes of play. A named weapon doubles your damage and a named coat means half of everything swung at you misses, so one good drop changes a fight.
Coin is both the prize and the medicine
Sixty percent of rooms hold a shrine. Walk onto it hurt and carrying coin and it mends you, two coins a point, and is spent. No prompt, because a prompt would cost a turn.
Which is the tension worth having: the thing you came down for is the thing that keeps you alive long enough to carry it out.
What it can't do
Knowing the limits is most of knowing whether this is for you.
It is slow, and that is the point
One action every seventeen seconds under the European duty cycle. Elsewhere the cap is collisions rather than law, and it is faster, but it is never a real-time game.
Four people, and only just
Rooms hold one monster per person. Across four hundred rooms at each size, played competently:
| party | cleared | withdrew | wiped |
|---|---|---|---|
| 1 | 67% | 12% | 20% |
| 2 | 65% | 18% | 16% |
| 3 | 69% | 21% | 10% |
| 4 | 67% | 25% | 7% |
Past four, everyone's heartbeats and inputs start colliding on a channel that can only carry one at a time. It is a small-group game by physics rather than by preference.
There are no towns yet
Items and coin carry over now, but there is nowhere to spend them and no levels between delves. Coin buys health at a shrine, and that is all it buys.
You are responsible for the band
It transmits on licensed-free spectrum that differs by country. Read loraline's setup before you switch a radio on.
Playing
You can be in a dungeon in about two minutes with nothing but a laptop. No radio, no account, nothing to buy: a delve on your own needs no one to talk to. The radios are for when you want company.
Play catacomms From an empty computer to a room full of monsters, step by step.