#551Mirrorball Avalanche
Forty-one mirror balls loose in a small club, and you can hit them: rigid bodies simulated on the CPU, with sphere and wall collisions, restitution and contact friction that turns glancing blows into spin. Every pixel is ray-traced against all of them and bounced off the mirror tile it hits, four bounces deep, so each ball holds the room, the beams and tiny images of the other balls. The tiles follow a real mirror ball — latitude rows of square-ish tiles in dark grout, each glued a hair crooked so neighbours catch the light differently, a few tarnished — and the room is lit by a softbox with soft contact shadows. The floor and the ceiling are perfect mirrors — view rays, photons and beams all reflect off them — so the club repeats above and below itself without end, and no light source is drawn: the softbox, the bulbs and the laser heads are seen only by their light. Fifteen pin spots under the ceiling, each in its own coloured gel and hooded onto one ball, flash in its tiles, and their reflections are photon-traced into a spray of coloured dots over the walls; ten hairline lasers beside them swing their aim at random, mostly onto the balls, and every beam is traced each frame: it reflects off the real tile it strikes, ball to ball and off the floor and ceiling, up to six bounces, until it burns a spot on a wall or dies in the grout — so a ball turning a hair re-routes every beam after it, drawn as thin cores in a faint haze with sparks where they strike. It never settles: the balls float as a slow cloud, avalanche onto the floor when gravity switches on, get thrown up in zero-g when the floor erupts, are dragged round the room by a vortex, and scatter in a blast before drifting back. Sweep the pointer through them to bat them around; press to punch into the scene.