
Something I saw quite a bunch not only with this current playtest of Virtue’s Heaven, but also when I saw people play through that very old demo version of the game, was players who almost exclusively used the Dash-punch move to get through the game. I can’t blame them to be honest. It’s very powerful, gives you a lot of invincibility and you usually hit enemies multiple times with it. It’s a very strong move and I like it alot myself. If I wouldn’t find it fun and cool to fling my character into every evil robot that I encounter, it wouldn’t be in the game.
However, there’s a real risk of players potentially optimising the excitement out of a game with a move that’s just this potent. After all, why use anything else, when this one attack works, is easy to execute and relatively safe?
Aside from the “players may make the game boring for themselves” problem, the other reason why I feel like I should do something about this, is because one of the big things I have with Virtue’s Heaven is that I want it to be expressive and improvisational. There are a lot of moves and there’s a huge overlap between their use cases. You could probably get through the entire game without ever performing a jump, or walk a single step. The purpose behind this is because I want players to be able to explore a challenge thinking “how do I want this to look?”, and not “what’s the correct sequence of inputs I need to perform?”
However, if the answer to that question is: “Oh I’ll just press these two buttons over and over until I’m done.” Then that’s neither expressive, nor improvisational. That’s just work, and who wants to work?
So something needs to be done, and there are some very obvious solutions that I’ll mention in a second, but before I do that, let me just quickly put down what criteria the solution needs to fulfill in order to work with the game:
- Virtue’s Heaven does not put any restrictions on your movement abilities ever.
- If possible, less optimal/less-desired play should not be punished.
- Instead, the desired play style should be positively reinforced and rewarded.
Now let’s look at some ways to tackle this problem. Again, what we want is to stop players from dashpunching themselves into oblivion.
Solution A:
Restrict the number of Dash-punches players can perform in a row.
NO! This is boring! What do you want me to implement next? A Stamina bar?
Solution B:
Have enemies perform a counter attack that specifically punishes repeated moves.
This is a bit more interesting, but I said I don’t want to teach people by hitting them in the face, if possible. So this is still illegal. I also don’t want to come up with revenge attacks for at least every boss fight. That sounds like a lot of additional animation work and associated bugs.
Solution C:
Dash-punches do less damage the more often you perform them in a row.
This again, is close in that you’re not actively restricting players, but it’s still negative reinforcement.
Solution D:
Increase player damage, the more they vary their attacks.
AHA! Let’s look at this:
- Positive reinforcement.
- Doesn’t restrict the player
- Still lets people be boring, if that’s what they really want to do
- Makes playing spectacularly more spectacular, because you get more powerful
- Adds another tool to my “I would like it to be possible for people to play through the game without ever taking a stat upgrade, without it becoming unreasonably painful” box.
Spoiler, this is what I went with, because I was able to tie this into an already existing system. The game for quite some time already had a style-rating system, that I put in place for a very similar reason. However, due to some recent changes elsewhere the rating system became a bit useless.
Your Rating was already based on how varied your attacks were, all I changed was that after performing a dash-punch on the same enemy a few times in a row, it completely stops increasing your rank. In order for those to count again, you have to perform a different attack. Just a single, regular punch is enough to reset things. Again: I don’t want this to be harsh, I just want players to do something else every now and then.
As in regards to damage, right now it works like this:
At Rank 0/10, your damage is actually at 75% of what your regular damage should be.
At Rank 3/10, your damage is at its usual level.
After that, it only increases marginally, but at Rank 10, your base damage is doubled.
The interesting part here is that all of this tracking is per enemy. So regular encounters are almost completely unaffected by this change. However, once you reach a boss fight, things do change quite a bit, because now just dash-punching your enemy into oblivion is way less effective than other approaches:

As you can see, I was able to vastly increase my damage output, just by deploying some small variations in my attacks.
There are still problems though that I need to figure out:
-
Without active discouragement, players may still end up being boring, which is a problem. I don’t want people to be boring in my games.
-
The damage curve is now even more broken.
-
Now that it actually affects the player’s damage output, I have to explain how the ranking system works and what it does. I also have to build areas, at least early on, in such a way that it encourages players to use specific varied move chains.
-
Unlike me, players don’t know where to go in the game, so very often they will move much more cautiously. However the style ranking resets if you haven’t hit anything in a while. This creates a bit of a conflict that I need to resolve, probably by removing the time pressure?
However, there’s now this very cool ramp-up phase in the game, where you slowly gain power as you make your way through an area and having that incentive to just keep pushing forwards into danger is nice.
Other ideas I had while writing this:
-
Right now your style ranking affects the player’s damage calculation, but might as well be applied to an enemy’s defense instead. This could give me a bit more control over the degree in which I want this to affect a player’s path through the game, but making this very enemy specific, could also just lead to confusion.
-
Another way, or maybe an addition to what I already have, would be to have specific attack types increase the damage of specific follow-up attacks.
For example: One of my favourite things in Virtue’s Heaven, is dash-punching through an enemy and then turning around and performing a jump-kick. It looks really cool, especially when the kick destroys the enemy in question. So having a system, where a dash-punch increases the damage of a jump kick, if it’s performed immediately afterwards, could help encourage people to chain different moves together? -
Another idea is to instead lean into the repeated move thing and give players a cool reward, if they’re able to perform the same move several times in a row without getting hit, or pausing for too long. You know, if you want to just do one thing, over and over again, at least try to be really, really good at that?
Might also be worth exploring.
I was about to write a long thing about how much this specific approach would require “structural teaching”, since you can’t just very clearly discourage a specific behaviour, but then I realised that what I was describing was game design.
You build a specific structure around a set of rules that players get to explore, and you need to find a way that communicates that structure’s possibility space to them. My specific problem is that I’m trying to not deploy a very specific set of communication styles, while the game itself is probably also sending a lot of mixed messages in places.
I’m really curious to see how this is all going to work out at the end. Maybe I’m just overthinking things, and actually everything is fine? Who can say?
Anyway, if you want to see where this is all going, why not put Virtue’s Heaven on your wishlist? It’ll be out eventually, I promise!