DEVLOG · 3

A fire worth sitting by

October 6, 2026

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.

A campfire at night from above, with long streaky sparks, pale yellow logs, white stones and a pinkish haze round the fire.
A frame from the first fire clip.

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.

A campfire seen from the game camera at night with a sickly green ring on the snow round the stones.
The green ring round the fire, before the fix.

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.

The new flames on a calm night, with about 3 hours of fuel left.

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.

A branch and two sticks burning down to coals. 16 seconds cover about 3 hours.

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.

Two logs, a branch and two sticks crossed inside a ring of stones, glowing coals underneath, with no flames drawn.
About 11 hours of fuel, with the flames switched off to show the pile.

All entries