docs(design): 3D terrain with a fixed isometric camera (real Z, 2D sprites preserved) #272
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!272
Loading…
Reference in a new issue
No description provided.
Delete branch "design/3d-terrain"
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
Design-only. Proposes rendering the terrain as real 3D geometry under a fixed orthographic isometric camera, keeping characters/statics as 2D UO sprites billboarded into that world (the Diablo II Resurrected pattern).
Why, in the owner's words: today we simulate Z; in 3D the Z is real. Every recurring failure of recent cycles — cliffs reading as ramps, iso "diamonds"/right angles, terrain unable to occlude the player, roads that must carve the heightfield, the character "climbing like Messner" — is scaffolding to fake verticality inside a 2-D projection.
The invariant that makes this an evolution, not a new game (owner): "alla fine sono asset applicati a celle; pure sul 3D il concetto è identico." The content model is untouched — one terrain per cell, sparse statics, authored Z. A cell was a screen diamond; now it is a quad in space. Zero conversion of the authored world, tiledata, art or statics.
Kept (an earlier draft over-stated a "big deletion"; the owner pushed back and was right):
Removed: explicit cliff-wall geometry (already reverted — it produced the diamonds) and the manual anti-occlusion overlay (the depth buffer replaces it).
Owner decisions locked: Z scale raised for imposing mountains (display-only, so walkability is unaffected; exact value picked by eye in the spike via ×4/×8/×12/×16); MapEditor posture B in phases — the 3D terrain is a shared component from the start, the editor's 3D view lands right after the spike; multi-level (stacked surfaces) is Phase 2 with a seam left for it.
Gated by a de-risk spike — a real asterra chunk as a 3D mesh, ortho iso camera, one billboard, depth on. Machine gate: flat Z0 must project pixel-identical to today. Owner gates: does it still look like UO, and which Z scale.
How it was tested
N/A — design document only.
check-doc-refsclean.Checklist
.xnbpattern)Supersedes the rendering half of #268 (pillar 1 retired, pillar 3 fulfilled natively).