Δ9Φ963 · studio doc

LYGO Arena

A real-time arena battler where nobody is driven. You choose a roster; two AI teams then fight on a stone ring with their own kits, cooldowns and cards — and the fight resolves on its own terms.

Play the arena Live hall Lattice Crypt Hub

1. What this is

Lattice Crypt is a game you play with keys. LYGO Arena is the same world with the hands taken off the wheel: a real-time team battler in which the interesting decision happens before the bell. You pick the team, the challengers are drawn blind from the full roster, and then you watch a fight nobody is steering — including you.

The design bet is that the kits are legible enough to be fun to read. A fighter is not a stat block with a name: every one of the thirty-three carries its own stat line, three named moves and three draft cards, derived from the numbers Lattice Crypt already gives it — shot, speed, magic, armour, melee, brave and faith for the champions, the FOE table for the crypt creatures, the PETS table for the pack.

2. Modes and the shape of a match

Four modes: 1v1, 2v2, 3v3 and 5v5. Team size is the only rule that changes; the arena, the kits and the AI are identical, so a 5v5 is not a different game so much as a louder one. Between the count and the result the only inputs are the watch controls: pause, and 1× / 2× / 4× / 8× speed.

26s1v1 median
34s2v2 median
41s3v3 median
50s5v5 median

Medians over 300 simulated battles in the balance harness (§6). Every match is expected to land inside two minutes; the ring starts closing at 80 seconds so no two healers can out-sustain the floor and leave a fight unresolved.

3. The arena

Each match builds a fresh map from the Lattice Crypt stone atlas: a symmetric tile field with a realm family chosen by seed, walls mirrored so neither side inherits better ground, and both spawn pockets flood-filled to guarantee that every tile a body can stand on is reachable from both ends. The harness asserts this over 120 seeds — a map that strands a fighter is a bug, not a surprise.

Bodies move in continuous space, not on the grid: they path toward their target with a stuck detector, slide along walls, and hold at the reach of their own weapon. A ranged kit kites a melee threat; a melee kit commits.

4. The AI

Every body runs the same think loop, once per tick:

Cards fire on hooks: Second Wind when a body first drops below 30%, Name Recall to rise once more after being cut down, Unwrite Ink to shrug off the first stun, plus auras, leech, thorns, echo rounds and executioner edges that modify every number passing through them.

5. The roster — 33 real kits

The numbers below are what the engine builds for an undrafted kit: base health, base damage, attacks per second, reach in world units, flat armour, the three moves, the three cards, and the composite power figure the menu shows while you draft. Power is a draft aid, not a promise — §6 says where it lies.

Champions — 13

KitHPDamageRateReachArmourThree movesThree cardsPower
KaelGallant Blade700430.8489Rend Shield Wall Squire's ChargeMIGHT IRON VAMP166
ValeAegis Knight920300.725112Cover Bulwark Shield WallBULWARK THORN IRON197
OrinBlack Sigil600490.862622Unwrite Resonance Flask Chorus FlaskMIGHT FOCUS RES131
NiaPath Archer620310.922753Pinning Volley Dash Needle RainSTRIDE LUCK VOLLEY128
LyraSpiral Bard560320.842503Hymn Spiral Chorus Weave BloomRES REGEN AURA118
ArkosLattice Lancer662450.78616Geodesic True Line DashPIERCE MIGHT NIMBLE142
D9raWolf Monk850440.88456Shockwave Wolf Fury Squire's ChargeFURY BRUTAL LEECH164
SrathShadow Needle560330.92432Doublespeak Needle Rain DashVEIL LUCK ECHO118
KairosHour Mage5483812692Right-Time Borrowed Second Δ9 SealHASTE RES CLOCK123
JusticaeAccord Knight944310.745410Fair Plate Verdict BulwarkEXEC BULWARK THORN187
SeidonTide Seer600350.82564Undertow Current GeodesicAURA RES GIFT128
SancoraWeave Chemist798320.782564Chorus Flask Weave Bloom CoverREGEN GIANT AURA139
LightfatherArchitect · Δ9680370.842566Δ9 Seal Provenance CoverAURA GIFT GIFT152

Crypt creatures — 15

KitHPDamageRateReachArmourThree movesThree cardsPower
WraithCrypt Fodder420321.052562Wail Drain CloudHASTE NIMBLE LEECH105
BruteCrypt Fodder1090390.66489Ground Pound Ward FieldIRON GIANT THORN190
ImpCrypt Fodder403310.952371Imp Fire FlickerSTRIDE LUCK NIMBLE95
HurlerCrypt Artillery859470.72514Lob Stone Ground PoundMIGHT BULWARK GIANT137
ShadeVeilkin471360.92513Flicker SnatchVEIL LEECH NIMBLE101
ThiefTithe-Thief507351.05512Snatch FlickerSTRIDE VAMP LUCK106
DrainThe Unwriting700460.78644Unmake Drain CloudLEECH REGEN MIGHT128
GateNexus Guardian1735460.66113Gate Slam Ward Field Call the WardsIRON THORN GIANT269
CrownNexus Guardian1446520.62587Regal Volley Lob StoneMIGHT BULWARK WELL209
SmithNexus Guardian1020600.6425010Anvil Gate CannonMIGHT BRUTAL IRON223
Heart of the CryptNexus Guardian1900440.68588Heartbeat Ward FieldGIANT REGEN VAMP245
LeviathanNexus Guardian1080580.722436Tide Crush UndertowMIGHT STRIDE LEECH201
Tithe-KingNexus Guardian1000450.98645Tithe SnatchVAMP EXEC STRIDE179
Name-EaterNexus Guardian1008530.762626Nameless UnmakeMIGHT CLOCK LEECH196
The LockSuper Boss2100530.6626914The Lock Seals Gate CannonIRON BULWARK GIANT323

Beasts — 5

KitHPDamageRateReachArmourThree movesThree cardsPower
AshmaneWolf496370.96484Pack Bite RoarSTRIDE FURY LEECH114
SolstrideLion543490.9514Solstride RoarLUCK BRUTAL MIGHT138
IronhideBear1024380.745410Maul Ward FieldIRON GIANT THORN196
TuskwardElephant1033350.686111Stomp Ground PoundIRON BULWARK WELL197
GlassbarbScorpion448381.02514Glassbarb Clamp FlickerTHORN FURY VEIL115

6. The balance ladder

Feel is not a spreadsheet, but some things are. tools/arena_check.js loads the real roster and the real engine in Node behind a stub DOM and runs the whole thing headless. It asserts what a player would notice, and prints what a designer wants to argue about.

What the harness checks — 19 assertions, 300 battles per run

The ladder produced four systemic fixes rather than thirty-three hand tweaks, which is the point of building it:

Where it stands today, honestly: the top end is still hot. The two bosses and the strongest support kits win noticeably more than they lose — the current 300-battle spread runs from about 27% for the weakest melee creature to about 82% for the super boss, with the champion band inside roughly 33–81%. The systemic levers closed the broad gaps; the remaining outliers are tuning work on specific kits, and the ladder exists so that work can be measured instead of guessed. Draft a boss if you want an easier night.

7. The hall

A callsign is optional and nothing else is collected. When a match ends and a call is set, the result posts to the shared arcade book (mode, side that won, MVP, session wins) and the browser keeps a queue so a failed post is retried later instead of being lost. The live hall reads the same book and shows only this game's rows. Empty beats a fake board.

8. Controls

Space pause · 1 2 3 4 speed 1× 2× 4× 8× · M mute · R rematch · Esc back to the menu. The donation-gate reminder is held shut for the length of a match and released on the results board or the menu.

9. Lineage and credits

Art, atlases, roster lineage and the numeric DNA all come from Lattice Crypt; the arena engine, the kits and the harness are new. Built by Δ9Φ963 with the steward, Justin Helmer — Lightfather. Everything runs in the browser with no build step: three scripts, a stylesheet and one atlas pack.

Files: roster.js (33 kits, 26 cards, the move table) · arena.js (the engine) · arena-ui.js (menu, HUD, results) · tools/arena_check.js (the ladder).