Monday, February 28, 2011

Game difficulty (Part 8) - Case Study

In discussing various RPG fights, I've realised that I've not actually put forth many options on how to many fights interesting or manage difficulty.  As such, I thought I'd discuss an idea I'd previously had for a particular boss encounter.  This particular encounter was created with a high-level Neverwinter Nights 2 module in mind, so may not directly translate to other rule systems, but there are still merits to discussing it as a case study. Plus this way I don't spell out any encounters from The Shattered War in full! If you're not interested in encounter design I'd probably suggest you skip this post. I get down into the weeds a bit discussing various mechanics and impact of various effects on the encounter, and this post is a massive wall of text.

On the off chance you're not familiar with some basic terminology, here's a quick rundown:
DPS: Damage Per Second. How quickly enemies/players do damage.
HP: Hit Points. How much damage enemies/players can take before dying.
CC: Crowd Control. Killing or incapacitating large groups of enemies.
Tank: Player who able to absorb or avoid enemy attacks, and is the target of most (if not all) attacks from an enemy.
Kite: To run around with monsters in tow, preventing them from hitting the kiting player or any other player.
Adds: Enemies additional to the main boss.

The particular encounter was set in a catacomb of six rooms arranged in a linear fashion.  The player encountered the boss in the very first room, and could initiate the fight. However, at the start of the encounter, the room would fill with adds, making it difficult to reach the boss. These adds had moderate DPS and HP, and served as a shield to prevent the melee DPS warriors reaching the boss.

The boss would launch ranged attacks at the party from behind his protective wall of adds.  After the boss takes 10% of his total health in damage, or all the adds were killed, the boss would flee into the next room. Regardless of why the boss fled, the player was unable to pursue until all the adds were dead. However, as soon as all those adds were dead, another wave of adds would spawn in the next room and the sequence would repeat.

Upon reaching the last room, two kinds of adds would spawn regularly. High HP and low DPS adds would spawn close to the boss (to continue to serve as a shield) while a larger number of low HP and high DPS adds spawned from the back of the room. If no character was engaging the boss in melee combat, he would launch damaging area of effect spells on the entire party. In melee combat, he was significantly less dangerous, and could be tanked fairly comfortably.

This encounter forced players to pace themselves through the various stages. Ideally, the party would attempt to cause the boss to flee from each room by making him take 10% of damage in health. This made the final and most dangerous stage of the fight (where the high DPS adds were spawning) could be finished more quickly. This forced them to manage their resources throughout the first five rooms, but also be judicious in their target choice during that period.

The final room forced the players to divide their attention between multiple threats - concentrate on the boss in order to end the encounter, make sure that the number of shield adds did not get out of hand, and quickly dispatch the groups of high DPS adds. One thing that is very important to note is that if the player was diligent and aware, it was possible for them to pick up information regarding the behaviour of the boss, the nature of his various adds, and that there were six rooms he considered his inner sanctum. As such, the player received knowledge in-game that gave them some indication of how the battle would play out.

If we look at implementing different difficulty levels within this encounter, it is not straightforward. My first thought I was to decrease the boss' retreat percentage to 5%, but this is actually a very bad idea, as it limits the player's ability to use strategy to produce an advantage. This takes away the player's ability to use tactics rather than forcing them invent new ones, which is the opposite of the desired effect. The solution I ended up devising came about through the adds in the fight.

In the preceding rooms, the moderate DPS/HP adds would be increasing replaced with high DPS/low HP adds. While this potentially results in a similar effect of reducing the boss' health flee percentage (because he flees once all the adds are dead) it forces the player to manage their strategy throughout these rooms. If they do not concentrate enough on the boss, the final room will be significantly harder, but if they do not kill the adds quickly, they might run low on health and healing resources for that final stage.

In the last stage of the encounter, harder difficulties would change the spawn mechanics of the adds. Rather than simply spawning them every 20 seconds or so, the high HP/low DPS adds would spawn in large batches, and the low HP/high DPS adds would spawn frequently. This amplified the danger presented by each group and forced changes to the most common way to deal with them.

Low HP/high DPS adds are prime material for crowd control (CC) spells or abilities - a whirlwind or fireball frequently can dispatch multiple such adds. However, if these adds spawn frequently enough that the player would run out of resources (mana/spells per day/whatever), then this forces the player to rethink their strategy. They potentially have to get a party member to kite or tank these adds and wait until they form a large enough group justify the use of such an ability.

The high HP/low DPS adds do not present much of a threat in low numbers, which is why spawning them in a group makes the encounter more difficult. If the tank is unable to cope with the damage from the boss and these adds, they will die and the player will be overwhelmed. As such, the player will either need to dispatch part of the enemy group immediately to prevent that from happening, or attempt to wipe out the group as a whole using CC. Keeping in mind the potential tanking/kiting of the low HP/high DPS adds, the player would have to manage their timing so that they did not need to CC both the high HP and low HP groups at the same time.

Again, the key here in changing this design was not to force the player to abandon tactics or force them to use on single tactic. Ultimately, it comes down to something that I always advocate for RPGs - giving the player choice. Taking the above example, players might try different options based on their party make up. If the party had a warrior, rogue, mage and cleric, they might proceed how I've described. However, a party with high burst damage (say, warrior, two mages and a mage/cleric) might attempt to simply focus all the fire on the boss in the hope of eliminating him quickly before cleaning up the adds.

The designer can implement encounters such to force a particular strategy, but encounters that force the players to determine the best possible solution for their party makeup.


  1. Sounds like a great encounter. I think I used all the pieces in various places in Broken City, but didn't put them together quite like that ;)

    Did NWN2 have threat and body-blocking? I can't really recall, but I think a D&D3 or lower "tank" would struggle to control the adds in that situation (though a D&D4 defender would probably manage if they videogamed up the abilities a bit in translation). Whereas in DA:O you can definitely create that sort of tanking/CC/kiting challenge, but the adds would politely shuffle out of the way rather than providing any safety to the boss :)

    What sort of HP relative to the party's DPS would you see the boss as having? If I'm reading right you'd end up facing a 50% health boss in the final room? The 10% flee figure seems like it would be trivial to spike the boss into fleeing, but if not (due to weight of HP), that final phase could be really long. I'd be inclined (certainly in DA:O) to make the threshold say 20% on easy up to 50% or so on the hardest, and then have the boss heal a bit in each new room. That would give you a few more levers to pull.

  2. Thinking on this further I feel like the middle four rooms of your six room structure provide a good opportunity to set up a learning curve for higher difficulties.

    For example each one of those four rooms could have a particular periodic mechanic - in one room there's a damage effect that requires the party to bunch up, another to spread apart, one might make the adds enrage briefly, the other make the adds explode.

    Then in the final room, all four effects can occur. Having learned them one by one in the preceeding rooms, the player (sufficiently warned by emotes/vfx) can be challenged to recognise the next effect coming and incorporate it into their strategy.

    On lower difficulty levels the effects could be much less severe, or absent entirely.

  3. Threat wasn't a mechanic that was easy to directly manipulate in NWN2, but body-blocking did exist. You could shove people out of the way or squeeze past enemies, but it wasn't a straightforward process. Managing the threat of the boss-protecting adds was possible through some minor scripting - basically implementing custom scripting to send a message to any of the "protector adds" to attack the closest person attacking the boss.

    As for the boss health, in D&D you have damage resistance to play with, so these could potentially be upped to make it take slightly longer to force the boss to flee during the initial stages.

    Adding further gameplay elements requiring player movement would definitely be possible to really ramp up the difficulty and give the player more to think about. The module that this was part of was going to have quite a number of varied scripted encounters - some of which definitely involved positioning... not just of the players, but also the enemies themselves.

    As with all encounter design, it really comes down to how imaginative you can be, while operating within the confines of what is believable in your setting. Of course, that's all part of the fun of game design!