Tales of the Rampant Coyote

Adventures in Indie Gaming!

Bit Rot (and Frayed Knights 2)

Posted by Rampant Coyote on November 7, 2016

Frayed_cover_final“Bit rot” is a joke we programmers make about code. Code is digital, of course, and so you don’t have to worry about the deterioration of it over time and usage like you might with hardware. Parts don’t wear out.

Amazingly, code that supposedly hasn’t been touched for a long time in software which has been maintained and updated for a while will suddenly develop bugs. It just happens. It pisses off programmers to no end, because it’s an isolated section of code. It should just work.  But whether it should or not, there are bugs in stuff that worked fine the last time you looked at it, and nothing has visibly changed.

Thus the term “bit rot.” As in… the digital bits (1s and 0s) have somehow decayed and don’t work anymore.

There are lots of reasons for this. In many cases, the bugs were already there but just invisible. Changes to other related bits of code finally exposed them. Or maybe totally unrelated parts of code… you were just lucky until the code size grew beyond a certain point. Maybe you updated to a new version of an API which they old code used, and the update has bugs or isn’t completely compatible with the old code. Maybe the old code wasn’t Windows 10 compatible, because Windows 10 didn’t exist when you wrote it. Maybe the code worked fine for the low kinds of loads you used to run through it, but the higher level of throughput caused a hiccup with threads and dependencies. Whatever. There’s a zillion reasons, and all of them are frustrating.

Such was the case this weekend with Frayed Knights 2: The Khan of Wrath. I’m showing the game at The Leonardo museum on Friday night. The first level of the game is really the best demo level for showing people how to play. While there are some changes I need to make to it before the game goes into full beta testing, I’ve left it alone for a long time. I’ve been working on other parts of the game. I haven’t really tested it for six months.

But of course, right before a show, I need to test it out and make sure it still works. After all, there have been plenty of enhancements to the rest of the game which will impact the menus and special effects from the get-go. But hey, those have all been tested (in other levels) and seem bullet-proof.

Oh, crap. What’s going on? Right from the get-go, the camera is facing the wrong direction for the fly-through.  There are empty menu screens hanging around the screen for no reason. Stuff like that. It was running FINE last time I tested it…

… back in June…

… In a previous version of Unity.

Yeah, okay. There are a few reasons for “bit rot.” Doesn’t make it fun to fix it all, though.

Fortunately, by the end of the weekend 90% of the problems were fixed.  We’re almost back to the old demo, which seems so incredibly ancient to me yet is new to like… everybody who isn’t part of the team or a regular where it has been shown.  And hey, there were some nasty crash bugs last time that have gone away, some new and improved texturing in spots, Drama Stars (which won’t have any impact on the first level, really), some improved spell effects, more balanced spells and equipment, an automap, a world map, improved AI, and … well, a bunch of other things that nobody’s gonna notice. Except me.

Unless I fail to catch any more bit-rot. THEN people will notice. It’s like cleaning your house. Nobody notices unless you don’t do it.


Filed Under: Frayed Knights, Programming - Comments: Comments are off for this article

Comments are closed.