remnantdodge

Examples of dodging in other games

Greetings game devs! Today we’ll be looking at a few different games and talking about what works and doesn’t work with their dodge implementation. For this I have chosen an example of each of dodged mentioned in the previous article.

So let’s get started!

Displacement - Earth Defense Force 5

EDF 5 is a third-person-shooter with chaotic combat to say the least. Players choose one of four classes to face off against hundreds of giant bugs, aliens, robots and other sci-fi B movie baddies. Each of the four classes comes with its own weapon selection, mechanics and the like but for the purposes of this post, we’ll be focusing on their dodge mechanics.

While each classes dodge performs differently, they all use displacement: Moving out of the way of an enemy attack quickly. Because of this the players experience with how good dodging is will vary from class to class.

Fencers, for example, can use “side boosters” to skate along the ground quickly. The speed allows them to clear a good bit of terrain and dodge most attacks. If a player builds out their fencer properly, they can side boost multiple times before their cooldown comes into play. In my opinion, this makes them the best at dodging in the game. There is a caveat though! Fencers can’t dodge if they don’t have a weapon equipped with side boosters so players that choose this class might not even have a dodge.

Wing divers, on the other hand, have a quick dash but their idea is to be in the air and avoid getting hit to begin with. Then there are the humble Ranger and Air Raider who simply dodge roll.

While I love this game to death, dodging leaves much to be desired. Especially if you’re stuck with the dodge roll.

Enemies, for the most part, will track players movements with 100% accuracy through their dodge. This is especially noticeable with the “humanoid” frog monsters and alien infantry that show up later in the game packing guns. Until their ordinance is in the air there really isn’t much point in dodging and if one of those attacks so happens to ragdoll the player at a bad time they’re pretty much done. But even if that’s not the case, players taking damage are slowed so a high enough rate of fire can just about root a player in place.

So how can we fix this?

Since the biggest problem seems to be ranged enemies perfect tracking I would introduce some form of Interference whenever the player dodges. This way the enemy isn’t just shooting the player throughout their dodge.

What about adding I-Frames? They could work! But they could also throw off balance pretty badly. For example, if a player dodge rolled through an explosion they could avoid all the damage and ragdoll effects that come with it. This applies to other AoE weapons as well where dodging through the affected area wouldn’t make much sense. A workaround for this would be to add rules that make AoE attacks ignore  I-Frames.

Invulnerability Frames - Remnant From The Ashes

Remnant From The Ashes is a Souls like action RPG where players travel across worlds, maybe dimensions, and fight off the Root. Basically really angry trees.

Dodging is consistent throughout the game with the only real variation depends the players current equipment weight. The heavier a player is the slower their dodge animations and the less distance they seem to cover.

According to the developers the numbers are specifically:

Directional Dodge: 9

Back Dash: 8

Combat Slide: 7

And a player can add 3 more frames with a certain ring.

When a player initiates a dodge they are locked into the direction they were going for the duration. For about 9 frames of the animation they are completely invulnerable to damage. If they dodge too soon or too late they will take damage. This is important because a large portion of the game’s combat, even with its guns, takes place in melee. This way players can weave in between attacks and retaliate. This also helps players feel pretty good about themselves when they dodge attacks because the dodge window is pretty tight.

This also applies to enemies tracking player movement during attacks. The tells enemies have when they’re about to attack are pretty solid so once an enemy moves from winding up to initiating their attack they won’t track the players movement much if at all.

But how does weight affect I-Frames?

Weight doesn’t seem to affect the number of frames at all, it’s just the speed of the animations and distance. A lightly armored player will finish their dodge faster and cover more ground than a heavily armored player, but of course they will be punished more severely for taking a hit.

That being said! Remnant did something pretty cool with a super heavy armor they recently added. Rather than making players “fat roll” as they would in Dark Souls, they let players torpedo themselves at their enemies. This actually deals a good chunk of damage with a pretty heavy stagger and it is hilarious. Just be careful about timing, this animation is the slowest to recover from.

Does remnant do anything wrong with their dodge?

Only one thing and it’s gotten me killed when I wasn’t aware of it. The dodge button is the same button used to vault over cover. Vaulting over cover takes priority over dodging

There are ways to fix this, the simplest being just to move the input to something else. But that involves working around the design constraint of the inputs available to the average controller. Another way would be to implement a check where the player has to either be stationary or moving towards the cover they wish to vault over. That way if a player wants to roll away from a low wall they will do that rather than hop over it and get clubbed in the back of the head.

Interference - Warframe

Warframe’s a great F2P game where players take on the roll of a space ninja, in space, with all sorts of crazy powerful warframes, weapons, and mobility available to them.  Definitely a game I’d recommend anyone to check out, not just for the gameplay but the monetization model they use has been the best ones I’ve seen to date.

Their dodge mechanics are also on point! But we’re here to talk about interference only since I’ve noticed this is starting to get a bit long.

So what is interference? Basically when the player dodges the enemy AI’s accuracy stats get messed with. So someone who had a 75% accuracy can have it reduced to say 50%.

This method of dodging is particularly useful for shooters for many reasons, the first of which is dodging bullets has more to do with the shooter being a bad shot and luck than anything else, so it’s not particularly realistic. The second of which is that hitting a moving target is also much harder, especially when those movements are quick and erratic like a Warframe that is rolling across the map and jumping off the walls. It’s all the more important when players are comically outnumbered by enemies who are all too happy to light them up. It looks pretty awesome too when combined with the ability to block incoming projectiles but that’s a post for another day.

Is there anything wrong with this dodge?

Not that I personally can see for the purposes of dodging bullets. This system doesn’t guarantee that the player won’t get shot but it certainly reduces the amount of damage they receive.

Players may not think much about this but it’s a pretty big quality of life improvement over other shooters where all dodging does is try to throw them behind cover. But at higher levels of play where, enemies hit harder and take a bigger beating, you learn to appreciate that interference.

Statistical - XCOM

XCOM’s a game about facing off against an overwhelming alien threat with a limited number of soldiers and supplies. More importantly, it’s one of the best examples of a statistical dodge implementation.

Now, I know you’re probably thinking this kind of dodge is the least interesting to talk about and how to implement, because it is really. But that’s just the challenge we have to deal with when creating any kind of game where the player isn’t in direct control of a characters actions. How do we make it look cool, feel good, or like the player’s decisions mattered.

The execution of the dodge is pretty simple for XCOM. A character rolls an attack against another. The checks go off and if the attack fails the defending character plays a quick dodge animation and the text “Missed” pops up over their heads. The dodge animations themselves more or less boil down to leaning out of the way or ducking behind cover. Not terribly exciting I know.

What makes it exciting is the tension of each situation the player is in. Those soldier’s lives on the field are precious, finite. The medical equipment brought on missions, if any, is limited. Any special equipment that isn’t recovered from from a fallen soldier is lost until it can be rebuilt, if that’s even an option. All of this while players are left guessing how many enemies are lurking in the shadows, when another patrol is going to show up unannounced, flank their position, or show up with an extremely powerful unit.

Simply put, the dodge itself is of little consequence here, but that tension built up around it can be insane. Imagine a precious soldier you’d hate to lose is flanked. The enemy is basically guarantee to kill them. Then they dodge. The relief players feel when something like that happens? It’s huge.

There are extra bits that help juice up the tension like camera angles when actions are happening, the particles from missed impacts and voice overs. But like flashy animations they are details that help amplify the action on screen. Game play is king after all.

So that’s it for these different dodge examples!

As you can see they each consider the kind of game they were building before coming up with solutions that worked for them. There are many more examples to pick apart out there but I’ve rambled enough for one post.

Next time I’ll be talking about line traces. A lot of team members I’ve had at game jams and some students I’m mentoring don’t know about this crazy important tool so I’ll shed some light on it.

Catch you next week!

Add a Comment

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