Playable now · Free in your browser

Wardenfall

Our first game started as a single room and a sword, and the question of whether a fight in a browser tab could feel as good as one on a console. This page is the story of how it became a castle. The game's own page has everything you need to play.

In one sentence

You wake up in a prison cell, fight your way up a torch lit castle room by room, and kill the Warden at the top, in about one to two hours.

Why we started with a fight

Most games are built outward from a world or a story. Wardenfall was built outward from a single exchange of blows. The first plan, written on 24 July 2026, had one room, one player and waves of enemies, and said plainly that the deliverable was the feel of combat. There was no castle, no menu and no story. The idea was that if the sword did not feel right in an empty room, nothing built around it would save it.

That room took most of the first week. The first four days produced the movement, the attack timings, blocking and parrying, stamina and posture, and the first enemies that took turns instead of mobbing you. Only once that felt good did the room get doors.

What was hardest to get right

Hits you can feel

A hit in a melee game is mostly a pause. When a sword connects, the game freezes the two bodies involved for a few frames, and that tiny stop is what tells your hands something solid happened. Freeze the whole screen and a fight with four enemies feels like it is stuttering. Wardenfall freezes only the fighters involved, so a good hit lands hard while everything around it keeps moving. Getting that right took more iterations than any menu.

Fair, not easy

We wanted the tension of a souls-like without its punishment. That became a set of promises: every attack except a boss's can be blocked, every attack can be dodged, and the enemy always shows you which one it wants. Blocking has a cost so that hiding behind a shield is a choice rather than a strategy. The Warden's unblockable attacks set his fists on fire so you can see them coming. Whenever a playtest death felt cheap, the fix was nearly always a clearer telegraph rather than a smaller number.

The clock

"Finishable in one sitting" is easy to write and hard to keep. It decided how many rooms the castle has and how much a death costs. Dying sends you back to the menu, but the rooms you cleared stay cleared, because a game you can finish tonight cannot also be a game that throws away your evening on the top floor.

A browser tab, on a phone

Everything has to load in a tab and run on hardware we have never seen. Shaders are warmed behind the loading screen so the first fight does not freeze. The touch controls went through several rounds, from placeholder buttons to carved plaques matching the desktop, then to aiming the bow by dragging the same thumb that draws it, and turning the guard by dragging the block button.

From one room to a castle

  • Late July 2026. The combat slice: one room, waves, the core of the sword. Five milestones in four days.
  • August. Forty-five numbered versions turned the room into a game: a castle of rooms with their own look, a soundtrack that reacts to the fight, shrines and boons, a bow and magic, traps, Challenge Mode, and an ad plan written down before any ad existed.
  • September. The game moved to a ticket-by-ticket workflow: each change is a ticket, an AI assisted implementation, a preview build a human plays, and only then a release. More than seventy tickets shipped that way, from guard strain and executions to greater boons and a shrine skill tree.
  • Today. Over three hundred recorded design decisions and some 2,700 automated tests keep the combat behaving the way it did when it felt right.

What it says about the studio

Wardenfall is the template for everything we make: a constraint written down first, the part you touch most built and polished before anything else, and every decision recorded so the next game starts smarter. Our second game, The Rot Hunters, is a tower defense rather than an action game, and it was started the same way.

Patch notes

Every batch of changes gets a post on the devlog: