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
Send this link to your friend
Open your seat and wait. They open theirs from the link and the two find each other.
You have been invited to a game. You are Azure.
The room
Open it and it joins their room by itself. If they are not there yet, it waits.
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 pairing code each through a small postbox, then
talk directly to each other. Nothing about the game passes through this site.
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.8 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.
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.
Both players open their own file. They swap one short code — or a room word, if you run the optional tunnel — and the cartridges 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. There is no lobby, no matchmaker and no account to make.
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