Theory/test, Music Games

New releases and general discussions.

Post » Thu Apr 15, 2010 1:25 pm

Hey,

I'm wondering how Construct could handle music based games like Bit Trip Beat http://www.youtube.com/watch?v=N6cjZF7m6fU

So you notice how every impact is in time with the music. My thought is that you could use Time Delta to move objects at the correct tempo, so say a track is in 120bpm, which is double that of 60, 60beats at 60 bpm is 60 seconds. You could presumably time an objects movement so that it reaches the player at the correct time.

But what happens if you have a game similar to rez where the player can 'shoot' at any time they wish, how would you lock the players actions so that he only fired in time with the music, and still keep the distance from player to target matched up so that when the bullet hit the target that was also in time with the music?

Also how could we have objects moving with every beat of the music but still keep the movement looking smooth without it stop/starting with every beat?

Does anyone have any theories on this?
B
39
S
12
G
8
Posts: 580
Reputation: 7,108

Post » Thu Apr 15, 2010 1:48 pm

I know that personally I wouldn't make a rhythm based game without the actual game being in control of the music being played, so that you have data on every note and all that.

Not sure how games like Guitar Hero make it all always sync and work nice, though. Probably segmented music somehow.
B
5
S
2
G
3
Posts: 234
Reputation: 1,818

Post » Thu Apr 15, 2010 1:53 pm

I think how most music games are constructed, well games like bit trip at least, they will have a base piece of music which is the length of the level and every impact or action would play sounds of detail elements like melody or percussive sounds etc.

[quote="konjak":3vb97flg]I know that personally I wouldn't make a rhythm based game without the actual game being in control of the music being played, so that you have data on every note and all that.

Not sure how games like Guitar Hero make it all always sync and work nice, though. Probably segmented music somehow.[/quote:3vb97flg]
B
39
S
12
G
8
Posts: 580
Reputation: 7,108

Post » Thu Apr 15, 2010 1:58 pm

Reading beats from audio is not reliable enough. It could work for something like Audiosurf but games like Guitar Hero and Bit Trip definitely have the things to press hardwired in there by a person. The problem I foresee is always the music managing to get out of sync somehow, which can probably happen in several ways.
B
5
S
2
G
3
Posts: 234
Reputation: 1,818

Post » Thu Apr 15, 2010 2:16 pm

Would it be possible to import a grid like sequencers have http://www.computermusic.co.uk/resource ... xporch.png with bars and beats drawn out as objects and you could say, when x hits beat 4 explode. etc
B
39
S
12
G
8
Posts: 580
Reputation: 7,108

Post » Thu Apr 15, 2010 5:29 pm

Ideally you would want something that works with midi files. Not just something that plays them, but gives you access to the score. You would also need to be able to use some sort of sound generator.
....cough, Python.....
Image Image
B
161
S
48
G
89
Posts: 7,347
Reputation: 66,249

Post » Thu Apr 15, 2010 6:21 pm

Yeah midis would work but for sound midi sucks, you must surely be able to do it with wavs, as a composer using midi sounds is like going back to the dark ages. But maybe you could bounce the track as wavs but still use the midi data to for the game to read and run them in parallel.

[quote="newt":msiab8xy]Ideally you would want something that works with midi files. Not just something that plays them, but gives you access to the score. You would also need to be able to use some sort of sound generator.
....cough, Python.....[/quote:msiab8xy]
B
39
S
12
G
8
Posts: 580
Reputation: 7,108

Post » Thu Apr 15, 2010 9:31 pm

Well you wouldn't have to use a soundfont. You just need the information contained in the midi.
You could even use some other form of notation, like tablature, ABC, etc.
Also a sound bank of wavs probably isn't the best way to go either, the file size would be huge.
Like I said a generator, or even a vst could be used via Pyhton, or a plug if your feeling froggy.

This might have an additional benefit when you take into account you can only cache so much sound into ram.
Image Image
B
161
S
48
G
89
Posts: 7,347
Reputation: 66,249

Post » Fri Apr 16, 2010 3:31 am

I may be misunderstanding... but games like Guitar Hero and DDR... the songs are made by people, they are not created randomly by the game to be in sync with the music.
B
2
G
3
Posts: 46
Reputation: 942

Post » Fri Apr 16, 2010 10:43 am

The tracks are reverse-engineered in a studio to have each element separated, but the music isn't generated no, just muted or un-muted.

[quote="Fresh Frijoles":ndcru8i2]I may be misunderstanding... but games like Guitar Hero and DDR... the songs are made by people, they are not created randomly by the game to be in sync with the music.[/quote:ndcru8i2]
B
39
S
12
G
8
Posts: 580
Reputation: 7,108

Next

Return to Construct Classic Discussion

Who is online

Users browsing this forum: No registered users and 0 guests