Beat Detection, FMOD, Graphical Changes, and More!
by Griffin Milsap · 11/12/2006 (10:19 am) · 12 comments
Well, its been a long time since I've posted a plan about pulse, as I've been a little tied up, but I have made more progress on my rhythm game called pulse. (See first .plan for details)
I've decided to tweak the graphical feeling of the game, to something more innovative, and interesting. The whole level shakes and jiggles with the beat of the music. Thats why the lines in the screens are shown to be not connected properly.

I've tweaked the reason for the game too. Originally it was going to be a conventional story based racing/rhythm game, but now, I've decided to make it into more of a toy, like Dance Dance Revolution. Instead of progressing through defined levels, the user can input any song file (Mp3, Ogg, Wav, Streaming Web media) and play a dynamically generated level with their selection of music. Each music track will have a unique universal code associated with it, which assigns a stepfile to the music, in case the user wants to define the bpm of the music and make their own beats for the song. Then the user can share the stepfiles with other users.

Unfortunately, due to legal reasons, however, user defined levels cannot be played in network multi player levels. The network play is limited to song packs of licensed music from indie bands and DJ's. Also, there will be some public domain music in these packs too. Each pack of music will cost from $4 to $8 and will contain around 10 to 15 tracks. The game itself will probably retail for $10 to $15, so music packs will generate most of the income for the game. With more sales, I Can license better music for multi play, and make the game better overall. Multi play songs will have defined stepfiles, and not code generated levels.

As for generated levels, I've successfully integrated a Beat detection algorithm which detects peaks in the amplitude of the sound. It first splits the sound into different frequency sub bands, then listens for peaks in different frequency sub bands of the music. Its surprisingly accurate, though no screen shot I can take will demonstrate this. Open AL simply didn't cut it for my game, so I went ahead and implemented FMOD EX. [url = "http://www.fmod.org"]http://www.fmod.org[/url]. Although a resource exists to implement FMOD 3 into torque, the resource doesn't work for FMOD EX, so I've collaborated with the author of the original, and got his permission to modify the resource and repost it for people who want to implement FMOD EX in their games. The resource should be coming shortly.
Unfortunately, school has started again, and its getting harder and harder to find time to develop my project. I don't know when it will be done, but I hope to maybe get it out after summer next year.
-Griff
I've decided to tweak the graphical feeling of the game, to something more innovative, and interesting. The whole level shakes and jiggles with the beat of the music. Thats why the lines in the screens are shown to be not connected properly.

I've tweaked the reason for the game too. Originally it was going to be a conventional story based racing/rhythm game, but now, I've decided to make it into more of a toy, like Dance Dance Revolution. Instead of progressing through defined levels, the user can input any song file (Mp3, Ogg, Wav, Streaming Web media) and play a dynamically generated level with their selection of music. Each music track will have a unique universal code associated with it, which assigns a stepfile to the music, in case the user wants to define the bpm of the music and make their own beats for the song. Then the user can share the stepfiles with other users.

Unfortunately, due to legal reasons, however, user defined levels cannot be played in network multi player levels. The network play is limited to song packs of licensed music from indie bands and DJ's. Also, there will be some public domain music in these packs too. Each pack of music will cost from $4 to $8 and will contain around 10 to 15 tracks. The game itself will probably retail for $10 to $15, so music packs will generate most of the income for the game. With more sales, I Can license better music for multi play, and make the game better overall. Multi play songs will have defined stepfiles, and not code generated levels.

As for generated levels, I've successfully integrated a Beat detection algorithm which detects peaks in the amplitude of the sound. It first splits the sound into different frequency sub bands, then listens for peaks in different frequency sub bands of the music. Its surprisingly accurate, though no screen shot I can take will demonstrate this. Open AL simply didn't cut it for my game, so I went ahead and implemented FMOD EX. [url = "http://www.fmod.org"]http://www.fmod.org[/url]. Although a resource exists to implement FMOD 3 into torque, the resource doesn't work for FMOD EX, so I've collaborated with the author of the original, and got his permission to modify the resource and repost it for people who want to implement FMOD EX in their games. The resource should be coming shortly.
Unfortunately, school has started again, and its getting harder and harder to find time to develop my project. I don't know when it will be done, but I hope to maybe get it out after summer next year.
-Griff
About the author
#2
11/12/2006 (1:47 pm)
That terrain wireframe is really cool.
#3
11/12/2006 (2:21 pm)
Thats awesome... Will be looking forward to the resource.
#4
11/12/2006 (3:07 pm)
nice shaders! Looks great. Is this TGEA?
#5
Looks pretty neat!! ;)
The wireframe looks awesome, like the dis-jointed glow effect.
Nice to see another teenager with torque.
GOOD LUCK!!
P.S. mp3 = moneyhole. www.mp3licensing.com/royalty/games.html :(
11/12/2006 (3:26 pm)
Ah, reminds me of good ol' vib-ribbon. What with the wireframe and the "make it happen to your own music".Looks pretty neat!! ;)
The wireframe looks awesome, like the dis-jointed glow effect.
Nice to see another teenager with torque.
GOOD LUCK!!
P.S. mp3 = moneyhole. www.mp3licensing.com/royalty/games.html :(
#6
The game is entirely done in TGE 1.4. I applied a CG shader for the blur, and there is a motion blur too. I went into the game rendering code for the wire frame stuff though
Vib ribbon was a big influence :P
-Griff
11/12/2006 (5:17 pm)
I will have lots of licensing fees in the near future, but I feel that I can afford it. Mp3 is free if the game sells less than 5k copies.The game is entirely done in TGE 1.4. I applied a CG shader for the blur, and there is a motion blur too. I went into the game rendering code for the wire frame stuff though
Vib ribbon was a big influence :P
-Griff
#7
also getting ready to work on some beat detection for other purposes..got any advice?
11/13/2006 (3:32 pm)
that sounds really cool Griffin, I've been wanting to do a game where the enemys appear to the music for a while. also getting ready to work on some beat detection for other purposes..got any advice?
#8
You only need two pieces of advice. Both are links.
FMOD
Beat Detection Algorithms
That will do you. Seriously though, FMOD owns open AL so hard. I got FMOD added to torque and working within 2 hours, and only spent a week on beat detection implementation with it. I use Frequency Selected Sound Energy Algorithm #2 detailed in the document. My implementation also has the first algorithm detailed in the document, but it produced inconsistent results, so I pulled it. I still have all the working source code in it, but I'm using the FFT selected bpm algorithm.
I'm going to be releasing my fmod resource and my beat detection resource within a few hours of each other. If you want to wait, they should both be out by the end of the week (No promises). Though, if you wanted to do it yourself, have fun. The math isn't as bad as it seems.
And remember. Nothing Ever Works the First Time.
-Griff
11/13/2006 (7:57 pm)
@ClintYou only need two pieces of advice. Both are links.
FMOD
Beat Detection Algorithms
That will do you. Seriously though, FMOD owns open AL so hard. I got FMOD added to torque and working within 2 hours, and only spent a week on beat detection implementation with it. I use Frequency Selected Sound Energy Algorithm #2 detailed in the document. My implementation also has the first algorithm detailed in the document, but it produced inconsistent results, so I pulled it. I still have all the working source code in it, but I'm using the FFT selected bpm algorithm.
I'm going to be releasing my fmod resource and my beat detection resource within a few hours of each other. If you want to wait, they should both be out by the end of the week (No promises). Though, if you wanted to do it yourself, have fun. The math isn't as bad as it seems.
And remember. Nothing Ever Works the First Time.
-Griff
#9
11/13/2006 (8:00 pm)
thanks Griffin, we'll see who gets to it first, me doing the beat detection or you releasing your resource. We are already using FMOD over at doppelganger, which is where I would be doing this. Right now I just plugged some of the frequency bands into some lights with thresholds for switching colors, it's actually a pretty decent effect depending on the music, but true beat detection would look better I'm sure.
#10
I've been hacking around in Torque but I ran into roadblocks implementing beat detection using OpenAL. Very interesting that FMOD EX allows you to get the waveform detail you need to implement those algorithms. I'd love to see both of your resources!
11/29/2006 (4:15 pm)
Wow, this is great stuff. I've been dreaming about implementing lots of stuff that you've done here - beat detection, music-generation-levels, etc.I've been hacking around in Torque but I ran into roadblocks implementing beat detection using OpenAL. Very interesting that FMOD EX allows you to get the waveform detail you need to implement those algorithms. I'd love to see both of your resources!
#11
Anyway, thanks for the comment!
-Griff
12/06/2006 (5:13 pm)
Heh. Unsuprisingly, my time has been split up among other projects, so I've been delayed in getting the resources out. I've also seen talk of someone else putting up an updated fmod resource, so I've been kinds tiptoing around this to see who will release first. But yeah. I just figured open AL was impossible to mod to my purposes, so I gave up on it and implimented a REAL audio engine.Anyway, thanks for the comment!
-Griff
#12
05/31/2007 (11:54 am)
Any updates on getting this resource out? Would love it, otherwise I'll have to add it myself and I'm pretty new to Torque. 
Torque Owner Tyler Hughes