Dirty Coding Tricks In Games

Gamasutra:

The game launched fine off the 512mb card, but we were getting periodic, inconsistent system lock-ups when attempting to launch off of the 256mb card. We wracked our brains for a fix, but ultimately decided that our coding efforts would be best spent making the game as good as possible instead of chasing down some ghost in the machine.

So we shoved a 20mb music file into the game data, pushing the total file size beyond 260mb. This totally precluded us from having to involve the 256mb memory card in the submission process. It was a good game that we shipped on time. Microsoft and our customers were none the wiser.

This article is packed with examples of the unimaginable hurdles faced when shipping real software. Whilst the general motivations of these anecdotes are tightly coupled to a bygone era, when software had to be burned onto physical media with immutable finality, the underlying problems of unexpected roadblocks, edge-case gotchas, and deadlines are as prevalent as ever in the industry.

Games, apps, websites. It’s all just software that is becoming ever more complicated and sophisticated. The normal human tendency is to treat an app as a finished, complete, thing. Behind the scenes, there’s a lot of glue holding the walls together of a constantly-changing structure with developers doing incredible gymnastics of engineering to make it all ‘work’.