Files
gamedev-the-steward/docs/baselines/SIMULATION_GARDEN_01.md
T
2026-07-14 23:54:22 +02:00

150 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Simulation Garden 01
Captured: 2026-07-14
## Files
- `docs/baselines/simulation_garden_01_debug.png`
- `docs/baselines/simulation_garden_01_cinematic.png`
- `docs/baselines/simulation_garden_02_empty_pantry.png`
- `docs/baselines/simulation_garden_02_restocked_pantry.png`
- `tools/capture_simulation_garden.gd`
## Capture Command
Run from the project root with the normal renderer on macOS:
```bash
HOME="$PWD/logs/quality/godot_profile" \
APPDATA="$PWD/logs/quality/godot_profile" \
LOCALAPPDATA="$PWD/logs/quality/godot_profile" \
/Applications/Godot.app/Contents/MacOS/Godot \
--path "$PWD" --script res://tools/capture_simulation_garden.gd
```
On Windows:
```powershell
$env:APPDATA = 'C:\Users\Rijad\Documents\Simulation Game\logs\quality\godot_profile'
$env:LOCALAPPDATA = 'C:\Users\Rijad\Documents\Simulation Game\logs\quality\godot_profile'
& 'C:\Users\Rijad\Downloads\tools\Godot_v4.7-stable_win64.exe\Godot_v4.7-stable_win64_console.exe' --path 'C:\Users\Rijad\Documents\Simulation Game' --script res://tools/capture_simulation_garden.gd
```
The script warms up `main.tscn`, verifies that the simulation and active NPC
visuals exist, stages a real food-deposit/trust consequence, a one-food pantry
shortage, the hungry interested villager's ordinary gather-food replan, and one
wind gust. It captures the F10 debug presentation, then the cinematic
presentation with development labels and UI hidden. It lets the earlier trust
reaction finish so the crisis remains the single visual idea, then records a
tighter empty-pantry view. A real NPC deposit resolves the opportunity and
produces the matching restocked view; the capture-only close framing keeps the
same elevated third-person perspective and does not change gameplay defaults.
## Review
The milestone is valid as a runtime integration checkpoint: the same Jajce
Terrain3D world is running in `main.tscn`, NPCs are alive in the terrain-backed
village, the selected-NPC reason inspector is fed by real task scoring, and the
cinematic/debug toggle produces a shareable view without changing simulation
state. A follow-up pass adds small task glyphs above active NPCs, so the
cinematic view now preserves task intent after the debug labels are hidden. A
camera-staging pass then gives the runtime capture a wider village view and adds
authored dirt path strips that make the task loop readable from the first frame.
The next presentation pass adds compact silhouette props to the ridge landmark,
pantry, guard, study, and rest sites so work locations remain identifiable in
cinematic mode.
The frame also makes the remaining presentation risks plain:
- the elevated third-person/top-down camera is intentionally preserved; future
staging should improve composition within that cozy follow perspective;
- houses and several work/resource props remain useful but visibly
prototype-grade;
- terrain texture variation and path strips read better than the old flat map,
but terrain/color hierarchy still flattens some village landmarks;
- task glyphs and work-site props help, but blockout buildings and resource
props need stronger authored silhouettes before this becomes a polished
public-facing shot.
Use this baseline as the first runtime comparison image before adding more
systems or expanding the terrain.
## July 9 visual follow-up
The baseline images now include the first stylized-villager pass. NPCs use
multi-part silhouettes and real travel-driven limb motion instead of capsules;
profession colors and props remain definition-driven, and authoritative wood
inventory now appears as carried logs. The capture also fixes three effects
that obscured the simulation on Metal: waterfall mist was incorrectly emitted
at the village origin, ridge/valley wind systems overlapped, and chimney smoke
ignored particle transparency. The player capsule and camera composition are
the next visible presentation gaps at that checkpoint.
## July 11 visual follow-up
The implementation keeps the overlapping valley-wide white stroke/speck fields
removed: those read as constant scratches or insects. In their place, one
bounded controller produces sporadic groups of two or three terrain-aware
calligraphic ribbons. Their tapered sage, warm amber, and pale aqua strokes are
drawn head-to-tail by the shader, remain below 30% alpha, cannot stack, and
share the prevailing direction used by deterministic tree-canopy motion and
chimney smoke. The capture tool stages one gust so the next visual comparison
does not randomly land during the intended quiet interval.
The PNGs listed above have now been refreshed on the Metal renderer and include
the staged mid-sweep gust, so they can be used to assess ribbon opacity and
terrain contact.
The day/night controller also reconnects to the authoritative simulation clock
after scene startup and uses the correct sunrise/sunset color order, preventing
lighting drift during speed changes or restoration.
The player now uses a compact multi-part silhouette with a teal tunic, warm
scarf/satchel accents, and velocity-driven walk motion. Collision, controls,
and the elevated staggered follow camera are unchanged. The next visible gains
should come from replacing remaining blockout architecture, strengthening work
props, and improving terrain/color hierarchy—not from changing the camera
language again.
## July 12 social-history follow-up
The debug capture now stages Tarik's real witnessed food-deposit memory and
trust consequence. The inspector distinguishes that lasting subjective memory
from Tarik's own objective actions in a shorter, more legible panel. The same
consequence produces one brief amber halo-and-mote blossom above Tarik; it
remains visible when F10 removes the debug UI but does not become permanent
world clutter. Both refreshed images preserve the established elevated,
slightly staggered top-down camera.
## July 13 opportunity follow-up
The debug capture now leaves one real `restock_empty_pantry` need open. The
left summary puts the cardless need above routine recent events and names Tarik
as the critically hungry interested villager; his inspector shows the same
zero-of-one pantry target next to the exact withdrawal memory. Capture staging
then asks the existing utility selector to replan Tarik, producing `Gather
Food`, a real finite food target, and the honest reason `Critically hungry; must
find food` instead of a stale pre-shortage decision.
The inspector still fits the 1280×720 frame without adding another panel, and
the cinematic capture remains free of UI while preserving the task glyph,
interested-villager concern, and sparse calligraphic gust. Gameplay camera
defaults remain unchanged.
## July 14 physical-crisis follow-up
The pantry is no longer a generic crate whose appearance stays constant. Its
presentation reads the authoritative food amount and swaps between a large
empty terracotta bowl, a low basket with berries/sack, and a fuller stocked
arrangement. The active opportunity adds one small empty-bowl concern mark to
its interested villager only. A real NPC deposit clears that concern and emits
one short amber refill ring/mote response; restoring the same state rebuilds
the stock and concern without replaying the transient response.
The two `simulation_garden_02_*` images form a deterministic before/after pair
for editing or public progress posts. They deliberately keep UI panels out and
use a tighter version of the same elevated camera language. The broader
environment remains prototype-grade; the next useful visual proof is the full
20–30 second gather/carry/deposit/recovery loop rather than another isolated
ornament pass.