Docs: SL-1/SL-4 visual-cohesion session log + Backlog status
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
---
|
||||
date: 2026-06-13
|
||||
type: session
|
||||
tags:
|
||||
- session
|
||||
- art
|
||||
- visual-cohesion
|
||||
- camera
|
||||
- post-processing
|
||||
- slice
|
||||
- sl-1
|
||||
- sl-4
|
||||
permalink: gamevault/07-sessions/2026/2026-06-13-sl1-sl4-visual-cohesion-dark-frontier
|
||||
---
|
||||
|
||||
# SL-1 / SL-4 — Dark-frontier visual cohesion pass (camera, grade, bullseye)
|
||||
|
||||
> Slice milestones **SL-1** (arena/camera lock) + **SL-4** (visual cohesion). Continues the END-2 session [[2026-06-13_SL3_END2_Final_Siege_Win_Lose]]. Target: turn the base arena from a bright Synty **meadow** ([[DR-025_World_Environment_Redo_Natural_Frontier]]) into the slice's dark **"Aether Siege Outpost"** ([[End_Of_Month_Game_Jam_Slice]] Visual Direction). Operator asked to **research scene composition + camera + colour first**.
|
||||
|
||||
## Research-first (the operator's explicit ask)
|
||||
Ran a 4-lens visual-direction research workflow (scene composition · camera · colour/value · URP post-FX), grounded in top-down base-defense/ARPG references (Riftbreaker, They Are Billions, Core Keeper, Hades, Diablo, Hyper Light Drifter). Synthesised into one concrete spec — north-star: **a single concentric bullseye, read by VALUE first then hue: the cyan Engine Core is the lone bright object at center, ringed by an amber Ore annulus and a quiet dark perimeter.** The Unity edits below are that spec's prioritised punch-list.
|
||||
|
||||
## What shipped (all asset/scene edits — no `.cs`)
|
||||
- **Camera** (`PrototypeCameraRig` on `Game.unity`): pitch **45→58**, FOV **55→44**, distance **13→17**, AimLead **1→0.5**, FollowSharpness **8→6**, TargetHeight **1→1.3**, far→80. Steeper telephoto so the Core + full arena + spawn gaps read at once with near-iso enemy spacing (a Husk at the rim and one at the Core read at ~equal size); Core anchored near frame-center for a hold-the-center defense.
|
||||
- **Lighting / atmosphere** (`Game.unity` RenderSettings + `WorldAtmosphereConfig`): sun dimmed + cooled (warm 1.6 → cool-white 0.9); Trilight ambient **1.0→0.62**, dark-cool; fog **ExponentialSquared→Linear 18→42m**, dark teal; base-region atmosphere darkened so the runtime cross-fade lands dark.
|
||||
- **Post-FX** (`PostFX_Daylight.asset`): ACES kept; **Bloom gated** (threshold 1.0→1.2 + clamp 10 — only HDR emissives glow, never the lit ground); ColorAdjustments exposure +0.55 / contrast +12 / **saturation +6→0** (mute Synty chroma so emissives dominate) / cool filter; **added `ShadowsMidtonesHighlights`** (cool-teal shadows / warm highlights — the faction-sort baked into the grade, via `AddObjectToAsset` so it persists); Vignette **0.15→0.32**.
|
||||
- **Ground**: `Mat_Grass_Textures_01` re-tinted dark teal-grey `#2A342F`, matte, no emission (the #1 readability lever — the untreated grass was out-shouting the actors).
|
||||
- **Cut the meadow cheer (~390 objects, reversible setActive=false)**: butterfly/petal/sunbeam FX, sunflowers/wildflowers/flat-flowers, cabin/windmill/well/waterwheel/pond/lillies (cozy-village props), and the green grass clumps/ground-cover in the play area. Kept dark perimeter trees/rocks + the cyan AetherLights + the Warpgate.
|
||||
- **Core as the hero**: the cosmetic `EngineCore` crystal scaled **14.2m→4.6m** with a controlled cyan glow (the ×4 first pass clipped to pure white — dialed to ×1.25 so the cyan reads); added a cyan **beacon point light** (range 9, int 3) at PlotCenter. The gameplay Core ghost stays the bright cyan luminance peak co-located at origin.
|
||||
- **Ore ring** (`BaseFieldSpawnerAuthoring` in the Gameplay subscene): **23.5–27m → 6–11.5m, count 10→12** — pulled the resource ring from *outside* the arena (24m, off-frame) into the compact bullseye. Re-coloured **AMBER**: new `Mat_OreNode_Amber` (emissive amber) on `ResourceNode.prefab` — a dedicated material to avoid `PolygonFantasyKingdom_Mat_01_A` shared-atlas bleed (CLAUDE.md gotcha). Resource now reads distinct from owned-cyan.
|
||||
|
||||
## Validation
|
||||
- **Screenshot-verified in Play** (RenderTexture capture via `execute_code` on the unfocused editor, `runInBackground`): the arena reads as a clean dark bullseye — dark teal ground recedes, cyan Core is the luminance peak, the 12 amber Ore nodes ring it at 6.3–10.1m, dark perimeter frames. avgLum dropped from a bright-meadow ~26 to a dark ~7 (follow-cam) with a bright cyan peak; ground hue moved green→dark-teal.
|
||||
- 342/342 EditMode still green (no code touched). Ore-ring subscene re-bake verified (12 nodes at the new radii).
|
||||
|
||||
## Deferred / operator follow-ups
|
||||
- **SL-2 loop tuning is feel-work** (needs a real playtest, not headless): the structural values are set (Target=4, FinalSiegeMultiplier=2.5, Ore 6–11.5/12, schedule 45s, sizeBase 5 + 1/wave); the build costs / Fabricator ratio / turret damage / wave growth / exact multiplier want the operator + the live `TuningConfig` overlay.
|
||||
- **Gameplay-entity emissives** (cyan owned structures, orange-red Husk verification during a siege) — per-prefab material work; the research's per-element hue/EV table is the guide.
|
||||
- **Composition polish**: 3 telegraphed spawn lanes at 120° + perimeter height-gate (≤2.5m camera-near); the gameplay-Core pillar is tall (a baked ghost — scaling needs the prefab); minor — a warm SciFi crate + the Synty/Foliage grass shader (different colour prop) at the perimeter; the amber emission is a touch hot (tone if it blooms under a full siege).
|
||||
- **Pylon decision** (SL-1) still open.
|
||||
|
||||
## Files
|
||||
- `Assets/Scenes/Game.unity` (camera, sun, ambient, fog, atmosphere cfg, cut props, beacon, Core scale), `Assets/_Project/Subscenes/Gameplay.unity` (Ore radii), `Assets/_Project/Rendering/PostFX_Daylight.asset` (grade), `Mat_Grass_Textures_01.mat`, `Mat_EngineCore_Aether.mat`, new `Mat_OreNode_Amber.mat`, `ResourceNode.prefab`. Commit `fc27b9ff7`.
|
||||
|
||||
## Next-session intent
|
||||
The arena now reads as a dark frontier bullseye. Next is the operator's hands-on **SL-2 loop tuning** (the 5–8 min run feel) + **SL-5 final-siege climax tuning** (FinalSiegeMultiplier, telegraph), then SL-6 polish (incl. the deferred gameplay-entity emissives + spawn lanes) and SL-7 packaging.
|
||||
Reference in New Issue
Block a user