How an Environment Layout Affects Difficulty

Dec. 6, 2016
protect

I recently gave a talk at GDC Europe 2016 titled 'Creating Conflict: Combat Design for AAA Action Games', alongside fellow designers Mike Barclay and Sam Howels.  The talk is available on the GDC Vault (albeit currently for members only) but I thought I would share the content of my part in an article that can be easily referenced quicker than searching through sections in a video.

I’m going to take a look at how we go about creating a level’s geometry arrangement with reference to how the environment informs the difficulty of your encounter.  We know the standard and most basic way of changing difficulty is by adding and layering in different enemy types.  These are macro changes; bigger increases in difficulty that make noticeable steps up for the player.  But what about micro increases in difficulty, rather than just big sweeping changes?  How can you balance difficulty without relying on AI numbers or character types; especially when you may be restricted to certain character types for your narrative?


This can be done by using the environment to influence the behaviour of the AI and how the player combats them.  This is good for maintaining that the difficulty raises as the player’s skill level increases and allows us to closely match the challenge to the player’s skill to ensure levels don’t become stale before new character types are introduced.

This is achieved through the design mantra ‘form follows function’; that a shape of a building or an object should be primarily based upon its intended function or purpose.  In our case, that a level’s arrangement of geometry needs to support and influence AI behaviour and that different arrangements inform different outcomes.  In this article I will be covering:

- How an environment can be built to encourage or suppress movement, and how movement affects difficulty

- How manipulating cover can affect difficulty without artificially altering AI behaviour

- How an arena layout can affect the positioning of the enemy and what this means for challenge

 

How an environment can be built to encourage or suppress movement, and how movement affects difficulty

Firstly, why would we want to affect the movement of enemies?  Simply put ‘moving enemies are harder to hit’.  In our case, it’s far easier to hit a static enemy, than one who is running around the environment.  Suppressing enemy movement is useful for creating easier encounters, such as at the start of the game when the player is getting used to the game’s mechanics.  Whereas allowing enemies to run around a lot means the player has a lot more of a challenge to deal with, such as if narratively you wanted the player to feel overwhelmed.

So why can we not just artificially restrict AI to stop them moving?  Well it’s good not to do this so you don’t have strange behaviours that go against what the player has already learnt; it’s important not to break patterns of AI behaviours so that it’s easy for the player to read and plan against.

For example, if you created a refuge space that you populated with enemies, perhaps because they guard the exit, or you didn’t want the player to be able to leave without conflict, but they weren’t allowed to leave the area then you can risk muddying the understanding of the combat situation for the player.  If the player has a ‘go there’ mechanic, like throwing a rock or other item for the enemy to investigate, or even if the NPCs investigate areas where they thought they saw an enemy, then it breaks the gameplay pattern (and the use of any mechanics themselves) if the AI don’t react accordingly.

In this situation the player can feel cheated, and in extreme edge cases you could also end up with situations where AI won’t be able to run away from grenades or other danger areas, thus breaking the illusion of artificial ‘intelligence’

 

So how do we restrict or promote movement by using the environment?  We have to arrange the environments to support the AI classes which are being used.  For example, the assault trooper in Killzone, when in a combat state, moves between cover positions and will only pick other positions that are within a maximum distance.  They will also try to maintain certain distances from the player so that they can occupy a mid-range.  This is because of the type of enemy class they are, compared to the short range of the shotgun trooper, or the long range of the sniper.  They will only engage in melee combat if the player has closed in to within a short enough distance, otherwise they will always try and move away into mid-range cover, should there be any available.  So if you wanted the enemies to be able to traverse smoothly you would position cover within their movement ranges.

If you wanted to discourage movement you would not place any cover here and the troopers would have no other choice but to occupy one area of cover.  However, should the player either close in to within melee distance, or throw a grenade to move them, they will react normally and as their standard behaviour dictates, so they don’t break any behaviour patterns.  Level layouts and cover arrangements will be influenced by your game’s AI metrics.

Another way to discourage movement and progression both for the player and the enemy is to use a ‘No man’s land’.  This is an open area devoid of cover so it’s a dangerous place for players and the enemy to cross as they are completely open and easy targets.

This psychologically makes people refrain from moving through it until the area is clear and it’s safe to do so.  In terms of AI these no man’s lands will be further away than their cover movement distances when using AI classes that use cover.  It’s a way to stop the player from moving onwards through the level, without artificially restricting them or holding them back in a noticeable way.  For example, in the first encounter of the opening mission of Killzone Mercenary the player’s immediate goal is the climbable pipe at the back of the arena.  To stop the player from dashing on ahead I used a small no man’s land between the player’s front and an enemy front.  The depth of this area was more than the distance an assault trooper would seek a new cover position within and it encouraged the player to stay at the original cover positions until the enemies were defeated.  This was to ensure they were facing towards the climbable pole behind the enemy at the end of combat, which was the next part of the tutorial.

The troopers’ movement was reduced by not giving them any flanking routes, which also ensured it was an easy battle for the player to have at the start.  If we provided routing and cover within the movement distances according to the metrics then this would encourage the troopers to move more (and thus be harder to hit than a static target) and they would have been able to move to more advantageous positions, where they could potentially surprise the player with an attack.  If an enemy can get closer to the player then it’s assumed their accuracy and damage is increased (depending on their weapon of course).

Allowing for the enemy to flank the player is a harder case than remaining in one position.  Further to this, an even harder case is allowing the enemy to ‘enfilade’ the player.  Enfilade is a military term that refers to flanking an enemy so that they are positioned with no cover from the side and are thus exposed and vulnerable.  If done to the player, this causes them to have to move from their current position to a safer position which they can defend from.  They are often rushed into a new position that they haven’t necessarily planned out first and this scenario can be quite panicky, so coupled with receiving fire whilst exposed it makes this a very hard case.  It is good to encourage the player to move though so that they don’t experience the entire combat sequence from just the one position, which come become repetitive.  Reversing these roles would make it an easier case for the player in which the player has a flank route that they can enfilade the enemy from; an easy case and a satisfying one when you are able to cut down the enemy without them being able to defend themselves.

How manipulating cover can effect difficulty without artificially altering AI behaviour

The thing to consider with cover, and one of the fundamental thoughts behind its form, is that ‘Knowledge is Power’.  If you as a player know the movement and position of the enemy you have an advantage.  For example, providing only low cover options allows the player to track enemies within the environment because enemies are generally fully upright when running between cover islands.

In one of the earlier sections from Gears of War, as the enemies run into the arena from the side they run behind predominantly low cover.  This allows the player to track them all as they cross the area to their cover positions.  The player knows where all the enemies end up and can strategise their plan of attack accordingly – Knowledge is Power.

When in low cover, enemies tend to be at a height where the player can see the top of their heads whilst they move, which means that when enemies move to a new position whilst still in cover the player is able to see and track this movement.  This means the player is not caught in a situation where they don’t know the location of the enemy and thus won’t get flanked or surprised with an attack.  When the player uses low cover, both in 3rd person and 1st person they can see over the top and track the enemy from a safe and, depending on how your game’s rules work, a hidden position.

Low cover is a harder case for targeting the enemy as they generally expose less of their body when they attack.  Whether they peek over low cover or do blind firing or if they stand up to take a more accurate shot, they only expose half their body, as the lower half is blocked by the cover.  The upside, meaning it’s not too tough to combat, is that the area that the player is targeting includes the head, which traditionally is the ‘one shot kill’ location on the target’s body.

High cover, on the other hand, doesn’t reveal

JikGuard.com, a high-tech security service provider focusing on game protection and anti-cheat, is committed to helping game companies solve the problem of cheats and hacks, and providing deeply integrated encryption protection solutions for games.

Read More>>