The terrain moves in: pits open downward, hedges stand waist-high, ooze is jello
The flat token billboards give way to terrain that inhabits the room. Pits, slime, tacks, and the dimensional warp's rings are painted INTO the flagstones — the home-tile decal pass grows into a general per-cell overlay grid, one texture per cell, alpha-blended texel by texel. Thorn and rose hedges fill their square wall to wall at half height, drawn with a near-bias so the wizard standing among the thorns peeks over the top. The killer ooze rises as a full translucent cube of jello, bricks and bodies visible through it; dust billows; and each dimensional warp mouth throws an additive pillar of violet light up from its floor ring. Billboards learn aspect, translucency, glow, and draw-order bias to carry it all. Nine paintable starters ship — four floor decals under textures/, five standing volumes under terrain3d/ (spec updated for the artist, hedges wide, jello solid, warpglow as light) — shown in the token workshop, rehearsable in place with /?fpv&terrain=thornbush@3,7;jello@4,7. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
a8a63cc27b
commit
1e79f2ffb2
@@ -8,6 +8,7 @@
|
||||
import FirewallEdge from "./FirewallEdge.svelte";
|
||||
import IllusionShimmer from "./IllusionShimmer.svelte";
|
||||
import { FX_ART } from "./fpv/fx3d";
|
||||
import { TERRAIN3D } from "./fpv/terrain3d";
|
||||
|
||||
const GROUPS: { title: string; files: string[] }[] = [
|
||||
{ title: "Wizards", files: ["wizard-0", "wizard-1", "wizard-2", "wizard-3", "wizard-4", "wizard-5"] },
|
||||
@@ -95,7 +96,7 @@
|
||||
wherever a file is missing.
|
||||
</p>
|
||||
<div class="grid">
|
||||
{#each ["wall", "rim", "stone", "door", "firewall", "warp", "floor", "ceiling", "home"] as name (name)}
|
||||
{#each ["wall", "rim", "stone", "door", "firewall", "warp", "floor", "ceiling", "home", "pit", "slime", "tacks", "dimwarp"] as name (name)}
|
||||
<figure>
|
||||
<img class="masonry" src={`/textures/${name}.png`} alt={`${name} texture`} />
|
||||
<figcaption>{name}</figcaption>
|
||||
@@ -120,6 +121,24 @@
|
||||
{/each}
|
||||
</div>
|
||||
|
||||
<h2>The standing terrain — first-person volumes</h2>
|
||||
<p class="sub">
|
||||
Terrain that stands in the room: hedges filling a square to half
|
||||
height, the killer ooze as a translucent cube, dust billowing, the
|
||||
dimensional warp's pillar of light. Each lives at
|
||||
<code>public/terrain3d/<name>.png</code> — transparent PNG, any
|
||||
size; hedges render twice as wide as tall. Rehearse them in place with
|
||||
<code>/?fpv&terrain=thornbush@3,7;jello@4,7</code>.
|
||||
</p>
|
||||
<div class="grid">
|
||||
{#each TERRAIN3D as name (name)}
|
||||
<figure>
|
||||
<img class="masonry conjuration" src={`/terrain3d/${name}.png`} alt={`${name} sprite`} />
|
||||
<figcaption>{name}</figcaption>
|
||||
</figure>
|
||||
{/each}
|
||||
</div>
|
||||
|
||||
<h2>Walls & doors — as the maze draws them</h2>
|
||||
<p class="sub">
|
||||
Wall-segment effects have never been tokens: locks picked, jammed, and
|
||||
|
||||
Reference in New Issue
Block a user