Game development is hard work, and like many jobs, sometimes you've got to cheat a little bit. In a recent Twitter thread, game developers have come forward to share their most embarrassing workarounds, some of which are genuinely hilarious.
Prompted by Fullbright co-founder Steve Gaynor, the developers range from current indie designers to grizzled triple-A veterans, all of whom have stories to share about pulling out the duct tape when nothing else seems to work. In some cases, inexperience with coding or engine use forced developers to come up with bizzare solutions to what seem like simple problems, while in others, shipping deadlines meant coming up with something on the fly, quickly.
Stuff like this exists all over games: In Fallout 3, for instance, you may have heard that the moving presidential metro car you find in Broken Steel is actually a very large hat for an NPC. And there are plenty of 'field expedient' fixes that you never see that cover bugs and memory leaks and auto-save problems. Games are complicated, and unraveling a problem you discover toward the end of development might mean blowing a deadline or breaking a bunch of other stuff you've done in the meantime.
Check out our list of the best indie games on PC
Here's Gaynor's initial tweet, in which he kicks things off by itting to writing all of Gone Home's scripting in just two massive graphs.
please share your most embarrassing game dev crimes. Mine: all the scripting in Gone Home is contained in 2 gigantic uScript graphs, bc I didn't know about interlinking many smaller graphs at the time. It's only 2 bc the first one started running too slow to navigate. Your turn.
β Steve Gaynor (@SteveGaynorPDX) December 14, 2018
Vlambeer's Rami Ismail said they had to get a boss character to spawn on top of a procedurally-generated building, and so they came up with a brute-force solution:
https://twitter.com/tha_rami/status/1074116554965450752
Media Molecule co-founder Alex Evans worked at Lionhead Studios during the development of god game Black & White. The team ran into a memory problem:
on black and white 1 theres a memory leak we never found. so it detects if low on mem, saves, quits and restarts itself without explanation. ed overnight qa soak after thatβ¦
β ππππππ (@mmalex) December 15, 2018
Damion Schubert says the expansion pack for early 3D MMORPG Meridian 59 had a pretty significant problem: They had accidentally made it impossible to access.
I shipped an expansion pack where players had no way to access the expansion content.https://t.co/1sYhlKqoHf
β Damion Schubert β @ZenOfDesign.com on bsky (@ZenOfDesign) December 15, 2018
There are issues with pets in games, which sometimes do unexpected things β such as draw aggro on themselves.
I once coded an AI Pet, that after several fights would start spinning rapidly, and stop fighting. Turns out it existed in it's own list of enemies, so after a few fights it would gain so much threat it would consider itself the most dangerous enemy and attempt to attack itself.
β CynicatProπ (@CynicatPro) December 15, 2018
That car you drive in the moody, li-fi horror game Paratropic? Yeah, that's not really a 'car':
to solve a late in the day issue with the road clipping through the floor compounded by an obtuse rendering approach, the car in Paratopic is actually a gun
β jessica harvey π (@oysterFAKE) December 15, 2018
Then there was the time that the Kingdom of Loathing developers tried to back up their database but accidentally deleted it instead (the full story is behind the link, and it's a nightmare):
There was the time we dropped the entire Kingdom of Loathing database instead of backing it up⦠https://t.co/BirdMyDmHT
β Kevin Simmons (@puzzletheory) December 15, 2018
I quite like the virtual Rube Goldberg devices developers create to keep the illusion alive, like this solution to making time in Firewatch, shared by Jake Rodkin (who's now at Valve):
https://twitter.com/ja2ke/status/1074063590468968448
Even Brendan Chung, who's made games about computer programming at his company Blendo Games, has had to learn as he goes:
For the first version of atom zombie smasher, I didn't know how to put code in separate files.
So the game was pretty much all in one mega-sized C# file : (
β Brendon Chung (@BlendoGames) December 15, 2018
Maybe best of all is the fact that everyone's favorite Ur-RPG, Baldur's Gate, shipped in debug mode, according to BioWare's Mark Darrah:
Baldur's Gate 1 shipped in debug mode because it crashed in any other compile target (uninitialized memory)
β Mark Darrah (@BioMarkDarrah) December 15, 2018
We're hoping that won't be the case for Anthem, which he's working on now.
As players, we don't often get to see the creative ways developers get around problems that crop up as they translate big ideas into working games, and this peek behind the curtain is a thought-provoking (and funny) demonstration of how sometimes, there's just a bit of string and glue holding everything together.