Light at night in Frostwake comes from the fires you light, so the campfire has to look alive and warm. It took four review passes and in the end a change of method before the flames looked real.
Built from code
The first campfire was built entirely from code: flames, glow and embers drawn from noise, lit smoke, a bed of embers and a flickering light that casts shadows. The cabin pack came with a fire animation, but it is footage of a fireplace with logs in it, no use from above. Stills cannot show whether a fire looks alive, so from here on we judged fires from short clips.

That clip had sparks like grains of rice, pale fresh logs, white stones, a pink haze and blobby flames, all fixed by tuning numbers. A green ring round the fire took longer. Three changes to the ember bed left the pixels exactly the same, so we looked elsewhere and found two causes. Clearing the snow from the whole campfire had also cleared it under the see-through ember bed, which then showed bare ground. And warm light hard on snow burned out, and burned-out orange turns yellow-green under our cool colour treatment. Now only the stones and wood are cleared of snow, and the fire's light hangs 1.6 m up so its pool stays even.

Fuel and wind
A fire now shows how much fuel it has left. With hours of wood on it the flames stand tall and yellow. As it runs down they shrink and redden, and in the last minutes small flames lick over glowing coals. A low fire first grew a pink halo where its red light met the blue night, so the light of the coals is now deep orange and the grade turns any magenta left into warm grey.
The wind used to be one speed per weather, always blowing east. Now it gusts and wanders, and the flames, sparks, smoke, snowfall and pines all follow it. In the first blizzard clip the fire lay down as a line of flames along the ground, so the lean now has a limit and strong wind presses the flames low and short.
Real flames
Even tuned, the flames drawn by code did not look real, so we tested a free campfire loop of 64 frames, released under CC0. It plays on a few overlapping cards that face the camera. Each card starts at a random frame and blends between frames, so the loop never visibly repeats, and the wind bends the tops of the cards. Six big coals had read as red bricks, so they were rebuilt smaller, scattered and half sunk in the ash. These were the first flames that passed review.
When the wood then seemed to stand in front of the fire, we drew the flames half a metre closer to the camera, in the same spot on screen. In wind a second, softer light stretches the warm pool downwind, and the air above the flames shimmers with heat.
The wood you put on
Each stick, branch or log you put on now shows in the fire as its own piece. The oldest burns first. It chars black, glows in its cracks, shrinks and drops into the ash, then the next one takes over, and the time left on all pieces sets the size of the fire.
The first piles were all the same three-piece star, and logs poked through the stones. Now every piece gets its own random direction, lean and spot, with its ends inside the ring. Our first fit still let logs touch the stones, because it ignored how thick a log is. A check now lays 80 test piles on every build. The wood reaches 0.36 m from the middle at most, and the stones' inner faces stand at 0.43 m. With a full fire burning, the flames hide most of the wood, as a real fire does.
