The heyday of plastic guitar-based video games might be long gone, but their most die-hard fans have refused to move on from 2007. Despite Guitar Hero Live and Rock Band 4, the ten-year-old Guitar Hero III: Legends of Rock remains the favorite among shredders and modders who have continued to hack new and increasingly difficult songs into the aging game.
But not without issue. One glaring problem with Guitar Hero III, as modders discovered and doubtlessly exacerbated, is that the game's playlists can only support a certain amount of songs. Devoted players, with libraries of dozens of unofficial songs, would find the game crashing on its menu, unable to bear the weight of these extra songs. At least until superfan got his hands dirty and hacked in a fix.
The process of debugging any piece of complex software can be extremely complicated—every bit and variable affects a dozen other things in other places and any change can have ill-effects that ripple out seemingly randomly. But ExileLord's challenge was even more severe. Since Guitar Hero III is not an open-source game, he couldn't even look directly at the code, instead reduced to using various tools to peek inside at portions of the inner workings whenever the game would crash. The result is a game of technological Whack-a-Mole where every swing of the mallet takes ludicrous effort and technical skill.
ExileLord documented the whole process, and while it gets technical at parts, it's still immensely fascinating:
The problem, as ExileLord discovered, is that Guitar Hero III creates a finite supply of "text box" objects when it starts up, and if the program uses more than are available, it has no backup plan and crashes. And after hunting down the variable, the fix is as simple as pumping up the number as high as it goes.
But while the original problem may have been fixed, ExileLord found that a new crash has started appearing, but only after the addition of many, many more songs. When you fix one bug, it just makes room for another one to show up. So it goes.