design(combat): position-and-timing duel (no hit-dice), demonstrable balance via CombatSim #214
Labels
No labels
alpha:wave-0
alpha:wave-1
alpha:wave-2
alpha:wave-3
area:assets
area:combat
area:ecology
area:infra
area:render
area:scripting
area:ui
area:world
enhancement
epic
migration
post-alpha
roadmap
tech-debt
type:bug
type:chore
type:design
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo#214
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Design agreed (game-design skill: interview → critical panel → owner-derived numbers). Full doc:
docs/game-design/systems/combat.md. This issue is the design — the why/what from the player's seat + a player-observable Definition of Done. Technical breakdown to follow in a separatecritical-design-review.The system, from the player's POV
A classless duel of position and timing, not dice. You carry every tool at once — sword (adjacent), bow (range + line of sight), spells (a public, paced power-word incantation) — and you are whatever you're doing right now, not a class. There are no missed-swing dice: a blow lands if you're on target and your friend didn't step out of it in time — you dodge by moving. So the whole fight is a dance of distances: position to land your light, reliable hits and deny theirs; close to interrupt a cast; kite a chaser; break line of sight to close on an archer. A clean hit ≈ 1/20 of the bar, nothing is lethal alone, and a real fight runs ~60 seconds decided by who reads and moves better. Losing is legible ("I got kited"), never "the dice screwed me."
Six-lens summary
World).Demonstrable, repeatable numbers (owner's hard requirement)
Balance is never "trust the code": a
tools/IsoMmo.CombatSimloads the same Lua combat formulas the server runs (shared, hot-reloadable, zero drift), Monte-Carlos duels, shows it visibly, and the derived target set are CI regression bands (a change that breaks one fails CI). Numbers are derived from the owner's feel, not chosen — a reproducible sim hits them (seed-stable):Definition of Done (player-observable)
CombatSimreads the shared Lua formulas and reproduces the target set; the bands are in CI; editing a Lua formula re-tunes with no recompile.Technical breakdown (CombatSim + formulas→Lua + spacing/stat wiring + counter-web + cues) follows in a separate
critical-design-review.