How One Hacker Dove Headfirst Into Code to Fix a 10-Year-Old Bug

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.

Advertisement - Continue Reading Below

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 ExileLord got his hands dirty and hacked in a fix.

Related Stories

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.

Advertisement - Continue Reading Below

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.

A Part of Hearst Digital Media
Popular Mechanics participates in various affiliate marketing programs, which means we may get paid commissions on editorially chosen products purchased through our links to retailer sites.