Asperia Games

Why Coin Run exists

Soldiers of Wealth is a slow game about weekly decisions. Coin Run is the two-minute version, and building it changed what the strategy layer needs.

Soldiers of Wealth is a strategy simulation where military and economic decisions are the same decision. Territory costs capital, capital sits in positions that move against you, and alliances are simultaneously a guarantee and an exposure.

It plays out on a weekly cycle. That’s the right pace for the game — but it’s a terrible pitch. Try explaining it to somebody in the ten seconds you actually get.

Coin Run is that ten seconds.

The same premise, compressed

You run east across the skyline of a city that runs on money. Coins and assets go up. Bills and obstacles go down. Market events shove the whole thing around while you’re mid-air. A run lasts one to three minutes and ends with a net worth.

It’s the same claim as the strategy game — accumulation happens under pressure and can be undone in one bad moment — just at a speed you can feel rather than reason about.

That makes it a marketing object, honestly. But it’s also a test.

What building it changed

The thing I didn’t expect was how much running the economy fast exposed about running it slowly.

In the weekly-cycle design, market events were abstract: a number moves, you re-plan. In a runner they have to be legible in about 400 milliseconds, which forced a question I’d been avoiding — what does an inflation wave actually look like to a player who has no time to read a chart?

The answer, in Coin Run, is that it changes what’s on the ground in front of you. That’s a concrete, physical answer, and it’s now pushing back on the strategy layer’s design. If an economic event can’t be expressed as a change in what your options are, rather than a change in a number, it probably isn’t a good event.

Built deliberately small

Love2D, Lua, no external libraries. One file per system — player, world, entities, UI, events, score. No ECS, no OOP framework, no architecture I’d have to explain to myself in six months.

The constraint was written into the brief before any code: do not overbuild. It’s a prototype whose job is to be finished and playable, not to be the foundation for everything after it. Coin Run is Season 0 of the Pioneer Phase — deliberately a season, deliberately numbered zero.

It’s also, for what it’s worth, directly inspired by State Farm’s Jake Jingle Quest, which is a much better piece of brand-game design than it had any obligation to be.

Playing it here

Coin Run runs on this site rather than somewhere else, which took slightly more work than expected — the build is LÖVE compiled to WebAssembly with threads, and that needs a page served with specific security headers before the browser will hand it the memory model it wants.

That’s its own post. The short version is that Play opens a dedicated page rather than a frame on the game’s own page, and that’s a deliberate architectural choice rather than a shortcut.