The Bard's Tale Developer Diary #4

In GameSpy's fourth installment to their Bard's Tale developer diary, lead engineer John Alvardo talks about crafting the karaoke ball that bounces from word to word during the game's music. Check it out:
My initial thinking was that I would have to create time offset and text offset pairs for every word in the song. I started by defining a timing notation I could insert into the actual lyrics text for each word in the song. But it soon dawned on me that I could take advantage of the fact that songs have regular beats for the most part and the words tend to fall on beats or half-beats. So instead of having to time every word, I made the parser assume that words fall on half-beats. Then I only needed a couple initial time markers to establish the beat, plus some rests beat markers and occasional time corrections. I also needed a way to note exceptions to the word per half-beat rule. I made up notation for breaking a long word into syllables for multiple ball bounces and for merging multiple short words into a single bounce.