Guitar Hero II Deluxe: The Road to 2.0

(I don’t normally do big, formal announcement posts for big projects I’m involved with on the Scratchpad, but the team and I weren’t sure of a better spot for this to go and it’s in my voice anyway, so why not? For my like three regular readers, I’ll be back to my more usual personal project stuff soon. For the bunches of people who will get shared out this post because DX hype, hello!)

This post was prompted by the realization that the last DX alpha release was nearly four months ago, as of writing this. Those alphas are massively, massively out of date by now, and yet we were still regularly getting people grabbing them and looking for support on bugs that got fixed months prior.

While we officially launched Guitar Hero II Deluxe on May 17, 2021, launch really was only the beginning of the project. Nowadays, it’s grown a lot bigger. Since we’re approaching the official re-launch of GH2:DX, I’d like to bring you the story of how we got here, what’s new in the oven, and look back on how DX has affected the state of old-school rhythm gaming and modding.

The story of post-launch

We’ve debated subtitling 2.0 as the “jnack Wasn’t Done Edition”, because frankly, that’s exactly what it is. 1.0 wasn’t even cold yet when jnack started releasing alphas for what we termed 1.1. First, it was a better Free Play flow. Then it was “porting” the more detailed 360 HUD and strikeline to PS2 (seriously, play at the highest render resolution you can in PCSX2, it’s awesome). Then it was improved HO/POs, making them more visible for all the folks who couldn’t much tell the difference before.

And then things started getting a little weird.

jnack and I theorizing about GH2 drums in DX
“It would be its own build”–if we only knew.

I remember the exact day I joked about jnack getting drums working again just for the hell of it. If you’re not aware, drum gems (even what looked like Pro Drums gems!) were found in the files of the very first GH2 demo, the one that shipped with Official PlayStation Magazine #110. What a neat find! Granted, they were still only gems, very little of the original drum code left in the game, certainly not enough to just re-enable drum support, but even still–that was enough to get something that looked like GH2 drums working.

Moose playing the initial dopey drum demo hack, which is literally just the drum notes plonked onto the guitar track. Lovely.

Granted, while jnack might’ve faked it in his initial “four-song” drum demo, fairly soon, one of the scene’s star coder folk, ihatecompvir, was brought in to make drum parts properly functional, defining the proper MIDI tracks and pitches, and drums became a third selectable instrument alongside guitar and bass. While the specific build isn’t released yet, Onyx also updated his Music Game Toolkit to import drums from charts that have them.

Here’s more what you can expect to see shipping in 2.0. Good call on making all the notes the tom gems, honestly.

That’s when we knew that we couldn’t simply call this new build of DX 1.1. There was so much in it, 1.1 would’ve been selling it short. 1.1 quickly became 2.0–the build that re-enabled an entire cut game mode that Harmonix literally never intended to be played, and left little more than a few text strings on the final disc for.

But jnack still wasn’t done. Part of his idea for Deluxe was to not only improve what GH2 already had, but bring in all the relevant content from Harmonix’s other two Guitar Hero titles, the first game and Rocks the 80’s. While GH1 stuff had to be dropped for space and for porting limitations, we’ve long known that 80’s stuff is basically interchangeable with 2 stuff, given that the game is essentially a giant 2 reskin.

While it was cool to have three outfits for Judy on the same disc, what if it were possible to have 80’s itself in full on the same disc? Somewhere down the line, we realized that we could repurpose the game’s macro function, which allows script to run only if the executable is designated as a “ship” build as opposed to a debug build, to be a general-purpose executable conditional function.

In English: you can choose which game you want to play at startup–and GH2 will look entirely different and have a completely different setlist depending on your choice! 2 and 80’s finally coexisting on the same disc, and if you really truly never want the party to end, we’re throwing in a “mega” build–all of 2, all of 80’s, in a 14-tier marathon of pure rock debauchery.

2.0 indeed.

New features coming to 2.0

The story aside, here’s some bulletpoints of what to expect in 2.0:

Drums

Yeah, this is the big one. While the game still doesn’t directly support drum controllers, you can map your drum controller to buttons on a DualShock in PCSX2 (or pademu in OPL) and play five lane (four pads + kick) drums in GH2 as originally intended by Harmonix.

Charts that have a drum channel array defined in their song definition will show a drum part available to play alongside guitar and bass. We’re still not sure how many songs will ship with drums–we’ve got six already from RBDLC and other sources, and we’re aiming for (and I’m furiously charting) a campaign of 24 total–this’ll include songs like “Bad Reputation” and “YYZ” with crazy drum solos, and “Police Truck” with furious punk drumwork. It’s a pretty tight engine–show us some magic, folks.

Rocks the 80’s, in full, on the same disc

Remember all that conditionals junk I was talking about? We meant it; everything from Rocks the 80’s will ship with 2.0 as Encore Deluxe. Songs, loading tips, character outfits, recolored venues–all of it. You’ll be able to pick your flavor at startup using a lovely Sony-built bootloader that I explained the history of on the blog prior, either just 80’s, just GH2, or both in the same campaign, all with separate saves so none of them conflict and corrupt each other.

DX Encore

That’s not all though! We’re enhancing the 80’s experience as mildly as 80’s itself:

  • Now that we have a build of 80’s with the long-lost “I Want Candy” chart intact, the setlist will be reorganized to reincorporate it.
  • “Metal Health” will feature the cut solo, along with some miscellaneous improvements I made to it long ago.
  • “The Warrior” and “I Wanna Rock” will feature in master versions like the original game, but without the awkward fadeouts featured in both.
  • “Ballroom Blitz” will be an enhanced version of the far better charted demo chart. (Ironically, DX patching out the strum limit makes the final chart piss, but it’s still not a good chart, so out it goes.)
  • “Because, It’s Midnite” will be purchasable in the store.
  • All 80’s MIDIs are getting bugfixed for broken section and lighting events. Did you know “Police Truck” had sections for a solo all along?

Still, that’s 30 more songs! And you don’t need a second disc for them anymore. What more could you ask for?

Oh yeah, all these:

Usability enhancements

  • Redesigned Free Play flow: 2.0 condenses the guitar, character, and venue select in Free Play down to a big master menu, so you won’t have to see four different screens every time you wanna play a song. (The entire process is skipped if you have Focus Mode on, since no venue appears in Focus.)
  • Extras menu: GH2’s cheat codes are a bit cumbersome to remember, perform, and change from region to region. Free Play now allows you to set cheats using a list of checkboxes instead.
  • No Fail: And the first new trick of the Extras menu! No Fail is no longer just for the Rock Band kids; set this and you’ll never get booed off stage. (The needle will get stuck at the bottom of the meter instead, by the way. Star Power is the only way to get it to pop back up, so don’t think you can fool people into thinking you didn’t fail.)
  • Note streak counter/FC indicator: GH2 finally has a note streak counter, directly above the score meter in the HUD. The digits will glow orange if you’re on an FC run and white if you’ve blown your streak.
  • Exit to Practice: In the middle of any song, you can now quit right to practicing it from the Pause menu, no strings attached.
The new DX Extras menu

Graphical improvements

  • 360 strikeline and other HUD improvements: They said it couldn’t be done, but jnack managed to get (something very close to) the 360 strikeline on the PS2. The score counter also now features seven digits, because customs these days have lots of notes. No more missing multiplier symbol on emulator either!
  • ROYGB frets toggle: We didn’t ship 1.0 with a way to toggle the original fret colors back because Scott couldn’t figure out how to get such a thing working. Well, we’ve got it now, so if you’re bothered about the “random” fret colors, check the Extras menu. You no longer have to rebuild the disc to change them back, and you’re welcome.
  • Streamer Mode: Streamers oftentimes arrange themselves, the note highway, stream chat, and other various gadgets on screen in various ways. 2.0 now features an off-black highway you can set in the Extras menu that, when paired with Focus Mode, lets you composite and cut out parts of the game HUD as cleanly as possible without also cutting out the fretboard background in the process.
  • Enhanced HO/PO notes: Those of you coming from more recent GH games might not feel the HO/POs in GH2 are all that visible. Now, their tops are bright white; you practically can’t miss them.
DX, showing off the improved HOPOs, red SP, and author names

Modder boons

  • Author names: The “MTV overlay”, that text that appears at the start of a run, will now display the author of the chart. For the base game, this will largely be Harmonix, of course, but for customs, either manual ones or ones added through Onyx, you can set totally custom author names so the original authors get their due.
  • More setlist slots: We forget the actual number, but you can have around 200 songs on a single setlist now…provided you can make them all fit into a 4GB ARK. You likely can’t without some serious audio work, but if you really wanted to make it happen, ~200 song slots await you.
  • Split/sorted locales: Anyone who’s wanted to change text in GH2 has had to deal with the game’s gigantic locale.dta script up until now. 2.0 will ship with strings for loading tips, characters, guitar flavor text, sections, etc. grouped into different files so you have to do much less digging to find the string you want to change.
  • Extra Practice sections: Speaking of sections! For those of you charting customs or porting charts, all of the sections available to Rock Band modders are now fully featured in their own locale files. If GH2’s section names never quite cut it for you, you’ll have a lot more to choose from now.
  • Additional note and strikeline colors: While a few less people will probably see them now that you don’t have to rebuild the entire game just to change the fret colors back to stock, if you’re still digging around in track_graphics.dta, there’s five additional colors you can set. Purple, black, gold, silver, and pink frets await you. Feel free to set them in any order you want, or to set all five to gold if you really want.

The fate of the other DX discs

With all the new work that’s been done on GH2:DX, where does that leave the other promised discs in the Deluxe family? If we stopped at 1.0 with a specific set of features and immediately started work on getting those into the other games, some of these would have already come out–but as you know, history didn’t work like that.

GH2:DX for PAL

GH2:DX PAL is probably the easiest one of the lot. It was promised for a few days after NTSC DX 1.0 and has yet to happen. Putting the game into PAL mode would’ve been Scott’s domain, but he took a break after we shipped and when jnack started work on all those new features, we decided to hold off until 1.1 (and now 2.0) came out.

PAL DX is still Scott’s domain, but with any luck, he’ll still be game for it. He’s been tending to real life things as of writing this, so we haven’t been able to check.

The GH2:DX Expansion Disc

Those of you who have beaten Expert Career in GH2:DX are aware of a fabled “expansion disc” that involved much strumming:

The Expert Career complete screen in DX 1.0

Of course, the discovery and patching of the strum limit was monumental news for top-tier players who have been playing customs with strumming far, far faster than 16NPS for years now. With so many legendary community songs, not to mention official Harmonix and Neversoft charts (like “I’m the One” from Van Halen or “Green Grass and High Tides” from the first Rock Band) that clip if not blow past the strum limit, we wanted to round up a gigantic batch of them and put them on their own disc where they show off what GH2:DX’s modified engine was capable of.

There hasn’t been much progress on it for really one simple reason: I’m the only charter officially on the GH2:DX team. jnack has toyed with the venue control functions in charts, but as for authoring notes or doing proper ports, that’s all me, and I have seriously limited knowledge of later GH games, bleep bloops–the stuff we’d want on a disc like this. (Not to mention, I have a bunch of my own discs to still finish…)

As a result, the expansion disc is still mostly an idea with a Google Sheets full of potential song choices attached to it. I still think it’d be fun, but the impact’s been blunted a bit with the release of Customs Edition and Onyx making it easy to get any old CH chart into GH2:DX. I think if it were to happen now, the focus would be just as much on songs that take advantage of bass and drum quickplay as it would be charts that bust the strum limit. As it stands, the idea floats out there, but no one’s officially working on it.

GH1:DX

Now we get into the realm of the theoretical discs, ones not promised but theorized about by hackers, players–really the whole community. When GH2:DX dropped, people started asking about the DX experience in the other two Harmonix GH games, the first one being an obvious candidate due to its rough edges, bad charts, strict timing window, and “nonfunctional” (read: they work different than you’d like them to) HO/POs.

What made DX possible is a little discovery called the debug executables. You might be aware of a little event that happened back in March 2021, the first wave of Project Deluge. Project Deluge (which is still ongoing) has been a project to archive and salvage games demos and press builds collected by an anonymous longtime gaming journalist. We got two Guitar Hero related items through the PS2 lot of Deluge, an early build of the first game (which we didn’t even know existed before then) and an early build of Rocks the 80’s).

The really special thing about both of these discs is that they were debug-enabled. Many games have a debug menu that can be accessed by jumping to a certain point in memory or by re-enabling some flag in memory–not Harmonix games. Harmonix built debug functions directly into their games and then patched them out on shipping builds. This means that, while references to debug shipped in the game’s scripts and we’d known about them for ages, we couldn’t make use of them until we had game executables with the debug functionality intact.

Two PS2 executables loaded into Ghidra
(click to view at full size)

On the left is the debug executable for Rocks the 80’s, and on the right is the retail executable. As you can see, the KeyboardPoll function (where the game takes keyboard cheats) is properly patched out on the retail game. Without the Deluge builds, these functions would be completely unusable.

If you’ve never written any custom code for a game, you might not understand how frustrating it can be to try and work around someone else’s work without a clear idea of what exactly it’s not liking about your additions to it. Debug not only gives us a ton of fun (and useful) toys to play with, like the ability to check heap sizes and framerates or enable the bot in the middle of a run, but we also get a full script and code trace on game crash, rather than a nondescript freeze like we’d get on retail builds.

The GH2 debug executable crashing
Normally you get a code stack trace too, but back when this screenshot was taken, DX was set up in a funky way that prevented code traces from working. All good now!

The ability to see the exact DTB node the game is choking on, the ability to see which crashes are benign (as in, someone forgot a parenthesis) and which ones needed pretty relentless pursuit, is singlehandedly what has made the team’s efforts possible. To that end, a GH1:DX is theoretically possible, yes. We even have executables with the strum limit patched out (which might still get released) and “GH2-like” HO/POs (by abusing the ghosting protection–those builds probably won’t get released).

Here’s the weird part. The debug build we have for GH1 is not final. There’s a truckload of differences in visuals and functionality in that prototype, and retail ARKs (the file containers the game uses) will not work with the prototype executable or vice versa. While we’re not aware of anything truly missing from the prototype, it’s still a different beast from the final game, and given the community’s confusion and distaste over how strict the engine is, a full GH1:DX, if it was ever planned, likely won’t happen.

That said, there have been attempts at a full game port of GH1’s characters and songs to GH2, the latest one being from (who else?) jnack and I called GH1 Redux. He’s been doing menu, character, and graphics stuff, and I’ve been charting bass to make those songs fully playable in the DX engine. I wouldn’t expect the full thing any time soon, but…a few songs will make their way into your hands. It’ll be a surprise.

Here’s a look at what we’ve got going on:

GH2:DX for 360

And here’s the really bad news. I know of a ton of people who do their GH2 modding exclusively on 360, and I’m sorry to tell them: GH2:DX for 360 is not looking particularly likely at the moment.

Here’s the short of it. Remember all the debug stuff I mentioned earlier? That’s not a thing on 360. Project Deluge has yet to drop any Xbox 360 materials, and while GH2:360 press builds were known to have gone out, it’s anyone’s guess if they’ll feature debug capability.

If debug was important for 1.0, it’s necessary for 2.0. With all the hacking done on the milos, everything being switchable, drum gems, model edits, there’s simply no way we’d be able to pull off a 360 port without having debug. There’s far too many unknowns, maybes, and total guesses to make porting without debug feasible.

Worse yet, some of what we know to work on PS2 doesn’t work on 360. Some of the easter egg screens have been known to softlock 360. Editing the song name (say, to append the speedup percentage) simply makes the “MTV overlay” (that entire block of text) invisible altogether. Why this is, again, no one can say. You wouldn’t think the two versions would be altogether different under the hood, but enough of it is that a straight port of even what we currently have working isn’t possible without debug.

Realistically, even with debug, at this point, we’re just not interested in essentially rebuilding GH2:DX 2.0 a second time for an entirely different architecture. I’ve modded games before. I was toying with the Source engine as a kid, and I still occasionally like to make new levels for Quake. The process of modding any console game is infinitely harder than modding any PC game. There are no game devs giving you nice tools, and PC games don’t tend to fail to see their own files on a regular basis (as GH2 has done to three of us now).

GH2:DX is stretching what we can feasibly pull off with GH2 seriously thin–and doing all that over again to give the frankly smaller half of the GH2 community all of this is just not appealing at the moment, not to me, not to jnack, not to Scott. It’s like how studios like Pi Studios would handle porting Rock Band games to Wii and PS2, or Budcat and Vicarious Visions would do the same for the Neversoft Guitar Hero games. Porting an entire game is a serious undertaking; we’d basically need an entire team or another few years (and again, debug) to make it happen.

Again, like with GH1, we do have a version of the 360 executable without a strum limit. All else fails, we can simply toss that out for anyone to make use of in their discs while we hope to eventually have a debug-equipped GH2:360 executable in our possession. For now, though, it’s a pipe dream.

The impact of DX

We (as the DX team) have marveled at just how quickly this little project has grown in 4-5 months. DX was originally proposed as “GH2: Community Edition”, the idea being to toss the strum limit fix and some other miscellaneous stuff that our scene was up to into a disc and call it a day.

And then the features got more wild. We spent a lot of time determining the upper limit of how fast a song could run off various boot media before you’d start getting stuttering. We got a proper fix for longer setlists, enabling the nearly 75-song 360 campaign to be fully playable on PS2 as if it was always intended. jnack, who showed up not long at all before work commenced, reskinned a huge chunk of the menus using art from the original artists, giving DX a fit and finish that felt totally stock, despite being brand new.

1.0 is downright conservative compared to 2.0. There were no essential Milo edits in 1.0. 1.0 didn’t practically re-enable an entire cut way to play the game. 1.0 didn’t use a bootloader and pack in 80’s as an extra campaign. jnack pretty much singlehandedly did everything in his power to reuse cut content or to bring the entire world of Harmonix GH into this one singular disc, and lots of other people had a hand in both bugfixing existing features (thank you Nataniel for fixing bass animations) and making new features properly functional (thank you ihatecompvir for making drum parts and parsing a thing).

DX 1.0 jumpstarted the shift that turned MiloHax from a tiny hangout of tinkerers into a place whose name is associated with quality mod projects. As late as 2019, people, even regulars in this server, were still using long-outdated tools like GHEx just because they were the most convenient option. Now, Onyxite has made it officially obsolete with his Music Game Toolkit, allowing any CH or RB chart to be ported into GH2, even piggybacking off some of the new features in 2.0 (like the Author field, or importing drums as their own playable part).

As a result, the number of disc projects that have seen release has skyrocketed. The most you’d get prior to this year were some limited early alpha ISOs posted only in the server. Now, aside from DX itself, we’ve seen all new, Harmonix-quality, stems-included-and-all setlists from people like AddyMills, seen games like GH3, Warriors of Rock, and (yes) Rock Revolution ported wholesale into GH2, and yours truly finally released the first volume of marfGH, each a pack of brand new songs and ports, after nearly seven years of chasing it. Some of the attention has spilled over into the Rock Band scene as well; bye strum limit, hello 60FPS venues.

At home, it’s been crazy, but the wildest part has been seeing our work here in the English-speaking GH world trickle out internationally, bringing the South American GH2 community right to us, occasionally for better, occasionally for worse. For better, some of our most talented hackers are from down there (hi Clippit, hi Nataniel). For worse, we’ve seen a ton of downright awful charts and disc ideas (not that that’s new or anything, hence GH: Iron Maiden).

What I don’t think any of us could’ve imagined is seeing that work get sold on eBay, or seeing that (occasionally unfinished) work get used as selling points in the discs of people we’ve never even met. We would wonder all the time during 1.0’s development if what we were doing would even still work with GHEx, and to this day, we still occasionally get people showing up and trying to use the DTB Editor or the GH2 Name Editor, tools that are either completely obsolete or have a massively reduced role in a world ruled by Onyx and Mackiloha.

Some jackoff selling GH2DX for us
Funniest bit? He’s selling Customs Edition. $30 for “Speed Test” burned to a DVD-R.

It’s a reminder that the internet truly is a global place, and GH2 didn’t just come out in the US, Canada, and Europe. People who don’t even really speak English have played our work, built it into their projects, maybe even tried to sell it! (Seriously, please don’t buy bootleg DX. We have seen it and it’s hilarious, but save your money. Send us a link and let jnack or Moose buy it instead.)

We might look at MiloHax, sitting at nearly 700 members as of writing this, and think it’s big, but it really doesn’t even begin to encapsulate the entire GH2 community.

Bit of a trip to think about.

tl;dr

If you’re not a huge fan of reading, let’s sum up.

GH2:DX 2.0 is coming soon. It’s gonna have some huge improvements to old features, bugfixes, and a whole slew of new features to make new content and setting GH2 up however you like it easier than ever. 80’s will come packed in as an option on bootup. With the right setup and charts that support it, you can play drums.

For follow-up discs, nothing official for GH1, though we’re toying with a full port and full bass splitting/charting separately. GH2:DX for PAL regions should be a cinch, should Scott pursue it (I’m clueless on that front and jnack doesn’t have an interest in doing so). A full Xbox 360 port is basically out of the question, unless a debug-enabled 360 executable is recovered for bugfixing.

We’ve never been one for official release dates, but we have a single big-ticket feature that still needs to be finished up, and the rest is just tweaks, polish, and bugfixing. If it’s not out before the year’s out, join MiloHax and bug us. We’ll probably show you how hard it is to mod this game and hopefully you’ll understand. November 7th. 15 years of Guitar Hero II. That’s when we’re shipping.

Thanks for playing DX and being on this ride with us, everyone! No one could’ve predicted just how big it’d become, both in response and in scope. Unless someone gets us commented engine code (or binders :420:), I wouldn’t expect a 3.0–but a 2.0? That, we can do.


One Response to “Guitar Hero II Deluxe: The Road to 2.0”

  1. John Milo Says:

    2.0 sucks and u should just stop making it right now, u whine about having a debug build lol