The Triumph of my Magic Steel

We’re getting into bunker mode here, and bunker mode means that we shut up and program. Programming soundtracks are infinitely variable, but everybody tends to have one. For Dredmor, 50% of the programming was done while drinking coffee and listening to Rhapsody albums. Rhapsody is a largely insane European power metal band who mainly sing about unicorns, swords of magic, and dwarven economic practices. Christopher Lee was on their last album. It’s a reasonably intense experience, and a certain amount of silliness from the albums has transfused itself into Dredmor like some kind of musical background radiation.

Everybody has crunch mode stories. One of my favourite ones in my experience was several years ago – back in 2001 – when I was trying to ship a first person shooter using The Goddamned Lithtech Engine. Lithtech Talon, back then, was not known for its robustness, and most of my job description involved taping bits of it back together in order to get things shipping on time. One last problem we had before shipping our demo was that certain objects were suffering from z-fighting with the wall. Depth buffer precision issues are notoriously hard to fix, so I decided that the easiest thing to do – given that this was a last minute fix – was to tag the offending models (which were lights, or something) and give them a little depth bias in order to stop them from fighting with the walls. With that done, and a few more bugs taken care of, I crashed on the company couch in case I was needed later.

Three hours later, I was woken up: QA had gotten the build of the demo, gone through it, and wanted to know why there were vases floating through walls. It turns out that the depth buffer bias had been cranked… a little too high at the last minute, and on some of the wrong things. It still took me fifteen minutes for my brain to figure out how that was even possible.

I hope to have something a little more insightful for you next week. Until then…

Posted in Uncategorized | Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *