Well, you can already use an app like Joy2key to emulate the arrow keys or any other keyboard press with a joystick / joypad for every game in your PC. So I assume that if you connect a dance pad to the PC it should already work even without modifying the game, because at the end a dance pad basically works the same than a normal joypad.
Recent community posts
Thanks for the video and the feedback, TigerJ! We'll add an option to play again or quit at the end of the track, and after working more on the background asset and additional animations I'll review the gameplay too.
Thanks for the video and the nice words, Jupiter! <3 We take note of the feedback. We'll add new animations for the characters and include enemies attacking you soon to make it less repetitive. In addition to continue working on the background animation and increase the difficulty a bit.
Thanks for the video and the nice words, TigerJ! :) Starting tomorrow, once the voting period ends, I'll continue updating the game with additional fixes and improvements. The first update to be published tomorrow fixes the synchronization, another of the issues you mentioned, and adds a still not complete but way better and animated background. I want to do other things before, but I'll address the difficulty in the near future too.
Once the voting period ends we'll start updating it with different improvements, like a better & animated background asset, improved synchronization, extra animations for the different key presses or when bad dudes appears to fight. I didn't want to include audio feedback for presses because since they are frequent they'd would overlap the music with too repetitive and intrusive sounds. And well, I didn't have resources to do that audio :) In any case I'll investigate how real, proper music games address this audio feedback. Thanks for the feedback, I'll take note.
Thanks for the feedback, Ukiwuki! I barely had time to have everything done on time. The characters moves and the correct inputs aren't synched to the music right now, only the early inputs are more or less similar to the track. After the voting we plan to update it including extra animations, a proper background image, tweaked difficulty and synchronization of everything plus attacking bad dudes once you fail or miss a few moves (plus attack 4 moves for all 4 directions that would include both JCVD's signature split and 360 cresent kick).
Thanks for the feedback. I though that the standard ALT+F4 and the X button in the top right corner was enough to exit the game. Do you have any specific suggestion for an additional exit method? I'll take note and implement it with the WASD and other additional improvements and fixes once the voting ends to don't break the rules.
Thanks for the kind words! Since it was just a minigame for a jam and I am not experienced on Game Maker I didn't want to make it very complicated. For me the priority was to have something running to submit it on time, more than to have something accurate. I just needed a simple, quick, easy to play casual method with a single track: Yes, I move the pads using room_speed as reference. Everyobject that moves left has this code in their Step:
x -= INPUTS_PER_SEC * DISTANCE_BETWEEN_INPUTS / room_speed;
Where the constant INPUTS_PER_SEC is the amount of keys you'd need to press per second to make it perfect, and DISTANCE_BETWEEN_INPUTS is the screen distance (in native resolution) between the pads. I manually tweaked these values, without reading by code data from the song, to make sure that more or less follows the rythm of the music while at the same time you can see enough upcoming inputs. I also wanted to make sure that difficulty was easy enough for non rythm game players, making sure that almost everyone could achieve a perfect score with maybe just a couple of atempts.
In order to make sure if the inputs have been pressed on time, I use colission of the pad with the white box when a key is pressed. If it's fully inside the box, counts as perfect ("Cool!"), if it's only partly inside the white box counts as "good!", if it only collides with the black bar counts as "Miss!" (too late press), and if it only collides with the blue bar I don't do anything to make sure it's easier for players. I'm not experienced with the collisions in Game Maker and I think it has a couple of collision related bugs, but I thought it was decent enough to submit the game.
I didn't know the BPM of the song, but if it was a fixed one that I was able to sync, it would be easy to modify the formula seen above. A general programming trick (not just GM) for precision calculations in games where you traditionally work with small integer numbers: use real numbers instead of integers and if needed use separated numbers for both things or multiply and divide when needed by a big number (like in the case of the art: In GM you use reals as coordinates, and in pixel art you need to use round() to make sure doesn't look ugly, but if you program somewhere where screen coordinates are int you can use screen pixel coordinates x 1000 (or some other random number stored in some constant) for the game logic, and to divide by this number when drawing. By doing this you'll have an accurated way for the logic precision, and at the same time a small number for when drawing allowing smoother movement.
For a future project I want to investigate a bit the music related code in order to extract stuff like the BPM you mention from the track itself. Not a rythm game, just to coordinate some background stuff with the music. But for many reasons (like a possible Switch port) I think I'll use Unity for that other project.