Patching

Duckt Tape
There’s not much that’s worse than patching your game. Maybe GUI coding. Apart from that it’s a chore. I mean, look: You got a game you thought was complete, functional and an overall aesthetic product you’re really proud of. “Look, ma! I did it!”. And once you show it around people tell you about that terrible glitch they’re having, what features are sorely missing and your beautiful baby isn’t pretty enough for the community. They want something the game was never made for.

I consider myself a very structured person, especially as a programmer. I use very legible variable names, comment and document my code for myself (and keep this documentation up to date!), do proper indenting, and in general cross the Ts and dot the Is. Yes, my code looks rather nice, is really functional and performs as intended. Then you release the game and all hell breaks loose.

Almost three months after the release of Fine Sweeper on May 25th, 2015, there have been so many patches and bugfixes that I lost count. I could write a tool to count for me but let’s not get distracted here. The point is that with every new feature desperately tacked on the code became uglier. Refactoring 80% of an otherwise finished product is out of the question when your players who bought the game for good money are knocking on your door with lit torches and very pointy pitchforks. So you cobble something together and just hope that it won’t break anything else in your code (spoiler: it usually does). And then people notice all what’s freshly broken, report the bugs and you’re in for another round. And with every iteration of macgyvering something usable together, the beauty of the code crumbles and with each new release, debugging gradually transforms from a nuisance into an utter nightmare. There are global variables with local overrides all over the place; attributes get passed around worse than Milhouse in San Quentin, and the bugs that keep popping up are harder and harder to squat. Figuratively speaking, when at first I was escorting ladybugs out the window with a smile, I am now in a desperate fight against the Brainbug, flailing my arms at it in utter despair. Every new attempt of a “final fixed version” gets picked apart by your community within hours resulting in a generous to-do list crawling with vermin. Your once pristine and slick Lamborghini of a game now looks like a muffler tacked onto a clogged engine on pushcart wheels, held together solely by blood, sweat and good intentions. And duct tape. Miles of duct tape, or whatever the programmer equivalent of duct tape is. Probably global variables.

And that’s what I’ve been doing the past hours — coughing up another patch. It feels like trying to push a camel through the needle’s eye. Or rather, like cleaning out a latrine: You don’t want to descend into that shit hole because you know what you end up seeing won’t be pretty. You will work your ass off and at the end of the day all you did was flung crap around. You might feel like you’ve accomplished something, but in truth you just made room for some new shit to drop. It never ends. And all because you wanted to do a good job. You wanted to offer the best game you could to everybody who bought it. You feel you owe it to them. You want them to like you and your precious baby.

I hope one day I can put an end to this cycle and stop patching the game for good, taking it out in the yard to shoot it once and for all. But as soon as I am thinking about that, I feel incredibly guilty, like there still was a little I could do to make it better, apart from completely re-writing it from scratch. I can only take the feeling of guilt of not working on the game for a couple of days, weeks at best before I grab my shit-shovel and proceed to the latrine of my own making, shuffling shit around. And with a smile on my face, I hate every second of the game I once loved so much before I showed it to anybody.

So yeah, patching sucks.

Article by Phil Strahl

Phil got released around the same time as the Famicom and has since been constantly updated and bugfixed. Yet still, he considers himself to be in Early Access. Splines have been reticulated.

Leave a Reply

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

Time limit is exhausted. Please reload CAPTCHA.