Wiki / Weapons
How the weapons compare (balance)
Every weapon style against every other, played by the computer opponent: the tables before and after the balance pass of 14 Nov 2026, what was changed and why.
Status: Measured by the computer opponent; not yet confirmed by people playing · Last checked: 14 Nov 2026
The owner's rule for weapons is "different, not stronger": no weapon should simply win. This page records how that was checked, what was changed on 14 Nov 2026, and what is still open. The check was made by the computer opponent playing every weapon against every other; it is not yet confirmed by people playing.
The short answer
| Weapon | Where it stands in the computer's hands |
|---|---|
| Hand and shield | A little ahead: it is the weapon the computer plays best |
| Two swords, two axes, two maces | In the upper half |
| Greatsword, mixed pair | In the middle |
| Two daggers, bow | In the middle to lower half |
| Staff | In the middle since it was retuned later the same day |
| Punches | Clearly behind, because of how the computer uses the weave, not because of the weapon |
Before the changes the greatsword and the axes won far too often, and the daggers and the bow far too rarely. After them, every weapon except punches sits in or near the band that was aimed for.
What this means for a player
- Pick the weapon whose rhythm you like: none is meant to be the strong one.
- These results say how the computer does with each weapon. It mostly wins with loaded heavies and rarely finishes strings, so weapons that live on quick strings (daggers, punches) may be better in a person's hands than the tables show.
- The ranged weapons (bow, staff) have not been tried against a person who dodges.
Still to be played by people
- Whether the daggers' quick strings are worth more in a person's hands than the measure shows (they may now be too good).
- Whether the greatsword still feels like the heaviest hitter.
- The bow and the staff against someone who dodges.
- Punches with the weave used as a weave.
Nerd section: the exact numbers
The measure
Each weapon style fights each other one, with the computer opponent (src/ai/opponent) playing both sides at the same level: 30 matches per pair (15 with each side first), at Hard and at Steady. The number for a style is the share of its matches it won against the nine others. The aim: every style between roughly 40% and 60%.
To run it again: BAL_LEVEL=hard BAL_N=15 BAL_OUT=/tmp/out.jsonl npx vitest run tests/balance-lab.test.ts (about 20 minutes per level; it is skipped in the normal test run).
After the pass (30 matches per pair)
| Shield | Staff | Mixed pair | Daggers | Swords | Axes | Maces | Greatsword | Bow | Punches | |
|---|---|---|---|---|---|---|---|---|---|---|
| Hard | 61% | 39% | 50% | 45% | 56% | 59% | 59% | 53% | 44% | 33% |
| Steady | 59% | 40% | 50% | 49% | 51% | 55% | 60% | 51% | 54% | 31% |
Before the pass (20 matches per pair, same measure)
| Shield | Staff | Mixed pair | Daggers | Swords | Axes | Maces | Greatsword | Bow | Punches | |
|---|---|---|---|---|---|---|---|---|---|---|
| Hard | 63% | 49% | 49% | 16% | 66% | 68% | 64% | 76% | 19% | 29% |
| Steady | 63% | 46% | 52% | 8% | 60% | 69% | 67% | 77% | 31% | 26% |
What was found
- The opponent's game is the loaded heavy. In its hands most damage and nearly every knock-out come from the heavy (for hand and shield: the Overhead cleave). It starts strings but rarely finishes them. So in this measure a weapon is worth about what its heavy is worth: its damage, its reach and how soon it comes out.
- Daggers lost because their heavy was the lightest and shortest (5%, 4 pixels less reach, 90% push) and nothing they were given in return (a quicker rhythm) is used by the opponent. They also spent the most time with the stamina bar empty.
- The greatsword won because it out-reached everyone (8 pixels more than a sword on its first light) on top of poise and the hardest heavy.
- The bow lost up close: its kicks reached 6 pixels less than a sword and did less; the staff, which the opponent plays well, has a long pole and Earthcall.
- A fault in the measure itself, fixed on the weapons' side: the opponent keeps what it learns of a weapon under the style's name and the length of its move list. The five dual wield pairs share the name "Dual wield" and had lists of the same length, so it played all five with the timings and reach of whichever it met first. Each pair's list now has its own length. (The earlier table with daggers at 5% and "0 to 30" results between pairs came partly from this.)
- Punches lose because of how the opponent uses the weave, not because of the weapon. It holds Guard as if it were a block; the weave ends after 0.23 s and the heavy lands. With an ordinary block in place of the weave (a test, not kept) punches won 46% against six of the others instead of 34%. Left as it is: see "For the opponent" below.
What was changed, and why
| Weapon | Number | Was | Is | Why |
|---|---|---|---|---|
| Daggers | Heavies come out | on the sword's frame | 2 frames sooner | "Quickest" now also where the fights are decided |
| Daggers | Heavy damage | 2% less than the mixed pair | 1% less (6%) | Still the lightest heavy |
| Daggers | Reach | 4 px less | 2 px less (25 px) | Still the shortest blade |
| Daggers | Lights that do more than 1%, and the string's last hit on the glow | 1% less | the same as the mixed pair | Their strings are their game |
| Daggers | Push | 90% | 100% | They could not finish a fight |
| Daggers | A light that misses costs | 10 stamina | 6 | Light blades tire less; they spent the most time with the bar empty |
| Every pair | Borrowed moves (with a direction, running, in the air): reach | 3 px less than the sword | 1 px less | The whole family was behind sword and shield |
| Two swords | Reach | 4 px more | 1 px more | They beat the mixed pair almost every time on reach alone |
| Two axes | Reach / heavy damage / heavies come out / recovery / push | +3 px / +2% / 1 frame later / +2 / 106% | 0 / +1% (8%) / 2 frames later / +3 / 100% | Too strong; still slower and harder |
| Two maces | Reach / heavy damage / heavies come out | +3 px / +3% / 2 frames later | 0 / +2% (9%) / 3 frames later | Too strong; still the slowest, and the heavy still staggers |
| Greatsword | Reach of its sweeps | 38 px | 34 px (a sword: 30) | The main cause of its 76% |
| Greatsword | Reach of its other moves | +6 px | +2 px | The same |
| Greatsword | Heavy damage | +3% (11%) | +1% (9%) | |
| Greatsword | Heavies come out / recovery after every move | 3 frames later / +4 | 4 frames later / +5 | |
| Greatsword | Poise | the last 3 frames of the wind-up, 4 stamina | the last 2 frames, 6 stamina | |
| Bow | Up close: reach / lights / heavies / push | 6 px less / 1% less / 2% less / 90% | 1 px less / the same / 1% less / 100% | It was helpless at arm's length |
| Bow | An arrow of the string costs | 6 stamina | 5 | As the staff's shards |
| Bow | Drawn shot | 6% | 7% | Its one real blow |
| Punches | Heavies: reach / damage | 6 px less / 1% less | the sword's reach / the same (Haymaker 8%) | The heavies step into the blow; the jab and the string stay the shortest |
| Punches | Lights recover | 2 frames sooner | 3 frames sooner |
Not changed: hand and shield, the staff, the mixed pair's own numbers.
Still outside the band, and why it was left
- Punches (33% and 31%): the opponent's use of the weave (finding 6). Tuning the weapon up for that would make it too strong in a person's hands.
- Staff: retuned later the same day (see the staff): after Earthcall became its heavy it fell to 29% and 18%; with cheaper shots, a stronger third shard, a quicker wave that throws like the Overhead cleave (8%), and a quick Butt jab it stands at 51% at Hard and 48% at Steady. Hand and shield, checked again: 66% at Hard, unchanged. The note below is the earlier state.
- Staff (39% and 40%), before that: at the edge. It fell from 49% only because the weapons it used to beat got better; it still loses most to the dual wield pairs, whose sidestep passes through its shots. Left for people to play.
- Hand and shield (61% at Hard): at the edge; it is the opponent's best-played weapon.
For the opponent (not the weapons)
- It recognises one "guard that is a move" (dual wield's sidestep). The bow's leap back and the punches' weave are others: the leap is one hop per press, the weave lasts 14 frames after a fresh press and then needs a new one.
- It keeps what it learns of a weapon under the style's
name;labeloridis the one that is different for every style. - It hardly finishes strings: the daggers' and the punches' strength is there.
- With a bow it almost always turns a tap into a drawn shot.
For people to play
The list is in the easy part above. In numbers: the greatsword's heavy is now 9%.