I’ve come to despise the kind of dodges that you see in games like Enter The Gungeon and the Soulsborne series. My main issue with them is that they’re not really dodges in the traditional sense. Due to the extreme length of the invulnerability the dodge gives the player, usually measured in i-frames, their main use is less about positioning, and more about timing incoming damage. When the player is about to get hit, they press the “make me invulnerable button,” and as an afterthought, their character also rolls. I call this the i-dodge.

We see a great example of this above. The player is fighting an Elden Ring boss that does some sort of radiating sphere damage attack. It might look like the player got hit, but in reality, they cleverly timed their dodge invulnerability to coincide with this attack, and we are seeing is them avoiding all the damage from the rapidly expanding sphere by rolling. This makes no sense, and doesn’t start making sense when you see it in motion. 

I’m pretty forgiving as far as flavour fails go. After all, Chess might be my favourite game, and when you push the pawn to the other end of the board, it turns into a queen and becomes much more powerful. Is that what really happened on the Medieval battlefield? Did the peasants who went arbitrarily far into enemy territory suddenly get sex changes and acquire magical powers? Since they’re queens now, what member of royalty did they marry? Does the king has a harem of femboy wives? WHAT IS GOING ON HERE?

Pictured: Two polygamist trans-swinger families competing to the death for resources.

Chess is a much deeper game if the pawns get to promote, instead of just accumulating on the back rank. That’s why you can promote pawns. No attempt was made to justify this in-universe, and it’s worth noting that the most respected game in the Western Canon is the one that cares the least about realism. 

Nevertheless, I can’t help but note that idodges always look incredibly dumb. This is partly because the dodge can, through i-frames, save you from even a nuclear explosion, but mostly because the i-frames encourage the player to dodge into the enemy attack. Throwing your body at the incoming blade/claw/charge is skilled gameplay. Dodging away from the attack is bad, since when your invulnerability frames run out, you’re more likely to be within the attack’s hitbox. This bizarre, counter-intuitive behaviour is considered par for the course in these games, although some people do occasionally point out how insane it is.

It’s hard for me to be invested in Gaius as a real entity when I’m incentivized to dodge roll directly through his boar in order to dodge the charge.

Below we see Commander Gaius charging the player. As a casual nub who needs to Git Gud, I’ll bet you naturally thought of dodging to the left or right. Maybe you even tried dodging directly away from him.

Luckily, this player is extremely skilled, so he collapses space and time and dodges directly inside the Commander’s intestinal track.

Yeah, he’s in there somewhere.

Before emerging, presumably out of his anus, having taken no damage. 

No, this was not unnecessary. Dodging to the side would have been far more punishable.

Celia Wagnar (Some tranny, formerly known as Chris):

Basically, dodges are about moving and being invincible for a time. This gives them two utilities:
1. iframe through enemy attacks with good timing.
2. Move out of the way of enemy attacks ahead of time.

This means that if you dodge towards the hitbox coming at you, you’ll go through it. And if you dodge away, in the same direction as it’s going, then it will likely catch up to you when your invincibility wears off. This means that if you want to get through attacks like that most effectively, you need to roll opposite the direction they’re attacking, and avoid rolling in the same direction they’re attacking.

For the record, this troon doesn’t think this is an issue. He wrote this article praising excessive invulnerability frames on dodges.

Visual confusion is one thing, but the main problem with the i-dodge is that it provides the player with a perfect out to all damage, and games tend to get designed around this. Taken to an extreme, we get something like Elden Ring combat, a glorified quick time event wherein the player presses the i-dodge button when the bosses do their attacks, then the R1 (attack) button when the bosses graciously allow the player to hit them. It’s like Guitar Hero, if it didn’t have the courtesy to show the incoming notes.

Even if combat is not designed around the i-dodge, you still get weird behaviour as a result. Even if dodging into attacks is solved, the player essentially plays Russian Roulette when swarmed with projectiles. Sometimes they spam dodge and come out fine. Other times they get hit. Since no one can be regularly frame perfect, especially in the midst of chaos, the game may be effectively cheap and unfair.

Unfortunately, gamers have come to expect ridiculously long i-frames on their dodge. Not the few frames that older action games gave to offset the latency of their controls, but a half second or longer of God mode. And if your dodge is giving you a half second of invulnerability, it’s hard to make the rest of the positioning work, without putting your dodge on an enormous cooldown, which largely defeats the purpose.

If only this was a more common sentiment.

Also, any kind of dodge doesn’t play well with mouse and keyboard controls, especially with EEI’s general control scheme. You would only be able to dodge in eight cardinal directions, which isn’t ideal. I am thinking about adding an offensive slide to the game, which escapes this problem by sliding in the direction of the mouse, and therefore having effectively infinite precision, but that is quite different from a defensive roll.

However, I do think that special movement techniques are very interesting, and for all these reasons listed above I decided to implement a type of teleportation. The initial incarnation was highly mediocre.

Let me back up a second. The way the player teleports is by throwing something on the ground, let’s call it The Stick. When it is planted in the ground it autonomously attacks enemies, for reasons I’ll describe later. During this time, the player can at any time teleport directly to The Stick and pick it up again, although of course this stops its attacks. 

Pure teleportation is fine, in and of itself, and there are a lot of different ways to utilize the teleport. However, it definitely encourage a safer approach, typically teleporting as far away from danger as possible. Frankly, a vanilla teleport is a death sentence for any player teleporting into a group of enemies. 

I wanted to encourage, although not force, more aggressive play. To that end, I gave the teleport an expanding ring of damage when activated. Getting this right was extremely finicky. My initial idea was to have a very slowly expanding ring, that dealt a lot of damage, but also dealt damage to the player. That way the player was incentivized to use the teleport offensively, but with the downside of being trapped inside for a few seconds. That didn’t pan out, so the current version is pretty similar to a standard explosion. 

For the record, I really like the warbling affect I created, which looks pretty cool in motion. It’s achieved through shifting around uvs and therefore transparency by sliding a Perlin noise texture

It’s all prototype stuff anyway.

Because there is no damage dealt to enemies inside the ring, I couldn’t use Unity’s built in collision detectors. It was a pain in the ass manually syncing the damaging area with the visuals, but we did eventually get there.

But there was still a problem. Some enemies in this game, especially the dangerous ones, have poise/superarmour. It basically just means that they don’t stagger every time they take damage, which effectively means that you can’t teleport near them or they’ll gang **** the player. I made the damaging ring always stagger regardless, and added another little explosion at the start, because enemies that are already inside the ring would just kill the player as well.

Finally, teleportation functioned how I imagined it, but it still felt incredibly bad to use, due to the lack of basic UI features. I said in the last article that you probably underestimate the hours that go into a AAA, or even indie game’s UI, and the sheer amount of work that is required to seamlessly convey needed information to the player. In this case, it was nearly impossible to tell when the teleportation ability was even available to be used. 

I started by creating my highlighting shader, created by scrolling a noise texture through the image. When the teleport is almost ready to be used, it looks as we see it above. When it’s ready to be used, it glows as we see below. Considering how well it turned out coupled with a random image, I’ll probably build upon this effect in the future. It is at least visually clear.

I said earlier that I wanted the teleport stick to autonomously attack enemies. This was my way of getting a placeable object in the game, by combining it with the teleportation. By placeable object, I mean something like a turret, or a healing ward, that kind of thing. That way I don’t need to use another key just for one of those. 

The first iteration was a turret that always shot towards the player. The idea was that this would place an additional pressure on the player’s movement. Now, instead of maneuvering to place your weapons in the optimal position while herding enemies and avoiding projectiles, the player also has to factor in optimal positioning for damaging enemies during this window by putting them in between the avatar and The Stick. It also encourages the player being aggressive and staying out in the open, because if the player goes behind cover the link is broken. Finally, it helps you remember where The Stick is, since it’s more visually active, although it is always present on the minimap.

I quickly discarded physical shots in favour of a consistent line that dealt damage to enemies in between the player and The Stick. In theory, I really love this idea. In practice, boy is it ever annoying and hard to line up the enemies. The area is so large, and the enemies so small, that it requires ridiculously precise movement, all for not particularly high damage, and I can’t just increase the damage because then it’s overpowered for everything else. I’ve got a few ideas in my head to make a similar effect, but drastically less finnicky. Chain attacks, multiple raycasts, a thicker line that doesn’t clutter up half the screen. Not sure how this one will play out.

I’ve also discarded my original idea of tying the teleportation to melee. I might keep the current cooldown reduction that melee’ing enemies provides The Stick, but the initial idea was that you are throwing your melee stick, so you have to decide between that and being able to melee things until you pick The Stick up. That sounds like an interesting decision, but in practice it’s just very annoying to not be able to melee things while a teleportation wand is down. Sure, it might increase depth by providing this tradeoff, but not being annoying is more important.

Anyway, it’s a mess, but it’s coming along.

You may also like

Leave a reply

Your email address will not be published. Required fields are marked *

More in GDev