Wizard School · October 2026
Sparks, smoke and lamplight
Night in Wizard School is drawn by dithering. The darker a spot is, the more of its pixels go grey and then black. It suits the pixel art. The trouble was that until this week almost nothing lit the dark: hearths, a few pieces of furniture and the odd spell. So this week was lamps, then making light behave more like light, and then particles, which I rebuilt after the toon smoke in The Legend of Zelda: The Wind Waker.

--scene fx: one teacher, seven spells, one night.
Lamps
There are six new lamps. Four of them burn something a hauler has to keep bringing:
- a torch burns wood
- a candelabra burns tallow candles, which are made from meat at the workbench
- an oil lamp burns spirits
- a glowcap lamp is a jar of cellar mushrooms
Let one run out and it goes dark. The other two are magical and look after themselves. A ley lamp draws mana out of the ground around it, so it's bright on a ley line and gutters on drained ground. A moonpetal lantern soaks up sunlight all day and gives it back at night. Every lamp only lights when its spot is dim, so nothing gets burned in daylight.
Light that carries
My first go at "lights should reach further" was to multiply every light's radius. The courtyard lit up like a stadium. Real light doesn't have a radius. It falls off with the square of the distance and just keeps going. So each light now has a small bright core and a long faint tail, which is followed out until it's too faint to matter. One candle lights a whole room, brightly beside it and barely in the far corners, and walls still stop it. A campfire outshines a torch and a torch outshines a candelabra.
Then the dither had to learn about faint light. Where a lamp's light reaches at all, even weakly, the dark now keeps the real colours and just dims them, where before it went grey. Each light also tints what it touches. In the first night screenshot every magical lamp glowed the same orange as the torches, because the shader only knew how to brighten. Now a moonpetal lantern reads blue, a ley lamp violet and a glowcap jar green. While I was in there I found that magma had been lighting things violet, the colour of mana tincture, because every glowing liquid shared one colour.
Spells light the night too. A working that lands flares for a moment in its school's colour, so a fireball turns the yard orange and a lightning strike lights up everything at once. A caster glows faintly while drawing a glyph.
Particles, after Wind Waker

--scene darkarts: a raising, drawn after the game's death cloud.
The old particles were coloured squares that drifted and faded. Each effect is now a small bit of data: a colour and the colour it fades to, how much it grows, gravity, drag, how it sways and spins, and what it looks like. For looks there's a pixel, a soft glowing dot and a streak stretched along its motion, plus three drawn shapes borrowed from Wind Waker. One is a curl puff, a lumpy cloud with a spiral inside, drawn in white and grey so any effect can tint it. The others are a four-pointed sparkle and a burst of pale rays.
An explosion is now a cluster of curls that starts cream in the middle and goes orange and then deep red as it swells and slows, with sparks streaking out of it and smoke following. Raising the dead gets black-violet curls with rays fanning out behind, like the death cloud in Wind Waker. Spells throw sparkles that turn as they land.
Bright particles were a problem at night, because the dither greyed out embers and sparks along with everything else. They're now drawn by a second camera after the dark has been dithered, along with name tags and popups. Whatever shines stays bright, and you can read the labels again.
Dust, rain and fireflies
Most particles don't come from spells or explosions any more. Walkers kick up little curls of dust on dry earth, splash through puddles and scuff up snow. Rain splashes on open ground. Fireflies drift over the plants on warm nights, and in autumn the wind takes leaves off the trees. Motes rise off ley lines at night, off sigils and off the magical lamps, and they spiral in towards anyone who is casting.
All of this is only made for what the camera can see, and it's capped at 2,500 particles.
Things that went wrong
The first night run crashed straight away. The raindrop system's query excluded "any 2D camera", which was fine with one camera and stopped being fine with two, since it no longer kept the rain apart from the world camera's query.
Then the teacher in the new scene stood there for half a minute without casting anything. Every cast gets drawn in chalk first, and each scripted order was arriving before the last cast had finished and replacing it.