Devlog
Building Second Chance
What was attempted, what broke, and what the fix turned out to be. Written for anyone building something similar.
-
Downwind
Street litter in Unreal Engine 5.8 that blows with the live wind speed and direction and stops against the kerb, a write_graph_dsl call that silently wrote nothing because an IsValid macro sat mid-function, an otter that looked invisible in PIE because the capture camera was inside the riverbank, a salmon texture that came out grey and flat and a Python hash() seed that changed every run, NPC schedules that differ by day of the week, and virtual shadow maps that drew no shadows in PIE.
-
Reachable
Thirty collectible treasures in an Unreal Engine 5.8 cave that the player could never reach because every one sat past a sealed choke and two were inside stalagmites, street litter bins placed by script hanging 40 cm over the kerb on diagonal roads, pickup money in a World Partition level that would respawn when its cell reloaded, a robin material whose Custom node lerp kept only the red channel and rendered the patch grey, and an NPC that gives way at the kerb only to actors tagged Vehicle.
-
Root Lock
A seated MetaHuman in Unreal Engine 5.8 sinks back through his chair because Force Root Lock was on in a clip whose seat offset lives on the root track, raises his pint to his right eye instead of his mouth, never empties his glass, and carries it back from the bar tilted 60 degrees; plus a camera that looked inside two buildings with no collision that turned out to be HLOD stand-ins, and a bus that drove through the police car in the game's opening.
-
Only the Fins
A cooking overlay in Unreal Engine 5.8 that browned only the fins of a fish because the body was two-sided and the overlay was back-face culled, Niagara smoke that rendered as hard vertical glass sheets, a borrowed steam system whose spawn rate defaulted to zero, venue music that replayed the end of a track after a hitch, and white outlines round telegraph poles against grey cloud from r.VolumetricCloud.ApplyFogLate.
-
One Metre Past the Hook
A fishing fight in Unreal Engine 5.8 that snapped the line within 15 seconds whatever the player did, a caught fish that slid up the rod and ended up speared on it, and a CableComponent line that always finished a metre past the hook because EndLocation defaults to (100,0,0) relative to the end component - plus a fold-out chair, a five-minute snooze and a disposable BBQ you light with a lighter.
-
Fog in the Sky
A volumetric cloud storm that makes one in the afternoon as dark as night, exponential height fog with FogCutoffDistance 0 painting the whole sunset sky one flat colour, the white edge halos a 30 km fog cutoff leaves round every roofline in rain, an unlit horizon cloud band that glows white at night, and wet footprint decals laid back to front, all in Unreal Engine 5.8.
-
Two Bright Readings
Street lamps that switch on at dusk while the street stays black because the exposure is still pinned to daytime, a lightning bolt from Blender that imports invisible because FBX flips the UV V channel, a lightning flash light placed 312 m up that turns every roof and road white like snow, and a WidgetComponent petrol pump screen that is almost unreadable because the widget material is lit, all in Unreal Engine 5.8.
-
Background Hum
A decal that lays across parking bays, then renders upside down and paints the bollards green in Unreal Engine 5.8, an editor that runs out of memory setting material instance parameters with a big World Partition level loaded, an impure Blueprint call inside a return node pruned with "Exec pin is not connected" so no car lamp could ever light, and a refused pick-up that leaves an invisible item in the player's hand.