Δ9Φ963 · studio doc
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.
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.
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.
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.
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.
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.
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.
| Kit | HP | Damage | Rate | Reach | Armour | Three moves | Three cards | Power |
|---|---|---|---|---|---|---|---|---|
| KaelGallant Blade | 700 | 43 | 0.8 | 48 | 9 | Rend Shield Wall Squire's Charge | MIGHT IRON VAMP | 166 |
| ValeAegis Knight | 920 | 30 | 0.72 | 51 | 12 | Cover Bulwark Shield Wall | BULWARK THORN IRON | 197 |
| OrinBlack Sigil | 600 | 49 | 0.86 | 262 | 2 | Unwrite Resonance Flask Chorus Flask | MIGHT FOCUS RES | 131 |
| NiaPath Archer | 620 | 31 | 0.92 | 275 | 3 | Pinning Volley Dash Needle Rain | STRIDE LUCK VOLLEY | 128 |
| LyraSpiral Bard | 560 | 32 | 0.84 | 250 | 3 | Hymn Spiral Chorus Weave Bloom | RES REGEN AURA | 118 |
| ArkosLattice Lancer | 662 | 45 | 0.78 | 61 | 6 | Geodesic True Line Dash | PIERCE MIGHT NIMBLE | 142 |
| D9raWolf Monk | 850 | 44 | 0.88 | 45 | 6 | Shockwave Wolf Fury Squire's Charge | FURY BRUTAL LEECH | 164 |
| SrathShadow Needle | 560 | 33 | 0.9 | 243 | 2 | Doublespeak Needle Rain Dash | VEIL LUCK ECHO | 118 |
| KairosHour Mage | 548 | 38 | 1 | 269 | 2 | Right-Time Borrowed Second Δ9 Seal | HASTE RES CLOCK | 123 |
| JusticaeAccord Knight | 944 | 31 | 0.74 | 54 | 10 | Fair Plate Verdict Bulwark | EXEC BULWARK THORN | 187 |
| SeidonTide Seer | 600 | 35 | 0.8 | 256 | 4 | Undertow Current Geodesic | AURA RES GIFT | 128 |
| SancoraWeave Chemist | 798 | 32 | 0.78 | 256 | 4 | Chorus Flask Weave Bloom Cover | REGEN GIANT AURA | 139 |
| LightfatherArchitect · Δ9 | 680 | 37 | 0.84 | 256 | 6 | Δ9 Seal Provenance Cover | AURA GIFT GIFT | 152 |
| Kit | HP | Damage | Rate | Reach | Armour | Three moves | Three cards | Power |
|---|---|---|---|---|---|---|---|---|
| WraithCrypt Fodder | 420 | 32 | 1.05 | 256 | 2 | Wail Drain Cloud | HASTE NIMBLE LEECH | 105 |
| BruteCrypt Fodder | 1090 | 39 | 0.66 | 48 | 9 | Ground Pound Ward Field | IRON GIANT THORN | 190 |
| ImpCrypt Fodder | 403 | 31 | 0.95 | 237 | 1 | Imp Fire Flicker | STRIDE LUCK NIMBLE | 95 |
| HurlerCrypt Artillery | 859 | 47 | 0.72 | 51 | 4 | Lob Stone Ground Pound | MIGHT BULWARK GIANT | 137 |
| ShadeVeilkin | 471 | 36 | 0.92 | 51 | 3 | Flicker Snatch | VEIL LEECH NIMBLE | 101 |
| ThiefTithe-Thief | 507 | 35 | 1.05 | 51 | 2 | Snatch Flicker | STRIDE VAMP LUCK | 106 |
| DrainThe Unwriting | 700 | 46 | 0.78 | 64 | 4 | Unmake Drain Cloud | LEECH REGEN MIGHT | 128 |
| GateNexus Guardian | 1735 | 46 | 0.6 | 61 | 13 | Gate Slam Ward Field Call the Wards | IRON THORN GIANT | 269 |
| CrownNexus Guardian | 1446 | 52 | 0.62 | 58 | 7 | Regal Volley Lob Stone | MIGHT BULWARK WELL | 209 |
| SmithNexus Guardian | 1020 | 60 | 0.64 | 250 | 10 | Anvil Gate Cannon | MIGHT BRUTAL IRON | 223 |
| Heart of the CryptNexus Guardian | 1900 | 44 | 0.68 | 58 | 8 | Heartbeat Ward Field | GIANT REGEN VAMP | 245 |
| LeviathanNexus Guardian | 1080 | 58 | 0.72 | 243 | 6 | Tide Crush Undertow | MIGHT STRIDE LEECH | 201 |
| Tithe-KingNexus Guardian | 1000 | 45 | 0.98 | 64 | 5 | Tithe Snatch | VAMP EXEC STRIDE | 179 |
| Name-EaterNexus Guardian | 1008 | 53 | 0.76 | 262 | 6 | Nameless Unmake | MIGHT CLOCK LEECH | 196 |
| The LockSuper Boss | 2100 | 53 | 0.66 | 269 | 14 | The Lock Seals Gate Cannon | IRON BULWARK GIANT | 323 |
| Kit | HP | Damage | Rate | Reach | Armour | Three moves | Three cards | Power |
|---|---|---|---|---|---|---|---|---|
| AshmaneWolf | 496 | 37 | 0.96 | 48 | 4 | Pack Bite Roar | STRIDE FURY LEECH | 114 |
| SolstrideLion | 543 | 49 | 0.9 | 51 | 4 | Solstride Roar | LUCK BRUTAL MIGHT | 138 |
| IronhideBear | 1024 | 38 | 0.74 | 54 | 10 | Maul Ward Field | IRON GIANT THORN | 196 |
| TuskwardElephant | 1033 | 35 | 0.68 | 61 | 11 | Stomp Ground Pound | IRON BULWARK WELL | 197 |
| GlassbarbScorpion | 448 | 38 | 1.02 | 51 | 4 | Glassbarb Clamp Flicker | THORN FURY VEIL | 115 |
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.
NaN in any live body, nobody outside the
arena, both sides actually cast moves, and no kit ships without ever dealing damage.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.
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.
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.
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).