
Terrain Walk
7.5K subscribers3.3M views
The answer comes from running it: game boards played millions of times, ant colonies, tank battles on a terrain model.
The production instructions and source for this visual style.
kit/ and the skill into skills/faceless-sim-3d/.SKILL.md in your coding agent and follow the workflow.---
name: faceless-sim-3d
description: Build narrated faceless 3D simulation documentaries from real experiment results, using deterministic replay scenes, moving cameras, data overlays, thumbnails and a verified video pipeline.
---
## Public package setup
Export `KIT` to your extracted kit directory and `SKILL` to this extracted style directory.
Read README.md for dependencies, missing assets and setup. Example media and private review
material mentioned below are not bundled; create your own input/output paths.
Use the visual decisions in [SPEC.md](SPEC.md). The included fully executable adapter compares four Shut the Box policies; new simulation topics need their own real engine and scene adapter as described in [references/schema.md](references/schema.md). Never claim a Monte Carlo count that was not run. Do not copy reference narration, branding or game artwork.
## Workflow
1. Study the supplied style references with the image viewer. Match camera motion, shot sizes, materials, typography and transitions; static thumbnails alone do not establish motion style.
2. Execute the real engine, inspect the numbers, then write the narration. Example:
```sh
$PY scripts/simulate.py --games 3000000 --out examples/my-test/simulation.json
```
The engine saves rules, exact DP probabilities, Monte Carlo rates/95% intervals, reproducible seed, code hash and a valid successful run. The total is 750,000 complete trajectories per policy, three million across four policies. Largest-first is a lexicographic preference for removing the highest open tile; fewest-tiles breaks ties toward larger tiles; smallest-first is the reverse; optimal maximizes the exact probability of closing all nine tiles. Always two dice is an explicit variant rule.
3. Write `script.txt` from those results, then run:
```sh
./build.sh --script examples/my-test/script.txt --out examples/my-test --quality max
```
This runs missing voice/Scribe steps, plans shots, renders six stills and a thumbnail, renders silent video, generates a continuous music bed, mixes and ends with the kit QC gate. Use `--simulation FILE` for an existing result file, `--games N`, `--topic 'Shut the Box'`, and `--edit shots.json` for a reviewed shot list. It exits nonzero if QC remains open.
4. Inspect the six stills with the image viewer before accepting a full render. To work stepwise:
```sh
$PY scripts/plan.py --script examples/my-test/script.txt --words examples/my-test/words.json --simulation examples/my-test/simulation.json --out examples/my-test/timeline.json --quality max
$PY scripts/previews.py --timeline examples/my-test/timeline.json --out examples/my-test/stills --ss 2
node "$KIT/js/render.mjs" --root . --page scene.html --data examples/my-test/timeline.json --out examples/my-test/silent.mp4 --ss 2
$PY scripts/thumbnail.py --timeline examples/my-test/timeline.json --out examples/my-test/thumbnail.png
```
Delete stale voice/word outputs after a script edit. Replan and rerender after changing claims, replay or camera code. Existing voice/bed files are reused deliberately for visual iterations.
## Script, cinematography and sound
Title: “The Best [Game] Strategy, Tested on [N] Million Games.” Open with the experiment's scale, establish comparable rules, reveal a measured gap, then the causal question. Calm data-driven third-person narration, ~180–195 wpm. Say “best of the tested policies” unless optimality is independently established. Tiny improvements must sound tiny. Never conflate a selected replay with the full dataset or present one rule variant as universal.
For a 15-second hook, use roughly four to five shots: wide three-quarter arc, low close slider, high medium push, results push, with an opposite-angle cut for a narrated contrast. On longer videos use 4–8 second shots and reserve longer holds for visibly evolving simulations. No nearly unchanged angle for ten seconds. Move the camera continuously within shots, vary elevation by >=35° at the overhead cut, and change shot size/azimuth at each cut. Hard cuts at clauses dominate; preserve a tile line or accent color across transitions. Use a wipe or whip only when reference evidence motivates it. No generic transition pack.
Use a quiet continuous analytical music bed (saved prompt in `music-prompt.txt`), ducked under the voice. MiniMax English_Trustworth_Man, calm, speed around 1.06 is the default. Kit Scribe provides real word times. Dice taps at settles, soft mechanical clicks at flips, and a quiet whoosh at scene cuts. Cues are data, not hand-edited audio. Final mix targets -14 LUFS and -1 dBTP through the kit.
## Quality and QC loop
`draft`: 1× output, 1024 shadow preset, no AO/bloom/SMAA. `standard`: 1×, 2048 shadows, GTAO/bloom/SMAA. `max`: 2× supersampling, 4096 shadows, GTAO, restrained bloom, SMAA, CC0 PBR felt/walnut and studio HDRI. Quality changes cost, never legal moves, layout or continuity. Every level must pass QC. Measure cost with `scripts/benchmark.py --timeline examples/my-test/timeline.json --out examples/my-test/bench`; `render-metrics.json` separates active rendering from queue/startup wall time.
All DOM text has `data-qc`; projected chart labels are separate tracked boxes. `__qc` reports every tile, die, chart bar and board. Physical objects remain allocated and deterministic. Subject groups only change at planned scene cuts; cut-boundary exemptions do not hide mid-shot pops. Explicit layout areas reserve title, counter, replay label, chart labels and footnote. Tiles pivot onto a supported shelf, clear of the dice well, with connected hinges and support rails.
For standard/max, review a rendered preview slice before the full video. For max also build and view six moments beside matching reference frames. Run:
```sh
$PY "$KIT/py/qc.py" examples/my-test/final.mp4 --out examples/my-test/qc --qc examples/my-test/silent.qc.jsonl --timeline examples/my-test/timeline.json --words examples/my-test/words.json --style '3D simulation documentary'
```
Read report.md and view flagged frames at full resolution. Fix causes in this skill, rerender the affected span or full short video, remix, and rerun until exit 0. “Disputed” is open. Use ignore.json only for a verified intended condition, with frame evidence and an honest reason. Do not ignore a real glitch. View twelve final full-size frames and the vsref sheet before delivery.
Credits and source licences: [CREDITS.md](CREDITS.md). Original procedural game geometry needs no external model. Cached Poly Haven/ambientCG assets are CC0. Any CC-BY addition needs the exact credit in the skill and video description. Generated assets require prompt/model/file logging in ASSETS.md. Never use unlicensed brands, characters or copied game boards.
For tile replays, closed numbers must disappear physically: rotate face-down and expose the dark back. Keep an open/closed legend in overhead shots. When narration contrasts a losing strategy, cut to the opposite chart angle, show its actual rate in the counter, and keep column heights on the same scale.
Source only. Fetch assets separately; setup and credits are in the README. All 11 skills ↗

7.5K subscribers3.3M views

6.3K subscribers2.7M views

681 subscribers111K views

2.6M views

2.5M views

106K views

751K views

148K views

104K views

41.4K views

16.9K views