IRONVALE

Gather wood. Raise walls. Lose anyway.
A real-time strategy game that is one HTML file, and links two players with no server.
IRONVALE
A trailer, narrated by the Sea Captain — the same voice that narrates the game.
⚔ Play a friend ⚑ Find a match Source on GitHub

Sound on. He is the reason for it.

Play a friend

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.

How it works

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.

Rather keep a copy?

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.

Crimson (A) Azure (B)

One file

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
32
units
22
buildings
30
techs
5
spells
9
maps
4
factions

Four banners

Each with its own troops, buildings, architecture, music and words.

Crown of Aldmere

Crown of Aldmere troops

Shields, stone and faith.

  • Masonry — Buildings have 20% more HP.
  • Chivalry — Riders have +1 melee and +1 pierce armour.
  • Shield Drill — Foot soldiers have +1 melee armour.

Northmarch Clans

Northmarch Clans troops

Axes, fire and fury.

  • Raiders — Razing an enemy building loots a fifth of its cost.
  • Hardy — Foot soldiers have 7% more HP.
  • Shipwrights — Peasants build 25% faster.

Greenwood League

Greenwood League troops

Bows and woodcraft.

  • Woodwise — Lumber is gathered 20% faster.
  • Keen Eyes — +1 sight for everything; archers +1 range.
  • Light Foot — Foot soldiers move 10% faster.

Ashfang Horde

Ashfang Horde troops

Fang, fire and frenzy.

  • Brutish — Goblin Grunts and Ogre Brutes have +1 attack.
  • Thick Hide — Goblin Grunts and Bone Slingers have +1 pierce armour.
  • Foragers — Food is gathered 15% faster.

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.

9 battlefields

Greenvale

Open meadows and scattered copses. Brigands hold the rich centre mine.

Twin Fords

A river splits the vale; three fords decide the war.

Wolfwood

Deep forest cut by trails. Lumber everywhere, wolves in the dark.

Highland Pass

Rock ridges and two passes. Gold waits on the heights.

Mirefen

Half of it is standing water. Everything walks slowly here — horses most of all.

Sunken Isles

A drowned coast. The islands meet only at the fords.

Iron Canyon

One gap in the rock wall. Whoever holds it holds the map.

Kingsroad

Open country and made roads. Nowhere to hide, everywhere to ride.

Uncharted

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.

Iron Canyon Mirefen

And then the wizards

Lodo the White

Lodo the White casting Rising Phoenix

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.

Orm Thunderbeard

Orm Thunderbeard casting Thunderstorm

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

Thistlewick the Grey

Thistlewick the Grey casting Thornstorm

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

Krym Hoarfrost

Krym Hoarfrost casting Rimefall

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

Blodo the Hexer

Blodo the Hexer casting Plague Cloud

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

Five spells cast in one fight

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.

Find a match

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.

Wait for anybody — open my seat (Crimson)

Strangers, safely

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.

Two cartridges, one valley

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.

The seal

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