Exploring gameplay possibilities today.
Visualizing the frequency graph of music was working out pretty well, and finding the peaks in the music, but it wasn't exactly interactive yet. In fact, pretty much all of the data about the peaks only ever existed inside the shader, so...
I moved a bunch of the peak funding stuff back to the CPU and store it so I can use it game-side.
First experiment: fly around and collect the peaks! My ship can now fly around and carve a swathe through the audio data. Current it's just using the bounding box for the ship. It shouldn't be too difficult to give it some sort of masking pattern, but let's see how this works out first.
First problem encountered: ship acceleration and top speed are way too high for precision maneuvering. I knew this before, but it wasn't a big concern until I needed to stop at a very specific location. The biggest problem is the minimum distance you could move was a little bit more than a ship's width, and the desired precision is a lot smaller than that. So, I added acceleration curves to the ship and tweaked some of the values there. It probably still needs more work, but it's definitely easier to handle now.
Next problem encountered: this is kind of cool, but I'm not sure it's exactly fun yet. :) I think I want to look into bits you do want to collect, and bits you don't want to collect, and maybe the ability to shoot bits away.
I also looked briefly into spawning objects based on the frequency data, but that was resulting in too many objects, or badly spaced objects. It probably has a place, just needs more control over the spawn rules.
So, next, can we make this fun? :)