Battle arena POC
repo: land-of-lor · updated 2026-08-05
What this is
A proof-of-concept for the Battle Arena zone type: a resetting, matched, balanced-resource combat space, distinct from the persistent, evolving Battle Zone. The richest source material for this is a driving-conversation transcript with collaborator Benjamin — Kris’s own vision of “two wizards looking down over a mini-map,” pulling elemental power along visible ley-lines from sources (a volcano, a waterfall) to cast at each other.
Why it exists
Tower defence and battle arenas are one of the “recurring threads across all attempts” (see workspace CLAUDE.md) — aspirational in lor-elementals, core in this attempt. A concrete POC is needed to validate whether the ley-line/conduit-pulling interaction is actually fun and legible before it’s built into the real server/client.
The loadout mechanism (core design addition, 2026-08-05)
Complexity lives in preparation; simplicity lives in execution. Full experimental spell-crafting — however spell-crafting-interface ultimately resolves its still-open interaction model (ground-casting-table vs. cauldron/sequence — see that epic and /codex’s “open front”) — happens out in the world, before a fight. Entering an arena, a player chooses a small, fixed set of spells from their full collection, and only those are castable inside. Precedent: Clash Royale’s eight-card deck drawn from a much larger collection. This is not a simplification of the deep system for the arena’s sake — it’s what makes the deep system matter more: choosing well, from everything you’ve discovered, is where mastery actually shows, rather than mastery being buried in real-time crafting speed under pressure.
No dragging ingredients into a pot mid-fight. The full crafting/experimentation UI stays outside the arena entirely. Inside, when a chosen spell’s ingredient requirements are satisfied, it lights up and is cast directly — a readiness indicator and a trigger, not a workbench.
Ingredients are the arena’s resource. They do the job mana or gold does in other games’ arenas — but diegetically, in a game that deliberately has no in-game currency (see barter-marketplace’s load-bearing no-currency constraint). This creates a three-way lock worth naming explicitly: arena ↔ ingredients ↔ marketplace. Rare ingredients become tactically valuable inside an arena purely because they gate what you can cast there, which creates genuine barter demand for them outside the arena — an economy that falls out of the combat design instead of being hand-built on top of it.
Movement is gathering. The character running around the arena collects ingredients from the ground and from kills (a fire salamander might drop lizard skin or eye of newt, say). This was always the intent, not a new addition — but stating it plainly reframes the player character from “UX overhead atop a card game” (an initial worry) into the resource loop itself, and it gives world-traversal-and-ground’s ground-properties work a concrete, arena-shaped job: what grows where, and what drops from what, has to be designed for gatherability under time pressure, not just world-building flavour.
Risk to design against: dead time. Ingredient-gated casting can leave a player holding four unlit spells with nothing to do — and dead time is close to the worst failure mode a real-time game can have (Bloons TD, for one, never leaves a player idle). Gathering-as-movement is the mitigation, but it’s a claim to test, not assume: the POC below must actively probe for dead-time stretches, not just validate that the core loop is fun in the abstract.
Scope, per the source conversation (thought-specs/battle-areans-and-element-types.md) and the loadout mechanism above
- A shared mini-map terrain (mountains, forests) with generator points (a volcano emitting Fire, a waterfall emitting Water, etc.) that both players draw from equally — matched starting resources.
- Visible “lines” pulling energy from a generator to wherever the player is casting — the literal ley-line visualization of a conduit (see
docs/README.md§5’s port/field binding mechanism). - A small, fixed pre-match loadout of spells (see above) — the core tension is choosing that loadout well and managing tempo within it: fast small creations (minions) vs. saving up for a bigger one (a spawning point), timing/tempo as the strategic axis, not raw power (consistent with “nothing is better, only different,” §4).
- Movement-as-gathering: ingredients pulled from generators, the ground, and creature drops, feeding the loadout’s ingredient requirements in real time.
- Fixed arena size/duration so play sessions can’t be camped indefinitely (“that stops the size… balancing mechanisms in there”).
- Arena bag: a limited stake (candidate number floated: ~50 elements) a player may carry in, separate from their persistent inventory.
- Resets after each battle — contrast with Battle Zones, which persist and accumulate “magically enriched” battle-scarred terrain (see
thought-specs/conduit-and-changing-landscape.md).
Non-goals
- Not the persistent Battle Zone / battle-scarred-terrain mechanic (dragon’s-nest-style enrichment) — that’s a related but separate mechanic, currently undocumented as its own epic; note it if it needs one.
- Not win-condition design beyond what’s already noted as open (castle assault / kill-the-mage / hold-territory / capture-the-flag —
docs/README.md§13 lists this explicitly as undecided, “probably multiple game types”). - Not the full networking/authority model — that’s
server-architecture, though this POC will surface requirements for it (shared field state during a live match is exactly the “collaborative terraforming” mechanism in §5).
Open design questions (not tracked as formal Question objects — this epic is parked; these are for whoever picks it up properly, not for premature resolution now)
- Win conditions (genuinely undecided — castle assault / kill-the-mage / hold-territory / capture-the-flag are all on the table;
docs/README.md§13 says “probably multiple game types”). - Whether Shared-Zone towers/spawners can harm players directly outside arenas (current lean in the docs: no, only creatures).
- The actual Power Cell / energy-source keyed item for towers — worth checking first whether one is even needed, since
docs/README.md§5 already describes ports binding directly to field thresholds (in Power: field Charge ≥ 3) without a discrete item. - Loadout size (Kris’s instinct: four, untested), whether ingredient acquisition is entirely in-arena or includes a starting stock (candidate: the existing Arena bag doubles as one), and whether spells consume ingredients on cast or merely require them satisfied (leaning: consume, to keep ingredients meaningfully scarce) — all three raised by the loadout mechanism above, none decided.
Relevant docs
land-of-lor/docs/thought-specs/battle-areans-and-element-types.md— the founding vision (ley lines, matched generators, minion-vs-spawn-point tempo tradeoff).land-of-lor/docs/thought-specs/conduit-and-changing-landscape.md— arena resets vs. persistent Battle Zone enrichment, the Arena bag, Stable Mutation.land-of-lor/docs/WORLD_ZONES.md— the zone taxonomy (Home/Shared/Battle Zone/Battle Arena).land-of-lor/docs/README.md§5 (fields as the supply network — ley lines are this, visualized), §10 (world & social structure).barter-marketplace/overview.md— the no-in-game-currency constraint the loadout mechanism’s ingredients-as-resource design leans on.world-traversal-and-ground/overview.md— the ground-properties work movement-as-gathering depends on.object-system-experiments/overview.md— the ingredient-count constraint this loadout mechanism creates for the wider 64-element system (its “Core constraint” section).
Status
1 backlog
Next: Parked — the hot-seat POC is written up and waiting, but nothing is demanding attention right now.
Tasks (1)
backlog (1)
-
battle-arena-poc/001— Minimal 2-player hot-seat POC of the ley-line-pull mechanic (priority 1, estimate L )
Ask an agent about this epic
Paste your AI Task Runner API key once. It stays in this browser and is sent only to kris.ai-task-runner.com.
Also available as raw markdown.