Here I Go, In Circles

Every so often I’m reminded I have a big Guitar Hero custom disc I was working on and I slog through a few more charts each time, getting them all polished in engine before I forget about it again. Not forgetting this one, I reckon; I think I may have found the most annoying chart in the game to port…and I ported it anyway. Meet “In Circles”.

Pretty standard Rock Band Network chart, from the outset.

Now, in case you don’t know my weirdass workflow for getting a song from another game working in GH2, here’s how it goes:

  1. Mix audio into stereo band, stereo guitar, mono bass. All the song definitions are already set up to match this channel mapping.
  2. Convert audio to VGS for the game, building practice mode audio alongside it by pitch-shifting. Make OGGs for FeedBack.
  3. Take chart into FeedBack. Add lighting and anims for the guitarists and vocalist.
  4. Modify the Expert drum chart to better suit the onstage drummer and the drum machine that keeps time in practice mode. Add anims for drummer.
  5. Export chart to MIDI.
  6. Take MIDI into REAPER. Copy Overdrive from original chart because FeedBack didn’t recognize it as Star Power.
  7. Add lighting keyframes on the TRIGGER track for more subtle cues. This is tedious, but worth it.
  8. Copy fretmapping data from original chart. If I had to do this for every single song by hand, I wouldn’t bother, but thankfully the original chart has the same format for fretmapping data, so I can have it.
  9. Export MIDI again.
  10. Add chart to the ARK. Build it.
  11. Test in-game.

It might sound like I’m complaining, but I’m really not. I enjoy the process. The charts come out really nice, I’ve had the compulsion to put something like this together since 2014 or so, and I’m autistic enough to pull it off. I consider it worth it in the end, really. Most of the time, I can have something done in about four hours. This is a science to me at this point.

Not this song though. This song took me about a day-and-a-half because of how many hoops I had to jump through, hoops that a normal, clean, on-disc or DLC chart don’t throw at me.

My first hurdle with this song was with importing the chart into FeedBack, my chart editor. It would only recognize the guitar part and not the bass or drums, which are both needed, obviously. Thus, they wouldn’t import. (Originally, the guitar track wouldn’t import either!) I fiddled with it a bunch, even trying to convert it with Chart2Mid2Chart (which I don’t normally use), but that didn’t recognize it either.

Chart2Mid2Chart ignoring two of the tracks in the MIDI I needed imported
You import what I tell you to import you little shit

I was about to fall back to using Editor on Fire (and I hate EOF) before someone finally noticed the track names weren’t what FeedBack was expecting (they were all called TEMPO TRACK instead of PART BASS and PART DRUMS). Initially, I blamed this on the original RBN charters, but someone else noted this could’ve been Bluzer’s fault, since I’m working off his Phase Shift rips and not the true, original charts.

Either way, sure enough, that worked. That was hardly the last annoyance though.

A lot of notes in the chart were quite literally a tick off from the measure line, so when I was doing a bit of note shuffling (both to patch this song’s intro, where it was off for some reason, and to make the drum track), I couldn’t actually move the notes in question, despite them being visually on the line.

A note being so very slightly off the line in FeedBack
We’re talking eight entire ticks off the line, finer than even 1/512.

Two FeedBack life hacks saved me here: Pressing Q lets you set a quantization interval above a 64th note, up to 1/960th (which I’m pretty sure is per-tick) and letting me kill the note most of the time. If not, you can select a region of notes with Shift and just delete them. Again, irritating, but cleared.

There was another problem with the chart, though. This fucking mess.

REAPER note length glitch
Unusable.

This is a REAPER problem and not a Bluzer problem, since it’s happened to me myself. For whatever reason, REAPER’s exported MIDIs, when imported back in, will totally forget note off events exist and just go bugfuck on the note lengths, making everything you do look like black MIDI.

As a result, I had to add the Star Power notes back in myself in FeedBack instead of copying them over from the original chart like I normally do. (Thankfully, and for all I know, this would’ve worked for Star Power too), I copied over the bugged fretmapping notes (at the bottom there) successfully. Seems like these note length glitches don’t actually prevent the notes from working as they should. I still hate working with them, though, so I try to use clean notes if I can help it.

Nope, not done yet! This is more MIDI tick fuckery, you’re gonna love this. So GH2 uses MIDI ticks to determine where the song select preview starts and ends. Normally, I create two fake events in FeedBack where I want the preview to fall, open the chart in a text editor, and use their position values, since FeedBack too uses MIDI ticks for its proprietary chart format:

349440 = E "xee"
357120 = E "lighting (color1)"
364800 = E "section verse_2b"
364800 = E "lighting (sweep)"
364800 = E "crowd_lighters_slow"
368640 = E "lighting (color2)"
[...]
424320 = E "twee"

Not here though! Those values are so high, they’re actually out-of-bounds of the chart and crashed the game when I tried to load the song. The solution here was to use Anvil Fucking Studio to grab the actual MIDI tick values. I haven’t used Anvil Studio in years, probably because it’s terrible, but hey, it worked.

Anvil Studio setting the position of a text event

So, at long last! I had the chart working. I still haven’t tested this in co-op to make sure the bass part works, but in singleplayer, everything worked better than expected. Finally. Here’s a capture:

Oh, the things I do for toy guitars.

Comments are closed.