Devlog
Building Second Chance
What was attempted, what broke, and what the fix turned out to be. Written for anyone building something similar.
-
With the Editor Closed
An open-world map with effectively no level-of-detail data anywhere took the graphics card down twice while trying to fix itself, and the answer was to stop the editor drawing and do the work in three separate headless processes.
-
The Pile That Never Settled
Building a working penny pusher out of several hundred real rigid bodies, and the feedback loop where slow frames stop a pile settling, which keeps the bodies awake, which keeps the frames slow.
-
Carve the Water First
The river was solved as data outside the engine, then carved and built as water bodies - and the day's real lesson was ordering, because carving the channel re-graded the ground under a bridge that had been built correctly an hour earlier.
-
A Blank White Rectangle
How this game's conversation UI stopped being one hand-drawn panel copied forward by duplication, and the class of silent failure that arrives the moment an agent can author widget trees for you.
-
A Card in the Hand
Rebuilding a full-screen scratchcard widget into a card held in the world, how the wax removal actually works, and why the card rendered pure black while the coin on top of it looked perfect.
-
Proving the Wheel
The betting shop's roulette wheel is a real rigid body in a real bowl, so the winning number is wherever it stops - which means fairness has to be measured rather than asserted, and the measuring is where all the interesting failures were.
-
Eleven in the Morning
The daytime street looked identical to the night street, and it was not a grading problem - the sun was set to ten lux against a real daylight figure near a hundred thousand, and with no outdoor exposure authority the automatic metering re-normalised both to the same mid grey.
-
A Missing Server
Adding a second agent server to the same live Unreal editor retired four "the human must do this by hand" rules overnight, and the real win was the observation loop rather than raw speed.