feat: PvP arena — sealed stone pit + stone static art + asset-naming hard gate (#109) #154
No reviewers
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!154
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/arena-map"
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?
Summary
Authors the PvP arena (#109) — the alpha's playfield — as a sealed stone pit carved into the shared
world.map, on the static-content system (#89/#143) + the map editor's format. Also brings the arena's stone art into the pack and codifies an asset-naming HARD GATE.Content — the arena (
content/maps/world.map+world.statics):docs/game-design/systems/pvp-arena.md): cover concentrated in the middle, corners bare, walls block move and sight. Entry is by teleport (alpha: GM/tp); the map spawn stays outside.stone_wall_se, W/E edges →stone_wall_sw(an earlier pass had the faces swapped — fixed and verified in the screenshot).Content — the stone art (coherent "stone" set, discovered via
findart, recorded indocs/uo-asset-map.md):content/tiledata.txt(allblocks=1):stone_wall_se(0x001A),stone_wall_sw(0x001B),stone_pillar(0x00DB),stone_column(0x0077).assets.isoarepacked (285 anims).item_*.HARD GATE — asset naming. Added to
CLAUDE.md(Design checklist + Assets section): asset/pack/tiledata names are descriptive<material>_<kind>[_<facing/variant>](e.g.stone_wall_se), never a bare generic (wall,pillar) — so a future marble/wooden set never collides and the catalog stays legible. Names mirrored indocs/uo-asset-map.md.No new server mechanic — the arena is pure authored content on existing systems (walls block via the static
blocksflag → walkability + LoS server-side; the ankh res-point is GM-/placed). No wire change.Screenshots / recording
Piloted from a fresh DB (spawn temporarily moved into the arena centre for the shot; committed spawn stays outside — entry is by teleport). The sealed stone pit: correctly-oriented walls all round, rocky floor, stone columns + pillars as central cover, player in the middle.
How it was tested
just lint(zero warnings) +just testgreen; whole solution builds. Server + client load the newworld.map/.statics+tiledata+ pack; walls render (coherent stone), collide, and block sight (verified they block a bolt via the LoS path already tested in #152).assets.isoaverified to containstatic/stone_wall_se|_sw|_pillar|_column.Notes
assets.isoa(binary) + the extractor manifest — coordinate with the biome-art track (#137) to avoid a pack conflict; merge promptly.Checklist
just lintpasses (zero warnings)just testis greenuo-asset-map.mdCloses #109.