Gameplay trailer: https://youtu.be/7GFF4EuJFD0

This is a demo for my upcoming rhythm roguelike, Dance of Demons. Fight your way through eight movements in a deathly dance, where everything you and your opponents do is tied to the rhythm. Attack, dash, and dodge to the beat!

In terms of gameplay, Dance of Demons is a mixture of top-down action reminiscent of games like Diablo and Hades, and rhythm games such as Rhythm Heaven and Rhythm Doctor. Rhythmically, the game focuses on audio cues and tests your ability to parse a variety of different rhythmic patterns. The game is all about dodging enemy attacks that follow a set choreography, while also trying to utilize the downtime to dish out damage in return. There are three difficulties of choreography from beginner to expert, so you should find a difficulty that suits you, regardless of your experience with rhythm games.

This demo contains 30 roguelike items which ensure that each dance is unique. Each item follows a pattern of boosting two passive powers while also granting a unique synergy between the two powers, many of which alter the gameplay loop significantly. It won't be easy to figure out what the optimal build is. (I don't even know myself!)

The game is very much in active development, and this demo version is likely to see plenty of updates as well. Stay tuned for more!

Game doesn't start?
The web version uses SharedArrayBuffer to run the game multithreaded, which improves performance and reduces audio latency drastically. Safari is known not to support it on itch.io, but Chromium-based browsers and Firefox should work fine.

Help, the audio latency makes the game unplayable!
There's a couple of things you can do:

1) Don't use Bluetooth for your audio output.

2) If you're on Windows, make sure that exclusive control and signal enhancements are disabled for your audio device. Lowering the sample rate might also help. You should find those under advanced audio settings somewhere. It should look like this (in W11):



3) Try the desktop client. Maybe it works better for you!

If you're still having issues, check back in a while–I'm currently working on implementing in-game calibration that should alleviate some latency issues. However, it won't and can't fix any latency from audio triggered by player input, so calibration can't solve everything for this game.

P.S. Controller inputs are implemented in gameplay (but not in all menus), but not officially supported since HTML5 is a bit weird about controllers. You can give it a try, but YMMV.

StatusIn development
PlatformsWindows, HTML5
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorNicodemus
GenreAction, Rhythm
Made withGodot
Tags2D, Music, Pixel Art, Roguelike, Roguelite, Short, Singleplayer, Top-Down
Average sessionAbout a half-hour
LanguagesEnglish
InputsKeyboard, Mouse

Download

Download
DanceofDemons_windows_v102.zip 32 MB

Install instructions

Unzip and run .exe

Development log

Comments

Log in with itch.io to leave a comment.

(2 edits)

The patch definitely made the game way more fun!! I found myself playing for several hours, testing new builds and also taking my time of course. Still getting my ass kicked on expert though!! Definitely love the two major things:

- First and foremost, the card descriptions. They're so not overwhelming now, and they let me understand the description way more and immediately for most cards. Some need a second reading but after that everything works, so no need to change anything there. I'm definitely making better builds now that I know by heart what each card does. Personally, I prefer a footwork-based build since I try my best to get as many perfects as possible, so the extra arrows let me do passive damage (and then active with arcane pull). I also favor chaosflame a lot, it's very fun. Overall, really loving this change!! 

- Enemies having lower health makes the game flow so much nicely at the beginning, and by movement 4 you're guaranteed to have a build that lets you make a lot of damage, which scales nicely with the health increase. This also has let me experiment more with said builds, considering I don't have to wait five minutes for movement three, and most movements take below a minute now. 

There are two things I noticed with mages, however: 

- The first one is something I'm not sure is on purpose or if it's not supposed to be this way. The encyclopedia says that touching the ring earlier than the 7th beat damages you instantly. However, most of the times I've done this I don't get damaged, my flow just gets reset back to one. It's definitely a nice clutch, but I don't know if it was intended this way.

- The second is more regarding readability. Some rings tick down in half beats, making them double as fast as default ones. This, however, becomes an issue when another ring spawns in at the same time. When a ring ticks down, it does a blinking animation, but since these are so fast, they mostly remain "lit up". Now of course, knowing this is their behavior would seem to help catch them, but a lot of times it doesn't. Perhaps making the ticking animation for those actually more flashy could help?? Or adjusting the blinking fade-ins and outs to the speed of the ticking perhaps?? Something that could let you know that one is the one you're looking at, because I've definitely dashed into the wrong ring a lot of times.

One last thing that I wanted to ask for is a button that lets you restart a run in the same difficulty without having to go back to the main menu!! It's kinda silly having to do that every time. 

Other than all of this, I've been having a lot of fun!! Definitely addicting in the best way as wilrnir said!! >:]

I'm glad the patch improved things for you! And thanks for pointing out that the rings are not dealing damage on touch–they definitely are supposed to. Must have slipped by since I often test things with infinite health. And yes, I will look into what I can do about the readability of the rings.

(1 edit)

really really fun !!!! i ended up playing for aan hour ish straight, just trying to beat the demo on proficient. it's very very addicting in the best way

one thing that stood out to me was movement 4, where i learnt that instead of just focusing on dodging, i could fit exactly [1] barrage shot/ricochet shot between each dodge - it feels very good to find new openings between enemy attacks where you can counterattack >:]


(+1)

I'm glad you enjoyed it!

I love playing rhythm games, so of course I went ahead and got this after seeing the announcement. While I do think that this game is a pretty interesting concept,  there are some things that I really would wish were different because they really detract from the experience as a whole. I do understand that this is a demo, but the game feels more like a proof-of-concept than a preview of what's to come. Please don't take this as me trying to establish some set-in-stone truths, but rather as the experience of a player who would be consuming your product.

My first gripe with this is the amount of text that's on-screen at a time. Almost every single screen has too much tiny text and it's visually and stimulatingly overwhelming. This brings me to my next point, which is the amount of text in general. There are so many things that I feel could just be either shortened, or outright shown and not told. The encyclopedia is the biggest example of this that I'll be talking about in different occasions, but I'll start with one thing that really popped out:

Examples. I really feel like you shouldn't give examples of how something works, because that means that the description itself isn't clear enough. I don't know how everything works internally but, for example, the critical strike description could just explain what a critical does and how damage increases. It's self-explanatory that stats that show something going up will increase a chance (especially if they have a percentage next to them), and if attacks specify they can't critically strike, then that's that. 

The tutorial screen gave me whiplash with the amount of text it had, but also because it does not feel that much like a tutorial once you read the encyclopedia. In fact, the encyclopedia itself feels like a game manual you're supposed to read before playing, which doesn't really sit that well with the flow of the game. The tutorial does not teach you about stats, imbuements, effects, or why flow is important at all. I feel like the tutorial could work way better by gradually introducing you to mechanics and the game itself, as well as giving a brief description of what everything does, instead of throwing a lot of things at once regarding not only gameplay, but the enemies themselves as well. Similarly, the "About the Dance" section could just be explained in the tutorial. The player should not have to look up how to play after having already played the tutorial.

Another issue with the game is the transition screens that show you cards. Since I assumed the tutorial would show me everything I had to know, I jumped right into the game and got blasted with even more text with definitions that were long and stats that didn't make sense. Additionally, the game introduced the four tarot suits as an important information element, but this is never shown in the encyclopedia at all, oddly enough. In many roguelikes, getting items/upgrades like these usually only takes one or two lines of text maximum. While I think it's nice to know what stats they raise, considering the game has different effects and attributes, I also think that specifying everything gets a little to overwhelming and even mechanical. One of the things that make these kinds of games fun is wondering what the short description entails and experimenting with it. In Voidigo, for example, Snake Egg Rehand's description is simply "Snake Egg Attack on Reload During Battle". We don't know how quickly it reloads, we don't know what snakes even do or what they are, how many are released, how much damage they do, etc. However, once you use it, it all falls into place. Upgrades to this powerup then show you these stats once you see them in a shop or otherwise. Of course this might be an extreme example for this game, but the simple aspect of it remains. This is also shown in every of the mutations in Nuclear Throne. 

Gameplay-wise, the game feels too... monotone and repetitive I'd say. And the encyclopedia itself acknowledges this. In the Summary section of abilities, the game tells you how to play, saying "Rinse and repeat?", and this is already not good. A game should not tell you the path to take, because that establishes a sort of "one right way" to do things, and that definitely shows while playing. It doesn't help that the fights take so long,  a lot of them reducing with the same steps described in the encyclopedia, and even then it takes too long. They also punish you for taking any damage at all. Even when you don't, the game can still give you a bad ranking. I think that if enemies had less health it would make the flow feel less constricted and you'd still be able to see a wide variety of choreographies.

Regarding the enemies, I think the different attack lengths are pretty cool. Hitting many perfects in a row with different rhythms is very satisfactory.  However, the encyclopedia telling you how they work sort of takes the wonder out of it?? In Crypt of the Necrodancer, the game doesn't tell you how enemies work beforehand, not even after defeating them. It throws a different pattern at you, a damage value, effect, etc., and it lets you fail over and over. This is aided with how quickly a battle can be decided from the get-go, creating this sort of trial-and-error feel in which you feel like you should be more aware of your surroundings, instead of feeling like you failed because you did not study what the encyclopedia detailed beforehand. 

This all being said, I don't think that this game should be copies of these other games, these are just examples of things that I've felt worked in this genre. Similarly, I'm still aware that this is an unfinished version and subject to change, which is why I have given this much feedback. 

I did have some fun, despite all I've said already!! Some of the things I liked are:

- The fact that there's off-beats. It really adds a lot of variation and spice and keeps you alert and tests your senses!! 

- The different patterns enemies follow make everything more musically cohesive and once again, test your reflexes. 

- The inclusion of attributes is interesting and can make for a dynamic playstyle with synergy builds. However, I do feel like a lot of resonances and imbuements err on the side of just increasing damage, which could end up making the game sort of stagnant if there is not a limit to them. I think that modifying other aspects could bring even more spice to the table!! 

All in all, I still see a lot of potential in this game and I'll definitely follow its progress!! There are not that many rhythm roguelikes, so it is always very welcome to see when a new one is introduced. Hoping the best for this project!! 

Wow! Thanks so much for the detailed feedback, I really appreciate it.

I do acknowledge that I erred on providing too much text than too little, because my concern was that without some repository of detailed information, some things would be lost on the player completely. The encyclopedia was meant more as an option to look something up if something wasn't clear, not as mandatory reading, but from your description I can see why it would seem that way. And with detailed descriptions for resonances/imbuements, my worry was also that since many of them require adjusting your gameplay to get any use out of them, players might miss out entirely on any benefits they provide. Those are things I'm definitely going to look into, like maybe having simple descriptions by default and have detailed descriptions as an option the player can select. Do you think that would help? I'm also definitely going to be implementing a step-by-step tutorial, and based on your feedback I'm actually going to prioritize it. I hope it'll alleviate the onboarding issue and make reading the encyclopedia feel less like a necessity.

Regarding enemies having too much health–would you mind sharing how long it typically takes for you to clear a movement? In balancing, I've aimed for an average clear time of 40-60 seconds, and that's based on how long it takes for choreographies to loop. Does it take you much longer than that, or do you feel that's already too long? I'm aware that there's probably a big difference between how quickly the game can be cleared under optimal play, versus how long it takes for a new player, and I do want to get that balance right.

As for having enemy behavior explained, that's something that's largely influenced by games like Rhythm Heaven where everything is explained and tutorialized before you have to do it "for real". I'm aiming for a similar kind of vibe, so I'm not sure I want to stray too far from that.

But again, massive thanks for taking the time to write up your feedback! This really helps me make the game as good as I can possibly make it.

Regarding what I'm about to respond, a lot of it boils down to 1) me as a player, and 2) who you're making this game for. 

About the encyclopedia, I am all for having something that lets you quickly look up information of things you have seen before!! I just think that the information could be more condensed, as well as not assuming that the player needs constant guidance. In a tutorial, you can also include lore or whatever else you would like to include so it flows more naturally. Usually, having stuff like this relies firstly on flavor text, and then on descriptions. While encyclopedias in real life do provide detailed explanations, unless your game focuses on the lore and on a slower pace, not many people are going to want to read that much. 

On the topic of descriptions, I think that having a dual system could perhaps work. I've seen that in roguelikes like how I've described (or systems with simple-card descriptions really), there's usually stuff like that for whoever wants it. Mods for Nuclear Throne or Binding of Isaac do this, but Rounds, a game which is not really a roguelite at all, does this as well by default, with a little button in the options menu. I think this definitely could help, because the way the attributes scale up is constant. If it were different for a card, then that could be specified with an adjective, like "a little" or "by a lot", etc. And then of course, for people who want to see those stats, the option is there.

I asked a friend how long it took them to clear a movement after you asked this question, and they said they measured 2m 40s on beginner. This is still the biggest amount of time I've measured. They played some more and they said that they managed to reduce it to around a minute after using riposte. I tried to then measure my own time by playing a bunch of different rounds. The results were that for the most part, the time averaged above two minutes. At first, I kept trying to go on expert and perform mostly ripostes, but I kept getting the timing wrong and dying at almost the two minute mark without doing that much damage to the enemies. Then I decided to try to play more "casually" instead of more optimally. I managed to complete different movements, but again, more than two minutes. I reduced this time on beginner and with ripostes, but even then it still took longer than a minute and a half. The problem with this is that riposting becomes increasingly harder the more rhythms are introduced, which removes the big damage option and forces you back into the rinse and repeat playstyle, which once again averages around a little more than two minutes. 

Regarding a Rhythm Heaven feel, I think that that is something that could be sort of difficult to implement in the same way, considering the tutorials are both pretty short and the levels, excluding the remixes, all focus on the singular mechanic introduced in the tutorial. One thing I think could be done is that before each movement that introduces a new enemy, a tutorial for that enemy, and that enemy only, is presented. The enemy could have way way reduced life and, similar to rhythm heaven, it could need three perfect dodges or the sort before it lets you play the actual level. This keeps a quicker and more direct flow in contrast from a sandbox the tutorial was closer to, for example. If the player then wants to practice on their own, there could be a section for that. But of course, this is all speculation.

One thing I did want to address is the thing you mention about choreographies looping. One aspect of roguelites is that since the player is going to be dying over and over, it doesn't matter if they don't get to see one thing in one playthrough, because they're sure to see it on their next, or the one after that. This is aided by slight randomization of areas, enemies and whatnot, but I'm not going to get too much into that because it's still an early demo. I just felt like mentioning this was important to take into account both for the duration and variation of movements.

This all being said of course, this is all hypotheticals and speculation that have to be proven work by playtesting, but also by what I mentioned about who you're making this for. If you want for everyone to be able to play it, then you may be better off with more than three difficulties. Crypt of the Necrodancer is definitely not for everyone (only 45.8% of players have completed zone 1 on Steam, according to the achievements, and only 4% of players have completed an All-zones mode with Cadence, the highest percentage of All-zone modes) because of its steep difficulty spike within its main story and need to be hyper-aware of your surroundings with certain characters like Aria or Bolt. And that's fine, it has still found its niche within the community (me included), but for people who just want to play a more fast-paced roguelike it probably is not what they're looking for. Your game has the ability to have insane rhythms combos, even syncopations and triplets if you really want to throw the player in for a loop, but with more complexity comes more difficulty. You can still put these elements in easier difficulties, for sure, but it's still needed to know who is going to play this. 

Overall, hopefully these answers have answered the questions you had!! I'm always open to answering anything else!! 

(6 edits)

Thanks for your reply! I actually released a patch yesterday that added simple descriptions to boon cards and tweaked enemy health and grading a little bit. I'm doing the improved tutorial now and it should be out in a couple of days. I intend to keep the current tutorial as a separate "training grounds" section, while the tutorial will be scripted and step-by-step.

I agree that an average of above 2 minutes for a movement is too long. The patch reduced health specifically for movements 1-3 since I thought maybe the issue comes from boon selections, since the difference between picking ones that are really good early game and ones that require synergies and time to to ramp up can be very significant. The time disparities from those choices should flatten out over time as synergies build naturally, so I didn't touch the later movements (yet).

But I reckon there's more to it than that. It's interesting you mention going for mostly ripostes, since I myself don't do them that much and my times are reliably in the sub-1 minute range. I wonder if by focusing on ripostes, you're not spending time efficiently on generating and firing arcane arrows? Like, if you fire an Arcane/Riposting Shot without any arcane arrows, it's generally not going to be worth it, even if it is a riposte. And likewise, if you spend three beats "anticipating" an attack for a riposte, it's generally better to fill those gaps with quick Barrage and Ricochet Shots and not worry about the riposte.

And I imagine that, in general, it takes some getting used to the flow of the gameplay. In optimal play, you wouldn't have any action window gaps between attacks, you would attack until the very moment you have to dodge, and you would utilize every 1+ beat gap between enemy attacks effectively. If you can do that, you really can push the game to the limit where movements fly by before they can even pose a threat to you, which is why I'm wary of setting enemy health too low. But I understand that it does take quite a bit of experience to get to that point, and the game can feel way too slow until you do. Maybe I just need to be way more aggressive using health scaling in the different difficulties (even though I don't like it when most games do that), and just accept that an experienced player can destroy beginner in three minutes flat.

I think it's analogous to Monster Hunter (which was actually a big influence on the gameplay loop design). You have a weapon like Charge Blade, where you really need to grasp the loop of generating phials, charging your shield, generating phials again, then spending them on a big boom. And if you're really good, you can use guard points, which are kind of like ripostes. If instead of all that you just spam triangle to swing your sword, you're going to do negligible damage, and the game doesn't really tell you if you're doing something wrong. You're expected to just learn it on your own reading the hunter's notes and spending time in the training grounds (not unlike my game in its current state in that regard). Personally, I'm fine with players starting off slower and eventually getting the times to that sub-1 mark, but if it doesn't happen and players believe that the game is just supposed to be that slow, that's definitely something I want to avoid.