SECOND INTENT
Every timing-duel tells you that you lost the exchange. This one tells you why — to the millisecond, on every single input.
THEY THREW LOW · YOU ANSWERED GUARD · 197 ms LATE · GRAZE · the answer was RISE
And that same measurement is the difficulty system. Your reaction time is measured while you play, and the next opponent's wind-up is a multiple of it. There is no difficulty slider, because the game is already reading you.
The opponent shows you its read
It builds a model of your verb frequencies, your signed timing bias, and — separately — what you do when your poise is nearly gone. That model is drawn on screen at all times, and it persists across deaths. Your reputation precedes you.
An opponent that studies your habits is the exact mechanic players accuse of cheating. It is only fair because you can see it.
Six verbs. Only three are ever on the menu.
Which three depends on who holds the line. Nobody holds it: you both attack, and the winner takes it. You hold it: you attack, they answer. They hold it: they attack, and you must answer.
Being unpredictable is a resource you buy
Every verb costs poise. A verb outside your groove costs up to 1.85× as much — so you cannot simply be random, you have to pay for it. Six wards re-price the same six verbs, and the last one inverts the tax so repeating yourself is what costs. Changing ward wipes the groove you have worn.
48 duellists, and every mask is a readout
A wide eye means they learn you fast. A deep brow notch means you get warning. Split cheek-marks mean second intention. A near-closed halo means you will not outlast them.
Every duellist's mask is generated from that duellist's own eight fighting traits and from nothing else, out of 40 hand-authored motifs across 8 palettes. Looking at an opponent is reading them.
Losing a bout costs the bout
Wards, unlocks, roster progress and the roster's read on you all persist. It is never a full restart.
Controls
- ↑ / W — HIGH when attacking, RISE when answering
- ↓ / S — LOW when attacking, DUCK when answering
- → / D — THRUST when attacking, GUARD when answering
- TAB ward · ENTER fight · ESC help and options · M sound
Free, plays in the browser, no install and no account. Keys are rebindable; screen flash and shake can each be turned off.
Hand-written HTML5 and a bare canvas — no engine, no framework, no third-party asset. The music and every sound effect were synthesised for this game.
More free games from Core Systems Asset Factory
HALFLIGHT · PRISMHORN · RUSTBLOOM · STARCHART · OTTERBOUND · CHARGE BARGE · THE LAST FLOCK · BANNERET: SUCCESSION
The whole CSAF catalogue — games and developer tools
We also make the parts
Core Systems Asset Factory builds pixel-art packs and engine tooling for developers. If you build games as well as play them, these are ours:
- VERDANT 01 — Overworld — 239 tiles and four complete 47-mask autotile sets, for RPG Maker MZ, Tiled and Godot.
- VERDANT 02 — Elevation — 149 tiles of top-down elevation: a 47-mask plateau autotile and a four-band cliff.
- MOURNCREST 02 — The Pale Choir — five cultists, four directions, three-frame walks, at native 64px and 128px.
- VERDANT 00 — free sample pack — 64 tiles with one complete autotile, free, if you want to try them first.
Plus plugins and editor tools for RPG Maker MZ, GameMaker, Unity and Unreal — the full catalogue is here.
| Published | 1 day ago |
| Status | Released |
| Platforms | HTML5 |
| Author | CSAF — Core Systems Asset Factory |
| Tags | 2D, artificial-intelligence, Difficult, duel, html5, Minimalist, reaction, Short, Singleplayer, timing |
| AI Disclosure | AI Assisted, Code, Graphics, Text |






