What is A Path Too Far?

At A Path Too Far, you will find computer generated optimal Overdrive paths for Guitar and Bass in Rock Band. These paths are generated using a program created by Jeremy Sharpe.

In addition, the paths page contains many other interesting statistics, such as which songs have had optimal achieved, and which songs have the most unclaimed points remaining.

A leaderboard for firsts and optimals can be found on the stats page.

What is an Overdrive path?

Overdrive, when activated, doubles points earned in Rock Band for a short period of time. In order to maximize score, then, it is necessary to time Overdrive so that it is activated when there is a high note density. An optimal Overdrive path specifies when to active Overdrive so that it achieves the maximum possible score on a song. It may also require advanced techniques such as squeezing and early whammy to execute an Overdrive path.

How optimal are these paths?

The paths seem to be (through fairly extensive experimentation) very good estimates of the optimal paths, with a couple of caveats.

First, Rock Band 2 is buggy. It will occasionally randomly add or subtract 1 point from a player's score. This is why there are several high scores that are 1 point higher than the score predicted by the optimal path. This is likely due to floating point error in the Rock Band 2 engine.

Second - and this could also be considered a bug in Rock Band 2 - there is an obscure exploit involving lag calibration that can allow for outrageously huge squeezes. This is the cause of, for example, strikebowler585's super-optimal score on Snow ((Hey Oh)).

The first problem is impossible for me to take into account, since it randomly occurs, and I have no intention of taking the second problem into account because it's very hard to say what the hard limit on abuse of the exploit is, and it, to an even greater extent than squeezing, exploits the game engine in unintended ways.

Which paths are missing?

The following songs are missing due to bad midis:
  • Maxwell's Silver Hammer
  • Oh! Darling
  • Polythene Pam/She Came in Through the Bathroom Window
  • Sun King/Mean Mr. Mustard
  • You Never Give Me Your Money

The following songs are missing because the paths haven't been computed yet:
  • Anything released after 2009

When will paths for new DLC be added?

There are no guarantees about this timeline, but we try to upload the paths for new DLC a few weeks after it is put up for purchase.

We don't get paid for this, so if we get busy then this tends to fall by the wayside.

Why aren't there paths here for Guitar Hero?

Although the initial prototype of the optimizer was written for Guitar Hero: Aerosmith, the song file formats as well as gameplay rules differ considerably between between Rock Band and Guitar Hero, and I simply haven't taken the time necessary to translate the optimizer over to Guitar Hero.

I also don't play Guitar Hero games anymore, but that's not really relevant to you, is it?

However, for older Guitar Hero games, computationally generated paths are available at SlowHero.

How are songs extracted from the game?

Rock Band song charts are stored in midi files either on the game discs, or on the harddrive of a console for DLC, and are extracted from there by various techniques. Once extracted, the midi file is parsed (according to rules figured out by the ScoreHero community) and the resulting chart information is used to calculate the path.

What algorithm is used to find an optimal path?

Dynamic programming. The song is discretized into 12 ticks per beat, and the program works backwards through the ticks, running through every possible action on every tick for every set of circumstances possible on that tick, and recording the optimal score attainable from that tick until the end of the song. Once this reaches the beginning of the song, the answer is the optimal score attainable from the first tick until the end of the song starting with zero Overdrive.

If you're interested in further details, please contact me.

What language is the optimizer written in?

A mix of Perl and Java. I originally wrote all components of the optimizer in Perl because I happened to be fast at writing things in Perl, but soon discovered that the computationally intense task of actually finding the paths was ridiculously slow.

I then decided to port over the core algorithm to Java, and left the other components of the program (midi parsing, arranging the data in a convenient form for optimization, and rendering the path at the end, as well as a slew of other miscellaneous things) in the original Perl.

What language is the website written in?

Okay, I know you don't actually care, but the website is written in Python, using the excellent django framework. I'd suggest it to anyone.

How can I contact you?

If you have questions, comments or complaints, you can contact me at jsharpe@apathtoofar.com.


Special thanks go to midgetspy for contributing a lot to the code of the optimizer, as well as running the weekly updates for a while, and ajanata, whose awesome chart generation program saved me the huge amount of effort it would have taken to write one myself.

Thanks also to debr5836, tma, midgetspy, Kawigi, strikebowler585, and many other members of ScoreHero for their tireless work in the past and into the future in deciphering the intricacies of the Rock Band game engine.