Rhythm Game (RB Clone) – Updates Thread
- This topic is empty.
-
AuthorPosts
-
April 29, 2017 at 12:33 am #484526
It is actually fairly simple once you get past the “try to read midi and get frustrated” part. I store all the notes (easy, medium, hard and expert) of an instrument in an array list, then depending on the difficulty the user selected (which in the video is hard coded at Expert) i filter all the notes that are not that specific to that difficulty except things like markers and send the other notes to another array which makes a difficulty change mid-song possible. After all releated to midi is setup, i “pre-spawn” the notes, and then I start a coroutine (a task that repeats until i stop it) that checks for the time and if a note has the same time as the current playback, i enable the note and set it up depending on the situation (it is a hopo? are forced hopos on/off enabled? is the length longer that a 1/16 note?, etc.). For the board sync i use a clock that counts Unity’s delta time and try to keep it in sync with the audio source.
I guess then theoretically that’s how you can display the UI of vocals then, correct? The difficult part would actually be how the program calculates pitches.
Please forgive I’m still a newbie learning programming so this is all fascinating to me.
April 29, 2017 at 12:56 am #484528I’m really digging this! This is super cool! Is there any chance, at all, please don’t waste your time on it if you are not interested in it, but would you do a Rock Band Blitz rhythm game??? I want to play custom songs on that game so bad that I even tried making my own game, but I’m way to inexperienced at that kind of stuff, I had literally no idea what I was doing.
April 29, 2017 at 1:41 am #484531I guess then theoretically that’s how you can display the UI of vocals then, correct? The difficult part would actually be how the program calculates pitches.
Actually, the way Rock Band manages vocals technically is beyond impressive. There’s so much in there that I don’t think any independent programmer could really ever replicate anything like that not only in terms of pitching recognition but also vibrato, timing, etc.
April 29, 2017 at 1:55 am #484533I guess then theoretically that’s how you can display the UI of vocals then, correct? The difficult part would actually be how the program calculates pitches.
Please forgive I’m still a newbie learning programming so this is all fascinating to me.
No problem, yeah, i can display the vocal notes along with the lyrics the same way as the instruments… as those are midi notes too, the only thing that would be missing is the vocal recognition
April 29, 2017 at 2:04 am #484535That’s the one thing that Phase Shift never did. They wanted to figure it out on their own, never did, and since they kept it closed source, it never went anywhere. But displaying lyrics and vocal charts is relatively easy. I do it in cPlayer, and there was someone else who started a program for that here before he disappeared. Recognizing and evaluating the input – that’s the challenge.
April 29, 2017 at 11:55 am #484551Nice work, I too have been working on a RB clone in Unity. I’d be interested to know how you get your framerate so high. Are you decoding the audio directly or do you have to convert it first?
If you want easy support for CON files I have a library called “GameArchives” written in C# which you could use (LGPL-licensed), it has a pretty solid API for file access: https://github.com/maxton/GameArchives
April 29, 2017 at 3:40 pm #484557For the audio files I just load them directly into the game with WWW which then goes into different audio sources that have seperate mixer groups in it so I can later add things like bass boost or a mute if failed thing. For the framerate i just did something similar to lightmapping. I disabled all the lights on the scene, set all shaders to unlit and create textures with the reflections and light baked on them, also I tried to optimize the models by creating a very low poly version of them and… Instead of Instantiating the notes on realtime I just pre spawn them before the song starts and then just I just enable them as needed.
April 30, 2017 at 6:03 am #484581This looks very promising! ” src=”/wp-content/uploads/invision_emoticons/default_SA_smile.gif” />
May 1, 2017 at 9:50 am #484611I saw this on reddit, interesting. I know it’s early stages, but you should think about lane/highway speed when using lower difficulties. ie: easy is not just expert speed with less gems. And then how this relates to showing multiple lanes at the same time so they stay in sync.
Good luck.
May 1, 2017 at 6:32 pm #484618That’s already in! I’ll include a setting to test out those things ” src=”/wp-content/uploads/invision_emoticons/default_SA_smile.gif” />
May 3, 2017 at 2:53 am #484674AnonymousActually, the way Rock Band manages vocals technically is beyond impressive. There’s so much in there that I don’t think any independent programmer could really ever replicate anything like that not only in terms of pitching recognition but also vibrato, timing, etc.
No offense to the programmers at Harmonix, but it’s pretty simple to understand once you’ve looked at the source code for a few guitar tuner apps. Some have better, more complex ways of detecting pitch while others have way easier albeit slightly less accurate ways that can be pretty easily replicated in a game like this. I’m assuming Harmonix went with the former, probably FFT, which is the standard way of analyzing frequency, but it’s really not entirely necessary when there’s other ways that don’t require as much expertise as FFT does.
May 4, 2017 at 1:12 am #484698Hey everyone! Since the last update I’ve been working on adding gameplay to the game. The gameplay shown in the video is still a bit basic and has some bugs but it’s getting somewhere. (Keep in mind that I’m also using a Keyboard ). I should have a public build in the next few days!Changelog since last update:Hit Detection SystemInput SystemBasic Score SystemTODO:– Improve Score System (Sustains, OD, etc.)– OD and Solo markers that affect on gameplay. (Right now if you strum those notes, they won’t give OD or they won’t count for a solo section).– Drum Gameplay– Instrument Support – LOTS OF BUG FIXING!May 4, 2017 at 6:55 am #484707What? Only 500-600FPS? Talk about poor optimization. ” src=”/wp-content/uploads/invision_emoticons/default_SA_wink.gif” />
Starting to look good! Will we get to only use a keyboard to play it? Haha, that would change the entire definition of a “keytar”.
May 4, 2017 at 10:24 am #484709No offense to the programmers at Harmonix, but it’s pretty simple to understand once you’ve looked at the source code for a few guitar tuner apps. Some have better, more complex ways of detecting pitch while others have way easier albeit slightly less accurate ways that can be pretty easily replicated in a game like this. I’m assuming Harmonix went with the former, probably FFT, which is the standard way of analyzing frequency, but it’s really not entirely necessary when there’s other ways that don’t require as much expertise as FFT does.
No offense but either you know how their system works or you don’t. If you do, you know that pure pitch detection is only a part of the system (setting aside the fact that tuning a guitar != detecting vocals pitch), there’s way more to do to get from the player signing to a score being awarded.
May 4, 2017 at 3:01 pm #484712What? Only 500-600FPS? Talk about poor optimization. ” src=”/wp-content/uploads/invision_emoticons/default_SA_wink.gif” />
Starting to look good! Will we get to only use a keyboard to play it? Haha, that would change the entire definition of a “keytar”.
It will support instruments too at a certain point ” src=”/wp-content/uploads/invision_emoticons/default_SA_smile.gif” />
-
AuthorPosts
- You must be logged in to reply to this topic.