Starter help for a rhythm game

Hi Ya'll!
I just downloaded GameSalad Creator less than 5 hours ago with the intention of making a game that I have had in my head for a long time.
I'm getting a feel for it & it seems like I may be able to make my rhythm game, but it looks like it's going to take some time. What I wanted to do was share what I'm thinking about how to approach the game & maybe get some advice to help steer me in the right direction.
So the game mechanic is pretty simple. There will be a song playing and the user needs to tap an object in a rhythmic pattern to win. I'm thinking that I will need to use a lot of Timer behaviors to kind of synch up with the music file. Does this sound doable? And then from there I can try to figure out how to make it so that if the user taps off rhythm, they will lose life, points, etc. But if they tap right on the money, then they gain life, points, etc.
Again thanks, I'm very new here & I hope my question isn't annoying or to vague.
Cheers,
Corey
I just downloaded GameSalad Creator less than 5 hours ago with the intention of making a game that I have had in my head for a long time.
I'm getting a feel for it & it seems like I may be able to make my rhythm game, but it looks like it's going to take some time. What I wanted to do was share what I'm thinking about how to approach the game & maybe get some advice to help steer me in the right direction.
So the game mechanic is pretty simple. There will be a song playing and the user needs to tap an object in a rhythmic pattern to win. I'm thinking that I will need to use a lot of Timer behaviors to kind of synch up with the music file. Does this sound doable? And then from there I can try to figure out how to make it so that if the user taps off rhythm, they will lose life, points, etc. But if they tap right on the money, then they gain life, points, etc.
Again thanks, I'm very new here & I hope my question isn't annoying or to vague.
Cheers,
Corey
Comments
This sounds like a fun project, I start every project with pen and paper. Try to draw your idea out (if you haven't already) once that is done concentrate on one scene and get one song working. Don't worry about graphics just use blocks with labels to get the mechanics working.
Once you have one scene working how it should duplicate the scene and change then build the menu etc..
I have learnt to have it clear in my head of what I want to achieve otherwise I loose focus later and the game ends out something else, for example if I found something to hard I used to bypass it now I am looking into how to make it work.
Hope this help?
AppChogie
I have a lot of my idea sketched out, it now where I need to get the mechanics working by figuring out how GS works.
For example if Im thinking that I may have to "map out" the song to find out where all the beats are, then run a Timer behavior simultaniously to tell when the player should or shouldnt tap the screen. This all sounds good in theory :P
Hopefully someone can read my thoughts and help me out.
So what I'm figuring out is that I can't really have a song playing and match a timer to it.
What I'm doing now is playing individual sounds at certain intervals using a Timer behavior to create a song, which seams to work for now.
The problem I'm facing now is that I don't know how to set the game to recognize when the user taps the screen ON the beat, it's +1 points and when the user taps OFF of the beat it's -1 points.
Interesting project. I've stumbled upon it, 'cause I'm prototyping a game that involves measuring the rhythm pattern and the length of the taps as well. Not much 'luck' so far.
If you have a Rule/Timer combination that works for you, don't hesitate to share.
BTW, there's a parameter game.time, maybe that should help you get the beat. I've been using GameSalad for 2 hours now, so you're at least 3 hours ahead of me.
Cheers!
As far as having a timer matching the song that's playing, here is what I did.
1) Find the BPM of the song. I use VirtualDJ Home, its a free program on the Mac App store.
2) Create an attribute for your game that will represent the BPM. (ex: game.bpm)
3) Create an attribute that will represent the beat. (ex: game.beat)
4) Every (60/game.bpm) seconds, add 1 to game.beat.
You might need to tweak the bpm value a bit, or delay the start of the song to get the beat count of game.beat to match up with the music.
As far as determining if a player taps on the beat... I would use value that breaks down the count to 32nd notes. Every (1/32)*(60/game.bpm) = 1.875/game.bpm seconds. Then you can determine how close a tap is to the beat to the nearest 32nd note.
Hope this helps!
You can see what I am working on here:
-Bruce