Playing with raycasting. By default: top down flashlight simulator. Hit Z to go 3D instead!
X will loop through FOV settings, toggle between top down and 3D to visualise what's going on.
UPDATE: Now with zooming effect
Made for Spooky September 4 Color Jam.
You're a bat. Flap your wings with Z. Boost for 100 coins with X. Fly as far as you can, and collect coins as you go.
revision 2: Fixed but where you could go forever if you dropped off the screen
revision 3: Add boost. Add effects. Add (temporary) sounds.
revision 4: Final version for the jam! (-ish)
I was working on a game where cars run across the screen at various speeds, and I created a doppler-sounding effect to play when the cars were spawned. This didn't sound terribly natural though, since the cars all sounded the same regardless of speed. The only solution I found was to create a handful of effects these effects, and then choose the appropriate one based on speed, meaning all fast cars (i.e. velocity above some value) would have one sound effect, all slow cars another, and then a third one for those in between. Got me thinking though, it would be great if I could write a function that took the velocity as an argument and returned an appropriate sound effect. Is this possible? I'm fairly new at this, so it may be documented, but if it is I just don't understand the documentation. :)
That's a specific example, but it also got me thinking more generically. Is there a way to generate music on the fly? In the simplest case it could mean writing a few patterns in the tracker, and then playing one or more at a time, semi-randomly. They would be written in the same key presumably, but otherwise the only randomness is the order they appear in (and/or the channel they appear on).
At the other end of the complexity spectrum would be to generate the patterns procedurally as well, either by writing into the tracker, or manipulating sound in some other way. I don't really know where to start.
So I thought I'd start a discussion. Anyone experimented with any of the above? Any ideas how to tackle this?