DanceRow - An Audition Dance Game clone for Arduboy [v 1.0]

Hi there :slight_smile:

This is my first time developing game for Arduboy. Thanks to all games that let me peek into their code :stuck_out_tongue: and of course for the Arduboy great tutorial.

So yeah, the title says it all. You can get the .hex file and all the source code here:

https://github.com/madya121/DanceRow
*I’m sorry there’s no sound or song in this game There is a song in this game

All you need to know about the game are on that github page.

I’ll give you a peek on how the game looks like

Eight Arrow Not Full Main Menu Game Over One Arrow Empty Seven Arrow Full

Hope you find lot of fun while playing this game, and don’t forget to let me know what do you think about it :blush:
Thanks!


Update

  • BGM Added : (Canon in D) in C :wink:
  • Using LED for Perfect, Good, Bad, Miss results effect
  • You can disable or enable these features.
4 Likes

AWSOME! My first game was nothing compared to this great work :smile:

2 Likes

This looks great.

Have you attempted any music? I guess it would be very hard to have it speed up with the game.

2 Likes

Hi Cody, Thanks! You’ve made my day :smile:

3 Likes

Thanks Filmote!.

Yes, I have plans to add some music.
I already have 1 idea on how to do it. It might or might not work, but either way, I’ll give you the update :wink:

1 Like

The ArduboyTones library allows you to put the score in RAM and play it using tonesInRAM(). Since a score consists of just frequency and duration pairs, you could speed up or slow down the score by altering every other word (the duration values) in the score array.

Having the score in RAM also allows you to dynamically and “algorithmically” generate the music.

2 Likes

Thanks, it works!

But I play it one by one depends on the current frame count. So, the score will be dynamically follows the speed of the current frame rate. But I’m sure it’s not the best way to do it :thinking:.

If you want a score to be synced to the frame rate, the best way would be to step through the score yourself.

You would start a note to play forever using tone(frequency) then use a counter that is incremented or decremented per frame, to count the number of frames that you want the note to play. When the count is reached, start the next note in the score (which will automatically cancel the currently playing note), then set the counter for this note.

Step through the entire score this way. Start back at the beginning when you reach the end if you want the score to repeat continuously.

1 Like

I see, I think I already did that. But I didn’t play the tone forever, I set the time for each individual tone. Yours is much easier to implement, but too bad I’m already did it the hard way :cry:. I don’t know that if you play it forever, and you play the next note, it will cancel the previous one (But still my bad, I didn’t try it).

Lesson learned! Thanks Scott :smile: