Sound on. He is the reason for it.
Two seats, one room. Make a room, send your friend the link, and you are both in the game — nothing to install, no account, and the match itself runs directly between your two browsers.
Your room — you are Crimson
They open the link, press one button, and the two seats find each other. Either of you can arrive first. Make a different room
You have been invited to a game. You are Azure.
The room
It joins their room by itself. If they are not there yet, it waits for them.
Is this your own room? Open it as Crimson instead
The room word never leaves your browser — it lives in the link, after the #, which
browsers do not send to any server. The two seats swap one sealed pairing code each through public Nostr
relays — an open network run by many people, none of them us — then talk directly to each other. Nothing
about the game passes through this site, and there is no server of ours in the way.
The full cartridge is one HTML file with every recorded voice in it — open it from a folder, no internet needed except to find your rival.
A cartridge is a single HTML file. Open it from a folder and it plays: no server, no install, no account, no launcher, and no network call except the one that finds your opponent.
Everything is in there — the simulation, the pixel art drawn in code, the music and effects synthesised as they play, and 2125 recorded voice lines.
dist/Ironvale-A.html 26.9 MB dist/Ironvale-B.html one per seat, identical but for a letter
Each with its own troops, buildings, architecture, music and words.

Shields, stone and faith.

Axes, fire and fury.

Bows and woodcraft.

Fang, fire and frenzy.
Every sprite is drawn by code, not painted: shapes, ramps and poses in about four thousand lines of JavaScript. Peasants come as men and women, and the one you hear is the one you see.
Open meadows and scattered copses. Brigands hold the rich centre mine.
A river splits the vale; three fords decide the war.
Deep forest cut by trails. Lumber everywhere, wolves in the dark.
Rock ridges and two passes. Gold waits on the heights.
Half of it is standing water. Everything walks slowly here — horses most of all.
A drowned coast. The islands meet only at the fords.
One gap in the rock wall. Whoever holds it holds the map.
Open country and made roads. Nowhere to hide, everywhere to ride.
A new land for every map code: rivers, ridges, woods and mines rolled fresh, then mirrored so both sides get the same.
Generated from a seed and provably fair: the first seat's quarter is drawn, then copied and turned, so every player gets the same land, trees, gold and berries.

Rising Phoenix — The White Wizard, out of his archive at last. Raises a phoenix of fire that burns and blinds a crowd. Rare, costly and easily killed.

Thunderstorm — Calls a storm: lightning falls at random on everything in a wide circle. Rare, costly and easily killed.

Thornstorm — Roots and thorns rise to hold and prick an army in place. Rare, costly and easily killed.

Rimefall — A wanderer in hoarfrost, for hire by anyone. Freezes a circle: everything in it crawls and swings slowly.

Plague Cloud — A goblin in a hat too big for him. His green miasma rots armour and flesh. Rare, costly and easily killed.

Each wizard is drawn casting his own spell, and the clip above is all five going off in one fight, recorded from the game at the speed you would actually see them.
No friend free? See who is waiting for a game right now and join them — or open your own seat and wait for whoever comes. The first one to join is the one you play.
Looking starts only when you press the button. A waiting player’s seat lists a room word and a name, nothing else. When you join, the two seats show the same three seal words, and the match runs directly between your browsers. You can leave at any time; the lobby forgets you within seconds.
Both players open their own file. They swap one short code — or just a room word, which the cartridges carry between themselves over public relays — and connect straight to each other over WebRTC.
From there the match runs in lockstep: both sides simulate the same integer-only world from the same seed and exchange only the orders you give. Every few seconds they compare a hash of the whole game. If they ever disagree, you find out at once.
Nothing is stored anywhere and there is no account to make. The lobby is just players saying “I am waiting” on the public relays every few seconds; stop saying it and you are gone from it.
When the link opens, both players are shown the same three words. Read them to each other. If they differ, you are not talking to who you think you are.
PHOENIX CROWN SUN