Long story short, im making a rhythm game where the player controls the global time dilation (gtd) and for my “swing” or jazz area, i wanted to create an effect reminiscient of swing music. Any ideas? (Im using blueprints btw)
Hey there @Gamed3657! Welcome back to the community! When it comes to exactly how you want to emulate the shift in tempo that comes with swing, it depends how your rhythm mechanics work. It’s a game of data and how you want to determine the time dilation during the songs.
The basic idea would be to increase or decrease the speed based on the tempo of the song (or perceived tempo if it doesn’t actually change obviously), which would require using linear interpolation of the current BPM, then pumped into the Set Time Dilation
node. However the issue arises with how to handle the note signatures for the song. Maybe they could be tied to true delta time and completely separate from the time scaling, and only use the time dilation for environmental effects.
On much older versions of the engine (probably 4.27 or 5.2) I was implementing a mechanic to synchronize background music tracks (like in Nier Automata, one instrument would fade in or out based on what happened).
Back then it didn’t work out because the audio components lost sync (buggy engine code). Got some recommendations on the quartz system to solve timing issues. Afaik that does not support dynamic BPM but I might be wrong.
Playing with the global time dilation instead of BPM is a curious idea, and I wonder how that affects audio (speed? pitch?), never tried.
Some, but it’s easier to write a response if you run into a specific implementation challenge.
That’s where the sync challenge (music to rythm data) and support for dynamic BPM need to be figured out. I’ve seen some MIDI “note highways” on the market that would somehow need to have solved that. Source code would be available.