Even One Word

The Blog of Nathan St. Pierre

top

LOTRO Music - .abc or not tobc Tuesday, November 2, 2010

I've been spending a lot of time trying to decide whether or not I want to continue my work on a dynamic music engine for a video game system, but I need to determine which language it'll be in and decide how to integrate it with an existing game engine... so in the mean-time I'm doing a lot of "research" (read-- playing video games with my headphones on).

Lord of the Rings Online (which recently went free to play, so go check it out if you have a second) has a surprisingly interesting music system. You can play instruments in-game by equipping an appropriate instrument and then doing one of two things. You can bind certain keys on the keyboard (or mouse, gamepad, etc) to certain notes, and then when you enter music mode, your character will play those notes. The other way is that you can load .abc files up from a command-line-like interface (/play filename.abc).

There are certainly some interesting things to say about it, so I'll break my comments up into pros and cons.

Pros

  • The system allows you to synchronize with other players and play music together. The fundamental mechanism of this relies on you both having either the same text file or text files that were designed to be parts for each other. ABC Notation utilizes a key and time signature at the beginning of the file, so these must be the same in order to work.
  • It actually stays pretty faithful to a lot of the conventions of the (admittedly) limited ABC system, including chords, multiple layers of moving parts, and transposition.
  • There are a lot of tools out there ready-made to bind midi inputs to key binds, which allows you to plug in any midi controller that you're comfortable with and start playing. This overcomes the limitations of "nth-key" rollover on your standard computer keyboard.
  • Sites like The Fat Lute exist to make a much more interesting set of repertoire available to the LOTRO player.
  • Little eighth notes float up above your player as you play, and follow a slightly curved path. The notes are colored based on your instrument. This could have been cooler if they changed color based on your note or moved slower or faster, but it's still a neat effect, and it makes it obvious when someone is spamming some pop song in a public space.
  • As hinted before, you can hear player music, which can be adjusted with the volume sliders. This is very handy, especially with pick-up-groups of people who choose to randomly play the Ghostbusters theme on bagpipes every time the group stops moving.

Cons

  • Some of the instruments (mostly the wind ones) are HORRENDOUSLY out of tune. At first, I thought they were trying to mimic the conventions of Just Intonation which would keep a pretty good historical perspective. This is unfortunately not the case, it seems like it just gets more out of tune the further you stray from C-4 or C-3 (depending on the instrument). This leads me to believe they employ an erroneous method of re-sampling, or they are using a limited number of samples stretched over a long range, or both.
  • There is no real standardization for drum notation in ABC, which is remarked on in the drums section of The Fat Lute. A drum standardization project is supposedly in the works, but I haven't seen any progress on it in years.
  • They attempt to account for lag, but all of the processes by which they do it cause some serious issues. Turning off quantization makes the system more responsive, but also makes it all but impossible to synchronize with other players. Using the in-game synchronized .abc performance is the only way to make it work, and that has a series of limitations.

Conclusion

Honestly, I really enjoy the fact they included this feature. My main curiosity is why they didn't use a more standardized system like MIDI. That would be incredibly easy to supplement with any number of instruments via simple soundfonts, and there are already a HUGE number of libraries in place to utilize both of these sytems.

In the end, the game is full of stuff that most MMOs don't bother to try, and I think that is really boosted by the Tolkien setting. But like most other games, the developers made decisions most likely based on what was easiest or most cost-effective to utilize.