Sponsored By

Featured Blog | This community-written post highlights the best of what the game industry has to offer. Read more like it on the Game Developer Blogs.

Designing Dexterity-based Melee Combat for an Action-RPG

Traditionally RPGs use dice to randomize combat results. This post discusses how we used timing and player skill to the same effect without compromising the strategic options players expect from an RPG for our game upcoming game Unexplored.

Joris Dormans, Blogger

July 5, 2016

9 Min Read

Unexplored is a 2D roguelike, action-rpg. For a large part, the gameplay of Unexplored hinges on its melee-oriented, physical, real-time combat. For a roguelike game this is an unconventional choice. Many roguelikes are turn-based and their combat systems can be traced back to the dice rolled in many table-top RPG. It’s a system that easily incorporates the tactical and strategical choices that makes these games so compelling. In roguelikes that are real-time, the combat is often ranged, and frequently still incorporate dice rolls to determine damage. For  Unexplored we decided to go in a different direction, we wanted to retain all the tactical considerations that a good RPG offers, yet replace dice-rolls with a system based on player skill as much as we could. To achieve this the game draws inspiration from classic, top-down Zelda games and the original Prince of Persia. In this post I explain how Unexplored’s combat system came about.

 

Unexplored is a classic roguelike: you explore the Dungeon of Doom in search of the Amulet of Yendor

Figure 1 - Unexplored is classic roguelike: you explore the Dungeon of Doom in search of the Amulet of Yendor.

 

Dungeons & Dragons uses dice to randomize the outcome of combat encounters. Randomness is used in this way to represent the skill and luck involved in real combat. This design choice makes sense for any turn-based game that is more about the strategic and tactical choices than it is about the actual skill of wielding a blade. What type of weapon to use against which foe is very important. However, when combat is real-time, another option to include skill and luck into the simulation arises: timing.

 

One of the cleanest examples of combat that is all about timing can be found in the first version of Prince of Persia. In that game sword fighting is implemented with only four moves: the player can advance, strike, parry, or step back. The key to defeating your opponent is in finding the right timing and rhythm for your blocks and parries. When you do hit, your opponent loses a hitpoint and is forced backwards. You are also forced back when you parry a strike. This basically leads to two ways of defeating your opponent: either hit him enough times, or push him back over an edge. With the option to quickly step past to reverse the direction of the fight, this creates a pretty wide range of possible fighting strategies for a combat system this is build out of four moves and no dice-rolls.

 

Timing and a couple of simple moves are also the cornerstones of Unexplored’s combat system. The player can move around freely in the 2D world, and holds two weapons which each has one or two attack moves. Facing is crucial as the direction of your sword or shield matters a lot in determining whether you hit, block, or miss. The attacks are deliberately simple and always deal a fixed amount of damage. All weapons have an active attack activated when you click the left or right mouse button (depending on which hand you are holding the weapon). Some weapons also have a passive attack, one that gets activated automatically if the weapon hits an enemy. Typically the passive attack is weaker than the active attack, but the active attack might have a longer cooldown period during which the weapon cannot be used.

 

Facing is important: these spiders will not throw themselves onto your sword. Instead they will try to attack you from behind.

Figure 2 - Facing is important: these spiders will not throw themselves on your sword, but they will try to attack you from behind.

 

There are a couple of basic types of attack. Most passive attacks are simple stabs, whereas active attack can vary from lunge attacks (short swords and spear), swings (axes and longswords), or ranged attacks (daggers and bows). Many weapons have other trade-offs, spears have a good reach, but a long cooldown period. Crossbows require only one hand to fire, but you must stand still to reload, an axe has a powerful swing but no passive attack like a longsword does, and so on.

 

Because of all these differences, many different strategies emerge. When fighting against big groups of weak enemies you best use the passive attacks of fast weapons such as daggers and swords. A spear is very effective against weaker weapon bearing creatures as its reach and power can take them down with a single well-placed stab. When using weapons without passive attacks such as axes and maces, a shield is very useful. It is not difficult to see that for all these different combinations you have to adjust your timings. Over many playtests we have seen different fighting styles favored by players: some liked fast weapons, while others went for the big swinging attacks, while a third used two spears to great effect.

 

Fighting off a goblin armed with spear and shield. Are your sword and dagger better?

Figure 3 - Fighting off a goblin armed with spear and shield. Are your sword and dagger better?

 

Unexplored is an action-RPG, this means that we do needed some sort of progression system to tie in with the combat. We decided to keep that as simple as possible as well. In the end we ended up copying the approach taken by Brogue: the player has two stats: hit points and strength. Hit points can grow, and as it grows the player can take more damage before dying. Strength dictates how effectively the player can use weapons. All weapon and armor has a required strength. If the player has less strength, a penalty to damage, cool down time, or in the case of weapons movement speed, is applied. If the player has more strength this can actually result in a bonus to damage or cool down times. To get around some of these penalties players can choose to equip any weapon with two hands. This effectively raises their strength by 3.

 

A powerful axe wielded in two hands will be more useful agains the armoured orc.

Figure 4 - A powerful axe wielded in two hands will be more useful against the armored orc.

 

In the end, we did not leave out randomness entirely. Randomness plays a role in the way armor works and how critical hits are handled. Armor comes in two basic types: light and heavy armor. Light armor deducts a little of the damage of each blow, whereas heavy armor has a chance of reducing the damage by a lot for each individual blow, and sometimes only against blows coming from the front. The latter represents the chance a weapon slipping past heavy plates or you scoring a blow on an unprotected body part. Any creature can combine one layer of light armor with one layer of heavy armor.

 

Any blow has a chance of doing critical damage. Critical damage is different for different types of weapons and attacks. Critical damage with a piercing weapon ignores all heavy armor; it has a better chance to slip past. Slashing weapons have a chance to cause a wound to bleed: effectively dealing the same amount of damage again over time. Crushing weapons have a chance to stun your foe. Obviously, not all foes can bleed or be stunned.

 

The combination of critical hits, different armor, amount of damage, speed and cooldown of two possible weapons creates a myriad of strategical and tactical options. Enemies are designed in such way that they have unique strength and weaknesses, always keeping the players on their toes and constantly having them evaluate their current strategy. Timing is vital in performing the attacks, but using the right combination of weapons and armor is just as important.   

Will your magic mace be effective against these skeleton warriors?

Figure 5 - Will your magic mace be effective against these skeleton warriors?

Unexplored is currently on Steam Greenlight.

Read more about:

Featured Blogs
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like