carlos.redolar.torres@gmail.com

Enemy design

Home

Enemy design

Introduction

This section is primarily intended to assist in the early stages of Roguelite enemy design. It focuses in particular on the initial approach to enemy objectives and mechanics, as well as a series of tips to guide the moment of implementation, and information on how challenges evolve. It completely disregards the artistic side of enemy design or story.

Player actions

When designing enemies, we must keep in mind that in a Roguelite they are the main challenge for the player. Therefore, the gameplay mechanics available to the player in each game should be the starting point for designing these challenges.

The player has a number of mechanics at his disposal, which result in the different actions of the player in the game. First we ask ourselves the question: "What do we want the player to do? The common answers in Roguelites to this question revolve around dodging attacks. From what we have seen and analysed throughout this work we can differentiate between 4 types of actions on the part of the player:

Kite

Kiting is a concept used in video games to refer to the action of attacking while keeping your distance from an enemy. The main objective of this action is to inflict damage on our enemies from a relatively safe position, as we move in the opposite direction to the enemy.

Generally, melee enemies chasing the player incite this type of action. However, more evasive ranged enemies can generate the opposite, with the enemy now "kite" the player, and the player becoming the pursuer.

Normal dodges

We refer to normal dodges as those dodges that can be performed by the player's basic movement or by using the terrain, without the need to use any special ability (action with cooldown time) of the character.

Special dodges

Special dodges are different from the previous ones in that they depend on the use of some additional mechanic. In this group we find mechanics such as: jumps, crouching, dashes, shields, etc.

Enemies with ranged projectile-type attacks are the ones that force the player to dodge the most. However, it will depend on the parameters of the attack, such as projectile speed, which will determine whether the dodge should be performed with the basic move or with some additional mechanic.

Timing

Timing dodges are time-related dodges. While it is true that every dodge depends on doing it correctly in a time interval, this category is exclusively reserved for a type of dodge with a very narrow window of opportunity to perform them. Generally in this group we find the "parries", a mechanic to completely block damage or even return it, which must be very precise at the moment of receiving the attack.

As we progress through the Roguelite games, we can see that the deployment times of attacks and the player's windows of opportunity become much shorter, so that by the final stages of all the games analysed we find that all the previous dodging actions begin to blend in with this group.

Challenges

We have already seen the type of actions that the enemies of this genre of videogames want to generate in the player, so we divide the challenges into parts to be analysed separately: spatial challenges and temporal challenges.

The primarily spatial challenges will be those that focus on the player having good battlespace management. Enemies focused on this type of challenge have attacks that limit the player's movement, either by dividing the map, creating danger zones, or forcing the player to anticipate projectile trajectories.

Time-based challenges, on the other hand, are those that focus on the player's time management of actions during combat. Enemies focused on generating these challenges have quick attacks, leaving little time for the player to react to them.

Enemy creation

In this work we have collected a large number of different mechanics that make up an enemy of the Roguelite genre. As these are divided into 4 groups, the easiest way to create an enemy is to choose one (or several) mechanics from each group to fit the type of challenge we wanted to propose to the player in the previous point.

We have reverse-engineered the enemies, breaking them down to extract common factors, so that once the basic mechanics have been obtained and isolated we can put them together to build new enemies. As an example, several enemies are described below:

Longspear (Hades)
  • Terrain interaction: Gorunded, dash
  • AI behaviour: Chase
  • Attack: Melee, charged attack
  • Extra abilities: Ability upon death, revive
Inferno-bomber (Hades)
  • Terrain interaction: Gorunded, jump
  • AI behaviour: Chase
  • Attack: Ranged, area of effect, damage
  • Extra abilities: Ability upon death, damage
Assembly
  • Terrain interaction
    • Flight
    • Grounded
      • Run
      • Jump
      • Dash
  • AI behaviour
    • Chase
    • Patrol
    • Static
  • Attack & Abilities
    • Melee
      • Basic attacks
      • Charged attacks
    • Ranged
      • Projectiles
      • Special projectiles
      • Sustained beams
    • Area Of Effect
      • Damage areas
      • Debuff areas
    • Support abilities
      • Protection
      • summoning
  • Extra abilities
    • Strengths & Weaknesses
    • Connection abilities
    • Abilities upon death
      • Damage
      • Revive
      • Summoning
Parameterisation of enemies

As we have already seen, enemies constitute different challenges throughout the game. These challenges, even taking all of the above into account, can still be designed with a difficulty that is inappropriate to the level at which they are encountered. These problems with the balance of the game systems would become part of the balance of the game, not the design. However, while designing our enemies we can parameterise certain mechanics from the start in order to facilitate playtesting and balancing later on.

Having said that, all enemies we design should have the following parameters in order to nerf and buff them with ease, allowing us to make substantial changes to the mechanics without the need for additional programming. The common parameters found in this analysis are:

  • Sight range
  • Attack range
  • Attack deployment time*
  • Attack parameters**
  • Time between attacks
  • Resting time***
  • Move speed
  • Time of trajectory calculation****

* The deployment time of the attack is the time it takes for the enemy to perform the attack, in the case of charged attacks this time is very relevant to the balance of the mechanics. In the case of less forceful attacks it is still present, even if it is minimal.

**When we refer to the parameters of the attack itself, we mean to summarise the number of parameters of the attack mechanics. In the case of an enemy with cone projectiles, the parameters would be the number of projectiles, the angle of dispersion, the speed of the projectiles, and so on. Therefore, the number of parameters to be taken into account in this category will depend on the particular mechanics.

***Rest time is the time it takes for an enemy to recover from their attack. While it is true that most enemies with basic attacks do not have this, most enemies with charged attacks have pauses in their actions such as movement at the end of the attack. This time interval is useful to let the player rest after each challenge, so we can add it to any enemy to a greater or lesser extent.

**** Again, this refers to charged attacks, but can also be extrapolated to projectile calculations. Within the range of time it takes for an enemy to charge the attack, the moment of trajectory calculation determines the difficulty of dodging, being more difficult the closer it is to the moment of launch.

Challenges evolutions

When we want to design variations of the same enemy that challenge the player more, we count what we call quantitative and qualitative expansions. Instead of making an enemy more difficult based on the basic numbers of its mechanics, such as health, damage or speed, expansions make the previous challenge more difficult in a more imaginative way.

Quantitative evolutions

A quantitative expansion is simply the achievement of the same challenge repeatedly. This expansion can occur in both the number of enemies and the number of mechanics. For example:

  • Challenge 1: 1 enemy shots 1 projectile
  • Challenge 2 (Type 1 evolution): 2 enemy shots 1 projectile
  • Challenge 3 (Type 2 evolution): 1 enemy shots 2 projectiles

In both cases we have the same mechanics repeated in order to increase the difficulty of the previous challenge. These types of expansions are very easy to add to our game and are a good tool used in all Roguelites.

Qualitative evolutions

A qualitative expansion is the creative evolution of a challenge. This expansion requires a full understanding of the challenge and the mechanics involved in order to change it to increase its difficulty. Example:

  • Challenge 1: 1 enemy shots 1 projectile
  • Challenge 2 (1st evolution): 1 enemy shots a sustained beam
  • Challenge 3 (2nd evolution): 1 enemy shots a sustained beam and rotates

In this example we can see how the projectile mechanic, which used to make the player dodge in one direction or the other, has become a slightly different mechanic. In this variation of the basic enemy mechanic, the player's decision to dodge left or right is now more relevant, as they will be exposed to that challenge for a longer period of time.

The downside of this type of expansion is that it requires more understanding and creativity. Also, sometimes a whole mechanic is redone, so it requires more production and programming work.

Time expansions

The last way to increase the difficulty of a challenge is to increase the time of exposure to the challenge. Challenges are seen as certain actions that the player must perform and overcome between gaps of relative safety, so increasing the time between gaps of safety creates longer and therefore more difficult challenges. For example, it will be more difficult for the player to maintain the concentration of dodging consecutive bullets for 1 minute than it would be for 10 seconds.

In this type of expansion, factors such as fatigue come into play, as the player, having already mastered the mechanics, may have lapses in concentration and execution over longer intervals of time.

Contact

carlos.redolar.torres@gmail.com