Real time vs Set time calculation of music game note timing

Started by
3 comments, last by JackStylez 11 years, 4 months ago
Hello everyone, first post of what I hope to become many posts here at GameDev

I am creating a small music game and I've come across 2 ways I could implement timing in it. I could either have the game setup the time each note must be hit before the song starts (Set time) or have the game calculate the timing offset using the current note position and the target note position (Real time). I am asking this because I will be taking into account song charts that include different BPM throughout the song such as slow downs, speed ups, and stops. This adds more complexity to the calculations. I would just like an opinion on how someone would choose which way to implement the game. I have already made an algorithm to find out these numbers in both situations.

Some pros and cons I thought about each implementation:

Real time
+ Decrease the time it takes to setup a song
+ More accurate time
- Incease the time it takes the program to find the timing offset during gameplay

Set time
+ Decrease the time it takes the program to find the timing offset during gameplay
- Increase the time it takes to setup a song (Negligable?)
- Extra parameters such as note.hitTime in the note class
- Prone to bugs in timing since the time is a setTime that may or may not be correct

Thank you for your time everyone

- JackStylez
Advertisement
Whatever you are doing to play the song, do the same thing to handle the timing of any events related to the song. I expect you would be using your “real-time” method for both.

As for changing of the tempo, either way you would have to determine where the beats are so you would still have to do the more complex calculations one way or another.
The best way to go would be to pre-calculate the times of events but to process the list in real-time.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid


Whatever you are doing to play the song, do the same thing to handle the timing of any events related to the song. I expect you would be using your “real-time” method for both.

As for changing of the tempo, either way you would have to determine where the beats are so you would still have to do the more complex calculations one way or another.
The best way to go would be to pre-calculate the times of events but to process the list in real-time.


L. Spiro


Ah this is very true thank you. I will still need calculations to compute where I am in the song, so I might as well use that data at the same time instead of calculating it twice. I still have not looked up playing music files through openGL in C++ so I don't know about the music playing method yet, but that helped a lot.

- JackStylez
OpenGL is for graphics. I think you meant OpenAL.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

Right, openAL. Force of habit to type openGL for me haha

- JackStylez

This topic is closed to new replies.

Advertisement