---
title: "Shot 1: Ember in the Flood"
summary: "The spec of target shot 1, the deep-register reference: four fallen holding a pool of ember light in a flooded hall while a drowned horde presses in. What it shows, what it needs, and where it stands."
status: decided  # Decided in the design notes, not built yet
section: "Art Direction"
html: ember-in-the-flood.html
source: www/content/art/ember-in-the-flood.md
---

# Shot 1: Ember in the Flood

*The spec of target shot 1, the deep-register reference: four fallen holding a pool of ember light in a flooded hall while a drowned horde presses in. What it shows, what it needs, and where it stands.*

The game's own [key art](../art/target-shots.md), rendered by the real client: a party of four fallen holding a pool of warm light in a flooded hall, a drowned horde pressing in from the dark. It is the deep-register reference every later shot is judged against. Spec approved by Alex on 24 October 2026; models built with scripted Blender (his choice over code meshes and AI 3D).

The shot was specified while the journey still went down. In the climb it is the deep's register, and it stays the reference for it; [where each shot sits in the climb](../art/target-shots.md) is on the target shots page. The party here is four fallen, called the Kindled when the shot was made.

![The target: concept key art, a painting.](../art/paintings/key-art.jpg)

The target: concept key art, a painting.

## What it shows

|  |  |
| --- | --- |
| Place | A flooded hall of the Sunken Reach: Saltreach's drowned streets, walked at low water, on [the Drowned Coast](../journey/drowned-coast.md). It uses the cave generator as-is, re-dressed. |
| Register | Deep: about 80% of the frame in the two darkest values. The party's ember light is the warm pool; one cold shaft of light falls from a break in the ceiling. |
| Camera | The game camera, unchanged: 3/4 from above (pitch ~57°, fov 32°), zoomed in a little (distance 22 instead of 27) so a fallen is ~70 px tall at 1600x900. |
| Frame | 1600x900, rendered with `--offscreen`. |
| Moment | Mid-fight, with a ring of open water between the party and the horde: a Fireball in flight, one exploding, Arc chaining through ghouls, a Frost Nova ring fading. |

## On screen

**The party (centre, slightly left of middle).** Four [fallen](../fallen/who-you-are.md) in a loose diamond, as in the key art: hooded, layered salvaged gear, each with the ember glowing through the chest. The local player in front, casting Fireball toward the upper left. Allies are told apart by cloth tint, not by a green glow. Nameplates over the three allies.

**The horde (all around, dissolving into fog at the edges).** About 150 in frame, 2,000 in the level:

- [Hollow Ghouls](../wiki/monsters/hollow-ghoul.md) (most): hunched, heads low, arms hanging, waist-deep feel. Dark silhouettes with an empty, frost-rimmed hollow in the chest (the inverse of the fallen's ember).
- [Bone Archers](../wiki/monsters/bone-archer.md) (a ring further out, upper right and lower left): thin, angular, bows drawn.
- 8-10 magic monsters with a **blue rim**. One rare ghoul (Giant) with a **gold rim**, name plate and modifiers in the target panel at the top.
- No orange on monsters or walls: warm colour belongs to the party, their spells and loot.

**Light.**

- The ember pool: the floor lit ~7 tiles around the party, falling to black beyond.
- Each fallen's chest ember: emissive plus a small shadowless point light.
- The cold shaft: one teal spotlight from above at the upper right, with a faint light cone and drips; the floor under it reads as wet.
- A cold rim so silhouettes separate from the floor, teal-black distance fog, a vignette.

**Ground and props.** Dark standing water over flagstones that catches the ember light, with ripples around the party and no visible tile grid. Walls re-dressed as broken masonry and rock, with broken column stubs and branching coral on the wall edges (placed on the client from the map seed: decoration only, no collision).

**Effects.**

- Fireball: white-hot core, ember-orange glow, a comet tail of rising sparks, a light.
- Explosion: a flash, a ring of fire on the water, sparks; no white puff, and it never bleaches the caster.
- Arc: white core, Storm-yellow edges, branching, short-lived.
- Frost Nova: hard-edged rime ring on the ground and ice shards; no black ring.
- Kills: the drowned collapse into a splash of water and salt (cold, not gore-coloured).
- A few crit numbers, one per burst, in the numeric face.

**HUD.** Brass on Soot, square corners, readable at a glance:

- Life orb (Blood) left, mana orb (Mana) right: round globes with a brass rim and a liquid surface line.
- Between them: XP bar, two flasks as large as the skill slots, six skill slots with painted icons and key labels (no names, so nothing clips).
- Top centre: target panel for the rare (name in Gilded, base type, modifiers, life bar).
- Top left: party frames (name, level, life bar for each of the four).
- Top right: zone and depth ("The Sunken Reach · Depth 4"), level.
- Debug overlay hidden.

## What it needs

Every asset is a real game asset, used in normal play afterwards, not a shot-only prop. The shipped ones, with their counts and budgets read from the files, are on [Models](../art/models.md), [HUD art](../art/hud-art.md) and [Textures](../art/textures.md).

- **Models:** the fallen (one model per party slot, one casting pose each), the Hollow Ghoul and the Bone Archer (one shared mesh per kind), column stubs and coral (instanced from the map seed). All within the vertex budgets.
- **Materials and shaders:** the rarity rim (a thin cold band, blue for magic, Gilded for rare, ember for unique; shared per rarity), a water shader for the floor, the light shaft.
- **Effects:** Fireball, explosion, Arc, Frost Nova and drowned deaths as camera-facing soft sprites sharing one material, within the particle cap.
- **HUD:** three OFL faces (display, body, numbers), painted globes, a painted icon sheet sliced into skill and flask icons, brass-bordered frames.
- **The scene:** `--scene ember-in-the-flood` on the server: a fixed seed and depth, three puppet fallen beside the client's player, a horde placed by ring, kind and rarity that settles into a steady state and holds it, scripted casts on a fixed rhythm. A test checks it plays out.

Out of scope: animation (everything holds one pose and slides; animating 2,000 monsters needs vertex-animation textures, a later task), ground loot labels, a minimap.

## Done when

- `cargo run --release -p emberdeep -- --scene ember-in-the-flood --offscreen --shot 5.5:design/target-shots/1-ember-in-the-flood.png` reproduces the shot. The scene settles ~2 s after the client joins and repeats its casts on a short cycle, so any capture from ~4 s on shows the same composition; the capture time only picks the beat. Under load the capture clock drifts from the scene clock, so take several and pick one.
- It reads like the key art: dark frame, warm pool, cold shaft, readable silhouettes, rarity at a glance, nothing clipped in the HUD.
- The 2,000-monster bench stays near its baseline and the monster vertex test passes (see `docs/performance.md`).

## Where it stands

Version 2, rendered on 24 October 2026. Seven agents rebuilt one area each (the Kindled, monster models, effects, water and shaft, lighting and rim, HUD, composition) after Alex asked for more polish on version 1.

![Version 1, version 2 and the key art, stacked.](../art/target-shots/1-ember-in-the-flood-compare.jpg)

Version 1, version 2 and the key art, stacked.

**Value structure.** Share of pixels darker than luma 32 (HUD masked), measured on 24 October 2026: key art 84%, version 1 44%, version 2 70-73% depending on the beat. Close, still a little bright: the warm pool is wider than the key art's and the rims add light. The frame-rate cost of each version is in `docs/performance.md`.

**Gaps for a version 3,** in order of payoff:

1. **The fallen are still small and soft** next to the key art's painted heroes: at 70 px the pauldrons and hoods read, but the ember is a small dot and the silhouettes are generic. The key art's camera is lower than the game camera, which the shot keeps. A sculpted or AI-3D source, or a dedicated hero camera for this shot, would pay most here.
2. **No animation:** everything slides in one pose. Vertex-animation textures for the horde and a skinned fallen are a separate task.
3. **Frost Nova covers the whole ring** for a moment of each cycle, which reads as a big blue disc over the party; the scene could cast it less often or from the edge.
4. **Archers in range fire all the time**, so arrow streaks cross the frame on some beats; moving them out of range in the scene would remove them.
5. The local player's hood is still light peach under the spotlight.
