Combat Design

Guide info

Long: 51-55 minutes

TLDR - What this guide covers

  • Defining the role of your combat system within the game and its importance relative to other systems will help you determine its complexity and design all related mechanics and aspects.
  • To keep players engaged with the combat system, provide reasons and opportunities to interact with it outside of battle, establish a noticeable and impactful progression, and ensure combat interactions feel meaningful and rewarding to the player.
  • You can enhance your combat system by interlinking all its mechanics around a central concept, this way the system will be cohesive, all mechanics will have greater significance, and you will keep gameplay interesting.
  • Design simple yet varied attacks that are easy to use, complement each other, and that can be adapted to different playstyles. This will allow players to use them in diverse ways, and will make the combat system more expansive.
  • Balance the combat’s pacing by providing the player action attacks with support-based skills, and by mixing high-stakes moments with meaningful pauses, offering players opportunities for strategic decision-making and keeping battles dynamic.
  • Ensure the essential mechanics of the combat system make the player always have to interact with enemies in an active, direct, and non-cheesy way.
  • By incorporating movement as a part of the combat system, you can create opportunities for strategic position, dodging, or attack combos.
  • Set how fast and frenzy, or slow and impactful the battles are in order to shape the player’s experience according to your goals.
  • By adding customization options and trade-offs within your combat system, your game will have a higher replayability value and players will be able to try out different strategies and find optimal setups.
  • You can enhance the importance of an option by linking it to other ones, this way each part of the combat system will be interconnected and the value of all its aspects will increase.
  • The enemies you place should serve a purpose and complement the player’s experience in the game. How you spread the enemies will impact the perception of the area in which they are as well.
  • Enemies should be built in a way that they enhance the strengths of your combat system and let the player interact with it effectively, while feeling part of your game’s world.

1: Knowing Your Goal

Knowing what your combat system should do is extremely important, as combat comes in all kinds of forms and has various different purposes. This section will cover how you can identify the purpose of your combat system and how you can use it to design the system.

Role in gameplay

The first thing to figure out is what role your combat system plays in your game. You can do this by seeing how your combat interacts with other systems. A simple combat system that has a lot of movement capabilities would be made to enhance exploration and movement. On the other hand, a complex combat system that has no interaction with other systems would be the sole focus of the game.

Let’s look at a couple examples: in Hollow Knight, combat serves to complement exploration and movement. It’s not intended to steal the show of the game, but it’s in-depth enough to still function against bossfights. In Pokemon, the whole point is that you go around the world finding pokemon to battle with you, making combat an important part of the gameplay. There are more unique roles that combat can serve; in Tears of the Kingdom (TotK), combat promotes creativity by allowing the player to use various Ultrahand machines to fight.

Importance to the player

The next thing you need to identify is how important your combat system will be to the player. What this basically means is that you need to ask yourself, ”How much does the player need to care about the combat to complete my game? Will they be able to get success by just winging it, or do they need to study and strategize?” This is useful to help you to design enemies & bosses because you need to know what you expect of the player to actually design things to their skill level. Keep in mind that this only really applies to during the first playthrough; this matters a lot less post-game.


Using the same examples from earlier, Hollow Knight doesn’t expect the player to be extremely good at combat, as you can get through most of the required bosses with average skill. In Pokemon, no skill is required at all to beat anything in the game. TotK has a decent level of understanding required, as you either need to know how to dodge and maneuver through close combat, or create functional resource-efficient machines to do the fighting for you.

Why does this matter?

Now that you’ve identified what your combat should do, you can set your boundaries. You know your combat’s complexity, your bosses’ difficulty, and generally what to do with your combat systems. For example, you should have extensive customizability for a combat system meant to be the core of the game, but not if you just want it to complement the movement like an obstacle course.

To help understanding, let’s see how this applies to our previous examples. Hollow Knight offers a simple combat system with only 4 main attacks, but gives you charms for customization, including movement and combat aspects. Pokemon gives you virtually no way of customizing your build in order to make the game easier for their target audience. TotK creates Zonai devices, which among other things, allow the player to use flying machines to traverse space and big laser guns to kill bosses.

If you’re struggling to define your mechanics and set their purposes, I recommend to use this checklist:

  • Does this mechanic make players optimize resources and play better? If so, do you want that or should the player be allowed to do what they want?
  • Does this mechanic take attention from other systems? If so, do you want that or should it only add to other systems?
  • Does this mechanic not matter much to the player? If so, do you want that or do you want the player to engage with the mechanic?
  • How can this mechanic encourage this or that? Does the mechanic help towards the goal of your combat system?

2: Outside Engagement

Outside engagement is simply engagement that is created from the combat system, outside of combat. This can mean different things; the player wants to participate in a battle, the player wants to find and improve their strength, etc. These are outside of combat, yet they are directly related to the combat and can improve the game’s engagement as a whole.

Opportunities

When it comes to making the player interested in combat, having the opportunity to fight is an important first step. By giving the player multiple different opportunities to participate in battle, they’ll have to weigh their path; should they fight all of the enemies, should they fight the 2nd enemy, or should they run past them all? All of these create interesting situations that make the player decide and make tradeoffs (like the ones covered in Mechanics 4).

You’re able to spice this up by changing the circumstances of the opportunities. This delves a bit into enemy design, but I’m including it here as it focuses more on creating outside engagement than good enemies. You can make your opportunities oriented towards different skillsets. For example, you can have two different enemies, where one enemy is tanky but weak offensively, while the other one is agile but dies fast. This creates an “interested decision”, where the player can choose between challenging themselves or taking the easy route. You can combine opportunities too; placing enemies near each other means that the player will have to avoid some enemies (or they can fight all of them). Usually the player won’t notice these decisions, but it still creates an interesting dynamic that the player will have to subconsciously adapt to.


Another thing to note is how you can incorporate your combat system against things that aren’t enemies. This can be like attacking a rock to get its resources, something that Hollow Knight does, or shooting bullets to activate switches, something Laika: Aged Through Blood uses. By using attacks in various other non-combat related places, you can keep the player hooked to the combat system without actually being in a battle. This can help avoid mechanic burnout too, if you accidentally end up doing that.

Scaling & Progression

If the player is constantly getting stronger and stronger as the game goes on, they’ll always look forward to the next upgrade. This is called progression, because the player is always progressing and getting stronger. The scaling part of the title comes from how you need to make every change noticeable. If a new upgrade makes a noticeable difference, the player will know that it’s a worthwhile investment to continue upgrading.

Almost everywhere you look you can find examples of this. Skill trees actively keep you invested as you know when you’ll be getting an upgrade and what the upgrade is. There are decisions involved too as you need to decide between which skill to unlock, it’s called a tree after all. Leveling systems also apply this, though they’re easier to make and easier for the player to use (which is good depending on the type of game you’re making). You don’t have to make a system like this though; something as simple as an item system works. As you progress, you get items which you can use to enhance your capabilities. The good thing about this is how customizable it is; by combining items and various other upgrades, you can get a huge boost from simply playing better.


The tricky part is applying scaling effectively. A slight change in the player’s setup, like upgrading a skill or equipping a new item, should translate into a big change when in battle. This allows for progression and scaling in your combat system. while it also leaves room for player-driven strategy. Keep in mind, you can create almost any kind of system to fulfill this role, being more creative with it will create a unique experience for the player.

Meaningful Interactions

Easily the most important (and obvious) factor is to make the battles actually mean something to the player. This can be satisfaction from fighting the enemies (covered later), but also the reward you get from fighting them. Rewards come in all shapes and forms; money, resources, experience, etc. The important part about this is the balance between not important enough and too important.

Let’s first look at what happens when interactions aren’t impactful enough. As you can probably assume, there would be no reason for even participating in the combat. The player would be allowed to skip everything, and then the whole point of this guide will be thrown out the window. This gets even worse if encounters are forced. Think about Pokemon; you would have to walk through a bush to get to your destination, and there’s an 80% chance you would encounter an enemy. Because fighting random pokemon you’ve seen before has no benefit at all, it ends up being a giant drag. This gets even worse if the enemies are difficult enough that you can’t run away, making the game go from boring to frustrating.


On the other hand, think about what happens if the interactions were a bit too impactful. The player would feel pressured to fight every single enemy in the game. This would be like if you had to kill every enemy in Pokemon rather than running, though more preferable as you’d still get a reward. It turns the game from a fun experience to a horribly paced grind fest. Imagine going around clearing every area of enemies for two hours, it would definitely not feel good. The balance between too impactful and not impactful enough is necessary. You should fight this enemy, you’ll be at a slight disadvantage if you don’t, but you don’t have to.

3: Designing Attacks

This section will be about important concepts and considerations about what actually goes into designing the player attacks. We finally get into the meat of the guide.

Combat Structure

To start off, let’s talk about the structure of your combat system. The structure is simply the interaction between different mechanics of your combat. The point of a structure is to make sure every part of your system is interlinked. Almost all combat systems have a central mechanic that makes up the core of their combat. For example, Pokemon uses pokemon, Hollow Knight uses soul, and a game which we’ll talk a lot about later, Xenoblade Chronicles 3 (XC3), uses the class system.

The reason why I bring this up is because you should try to increase the amount of interaction between all your mechanics, and make everything revolve around the central mechanic. If your central mechanic is interesting enough then not only will your whole combat be interesting, but it’ll feel more cohesive as well. This is why combat in Pokemon (before you get to the competitive level) isn’t really interesting, yet the diverse pokemon themselves keep the experience fresh.

Additionally, increasing the interaction between different mechanics will ensure that every element of the combat system has greater significance, allowing you to flesh out your system even if your base mechanics aren’t interesting. Going back to Hollow Knight; soul and your normal nail attacks are directly interlinked, as nail attacks charge up to soul spells. On the other hand, the Nail Arts don’t offer any unique interactions between both normal attacks and soul spells and are slightly clunky to use, hence why people forget about them.


Now that I’ve discussed the important bits of your combat structure, let’s look at common structures within systems that you can sneak into your combat system. These aren’t extremely crucial for making a good combat system, but you should still keep them in mind as you plan out your combat.

The first idea I’ll talk about is “abilities” or “skills”. These are simply perks that change the player’s prowess. They’re used a lot in other games as you’d expect: charms in Hollow Knight, skills in XC3, abilities in Pokemon, the perks on your weapons in TotK, star powers in Brawl Stars, and much more. These skills are found in an endless amount of games because of how universally useful they are. Skills work because:

  • in some systems like the skill trees mentioned before, the player may need to choose between which skills to take, meaning they need to make decisions.
  • you may be able to unlock skills to improve your strength as a whole, allowing you to apply the scaling & progression concepts.
  • skills allow the designer to take a lot of creative liberties, since you can basically do whatever you want to a certain skill. It makes every experience unique.
  • they directly affect the player, allowing for interaction between elements of the system.

Next, let’s cover the idea of “tiers”. By using smaller attacks, you’ll get to charge up a bigger attack, in other words being able to use a higher tier of attacks by using a lower tier. Lots of games use this; for example, nail attacks lead to spells in Hollow Knight, auto attacks lead to arts in XC3, normal attacks lead to supers in Brawl Stars. These work because:

  • players can see their progression; how many attacks they’ve unlocked and what it’s the next tier of powerful attacks they can unlock.
  • they need to decide when and where to use it correctly, allowing for decision making.
  • they can think about the optimal way to get to the next tier the fastest, allowing for strategizing.
  • they provide a really good way to interlink different types of attacks together really easily.

Simplicity & Variation

When it comes to the attacks themselves, the most important thing to remember is to make them simple but varied. Let’s start with identifying simple attacks first.

Why do you want to make them simple anyway? Doing this gives the attacks lots of ways the player can use them. A slash to the left allows the player to do a lot more than an attack that has a triangular hitbox precisely 12 units above and to the left of the player. Complex attacks are designed towards nicher purposes, so simpler attacks will have a much broader use case.


To identify if an attack can be called simple, I like to use the concept method. Take an attack and try to define its concept in as little words as possible. Hollow Knight attacks would go as follows: right slash, left slash, up slash, down slash, horizontal projectile, dive with shockwave, and upwards shockwave. All of these take only about 2 words to define, which is why they work so well together in-game. Keep in mind I didn’t go into the effects of the attacks, at all (down slash bouncing you up, or the dive giving you invincibility frames). Simple attacks work because of how easily you can combine them with other attacks, but attack effects that are simple don’t contribute much except for making them easy to learn. You shouldn’t make them extremely complicated, but it’s not a problem if they’re not simple either.

Next, let’s talk about variation, which is important due to lots of reasons. Let’s start with one: your attacks should be simple but you should have a lot of them that are varied enough that your player can do virtually anything with the whole set. Think about Super Smash Brothers Ultimate; you have 15 normal attacks that are all simple, yet can be combined in lots of ways to create combos that you can continue from nearly everywhere. If my moveset consists of only vertical attacks, I won’t be able to combine that with any other attacks and the player will feel limited. With varied attacks, the player will have the option to combine them in unique ways; knocking the enemy backward then hitting them with a projectile is a combo that wouldn’t work if your attacks aren’t varied.


Going back to the vertical slash moveset example; even having just 2 vertical slashes will become redundant. Why would I ever use this vertical slash when I can use the other vertical slash? There are situations where this wouldn’t apply, as this is somewhat based on your combat system in general, but just think to yourself; if I have this attack, would the player ever need to use this other similar attack? There’s also an identity problem too, because your attacks will be much less memorable at all if they’re all the same.

The last reason why variation is important is because players enjoy multiple playstyles. Some like stocking up on defense so that they won’t die, some like to put effort into being able to heal themselves before they die, and some like to kill the enemy fast enough before it can hurt them. You should design your attacks around different playstyles so that lots of people will be able to play them. You should also try to fill the different types of attacks; close ranged attack, projectile, upwards attack, downwards attack, etc. Doing this will allow the player to do lots of different things from different situations while making the whole system expansive in general.

I’ll only briefly talk about how to create variation in your combat as it really is simple. You just need to compare the concepts of your attacks again. This is the moment where the effects of the attack, that is the additional conditions that an attack can do, come into play, because they make the difference between an attack to another. For example, a poison cloud is completely different from a stun cloud, even if both are just clouds, and this difference makes them useful in separate situations.

Pacing & Decisions

This subsection might belong in the next section, but I think it’s related to the design of your attacks enough that it warrants being in this section. Pacing is a constant back and forth in action. Having the same intensity all throughout a battle tends to get numbing, but making things too calm removes the action in a battle. Ideally you should mix in pacing with the enemy, but it’s important to allow the player to take a break while keeping it meaningful to the battle. Decision making is something you should try to maintain everywhere, but by creating pacing in your combat you open up doors for interesting decisions too.

First off, let’s talk about pacing in attacks. Your combat doesn’t always have to be high speed high stakes boomy zoomies; incorporating more support based attacks are vital to change up the pacing. Support based attacks are things like buffs and healing; this is the only time I’ll mention healing because it varies a lot depending on the game. You need to make them important enough where the player SHOULD use them; they’re basically vital to the combat and not using them would be a major disadvantage. This opens up a new door of decision-making; Since the support based attacks are important, you need to find room to use them. Against bossfights this is a whole other dimension, looking for places you can heal. It offers the player room to finally breathe, but alternatively you could use the healing opportunity to attack the enemy. This raises the stakes even more; you can either not get hit so that you can attack without needing to heal (difficult), get hit but attack anyway to try and finish the boss (risky but rewarding), or heal and play it safe (less risk and less reward).


Another thing that’s important to maintaining the pace is to control the length of a battle. Long battles tend to drag and feel annoying, especially if you consider how many you encounter. Not only that, hopefully you’ve seen the attention span of kids these days; short but interesting things work wonders toward keeping the player attentive. Your battles shouldn’t be too short, because then they’ll feel more meaningless. Taking up your time makes something matter, but taking up too much time makes something feel annoying. The balance can change depending on your goal with the fight and the skill of the player.

You can control the length of a fight to influence the player as well. Encountering a long battle at first makes the enemy feel like a bossfight, but when they find out it’s just any other normal enemy it changes the players dynamic with the enemy. The player will likely avoid the enemy because they don’t want to constantly be stuck in a long battle again, or they could try to optimize their setup to shorten the fight and be able to pass the enemy consistently, but if they do so and the fights are still long, it serves as a great way to steer players away from something subtly. Doing this has its risks though; you can’t overuse this specific enemy and you need to make the fights optional, in order to not hinder pacing. These concepts apply all over the guide too, like player optimization, enemy design, and even the subsection on opportunities earlier, so make sure you don’t forget it.

4: Creating Action

In the previous section, we covered designing attacks. This section will talk about how to create fun combat action.

Forcing Interaction

When designing mechanics for your combat, it’s always better if they encourage interaction with the enemy in some way. The Mechanics 5 guide covers this, but it’s important enough to mention again. There are many different ways to do this, like making attacks recharge your abilities or even something as simple as lowering the player’s range (enough where they can’t cheese enemies from afar).

In the Combat Structure subsection, we covered how you should try to have a central mechanic to your combat. Ideally, your central mechanic should try to incorporate exchanges with the enemy and should try to make you think about what you do, rather than being able to just camp. In Hollow Knight, you need to attack to get your spells or to heal, forcing you to interact with the enemy.

Let’s look at a counterexample too. Breath of the Wild and Tears of the Kingdom have a shield system where you can backflip while holding the shield; by doing this when the enemy attacks, you can perform what’s called a flurry rush, which deals a lot of damage to the enemy. This actively takes away from the combat because you can literally just stand there holding your shield out. This creates boring gameplay as there’s literally no important action happening as you hold your shield; the timing isn’t that hard either, meaning that in the end you get more benefit by standing still compared to being active.


To test if your central mechanic helps force the player to engage with the enemy, just think about it. Does your mechanic strive to make the player move around and think about their choices? If I’m making a combat system where every quick consecutive successful attack makes my total damage higher, will that make the player strive to interact with the boss? Yes, because the player needs to constantly bombard the enemy with attacks rather than standing still. If I make a mechanic where the longer the player stands still the more power they charge up, will that make the player strive to interact with the enemy? No, because you get stronger from standing still! On the other hand, a mechanic where the more the player moves, the more energy they gain, works well as the player would constantly have to be moving around; it won’t be the most effective as you can just shimmy around, but it’d definitely be better than the alternative.

I’ll quickly mention ranged attacks here. I recommend having a meaningful ranged attack in the Combat Structure section, but there’s a bit of nuance behind them so that you can still make players approach enemies rather than camping and shooting. The first method is by actually limiting the projectiles. I don’t mean lowering the range, rather limiting the amount of uses in general. For example, imagine if you used energy to shoot a laser. You’d have to build up energy first and you can’t just spam lasers forever. Think about what would happen if you had a max of 20 arrows or arrows were a lot harder to find in TotK; every arrow would matter and you can’t just sweep every enemy camp from afar.


The next method is by simply allowing the enemy to counter the ranged attack. This is a bit harder as you can’t truly control all of the players options, but it’s still viable. Lynels in TotK take care of this really well because if you’re too far away, they shoot you with a devastating bow; hiding behind a wall doesn’t work because they can shoot up too, effectively acting as a homing arrow. The only way you can counteract this is by actually engaging (which we want), or completely surrounding yourself (and then you can’t win the battle). Surrounding yourself only works if you create a contraption to do the fighting for you, which requires you to use Ultrahand creatively; you won’t be engaging with the enemy as much but using Ultrahand to make combat easier is still a form of “combat” and it’s still the goal of the game if you remember what I mentioned in the Knowing Your Goal section.

Keep in mind that simply lowering the damage won’t work, it’ll only make the cheese more tedious. It doesn’t fix anything in the end, and may even stray players away from using the projectile the intended way.

Using Movement

This isn’t required, but mixing in movement with your combat is an amazing way of creating depth. It’s easy and does wonders; even doing something as simple as increasing damage if you hit from a certain position makes the player think about how to get there as fast as possible. It can help make realism (you obviously need to move in a real fight), increase the skill ceiling via accuracy and optimal movement, and helps create an intuitive enemy attack system as you simply need to dodge, nothing more complicated than that (though more complicated hit-chance systems work amazingly and can create new depth in combat as well). Besides, it’s biconditional too, because spicing up the combat using movement makes movement more important too.


Now, most combat systems already have movement inherently within the combat, but there are still ways you can enhance this. Enemies will constantly move around, meaning the player needs to catch up to continue attacking them. You would need to make sure your attacks are free enough that you can easily move after them to continue attacking, but by making certain attacks stronger but more limiting to your movement, you can create interesting choices for the player (limitations are things you can apply everywhere). Knockback is a good way of creating movement as well because the player is the one making themselves move, it’s not reliant on the enemy moving. Players can use this to their advantage too, as it allows you to combo enemies. You can see this applied in Smash Ultimate and various bosses in Hollow Knight that can take knockback, like what speed runners do to Hornet (bully her into a wall until she dies).

Another obvious way is to flatout make the attacks move you; players can take advantage of their own movement in combat to perform better. Any form of movement will be applicable to combat: an attack that moves you forward allows you to dodge attacks while attacking, an attack that launches you up can be used to maintain pressure while dodging but also serves as an additional jump outside of combat, even something that stops your movement like stalling you in the air can be used to dodge a difficult attack midair. It forces the player to interact with movement while allowing them to take advantage of it as well.


I’ll quickly mention positionals, which I talked about earlier. It’s niche but it works really well. Giving players boosts like increased damage when they attack enemies from a certain position like the side, makes players see how to get there optimally. It’s simple but does a lot, because you can’t stand in one place to spam your attacks and you’d be forced to move (which plays into forcing interaction). It creates depth in combos while adding a bit more uniqueness to the attacks.

Controlling Speed

The speed of combat varies between different systems, and it’s important to do it right. First, let’s see what defines them.

Fast combat makes use of combos and constant pressure on the fight. You need to take full advantage of your movement to maintain consistent DPS against the enemies, meaning your movement system should work well with your combat. Something like how Hollow Knight bosses do this; (endgame spoiler) if you’ve seen skilled players fight bosses like ||Pure Vessel|| and ||Absolute Radiance||, they constantly move around the battlefield dishing out damage while narrowly avoiding the attacks.

Slow combat means that every attack is heavy and impactful, and you have to stretch your movement system to dodge. It follows a “dodge, punish, dodge, punish” type of back and forth, and requires the player to think much more about every action. Some examples of this are TotK and early-game Hollow Knight; in TotK, you need to be aware of every action and carefully dodge attacks, and in early game Hollow Knight, you need to focus on surviving while punishing the boss when you know you can get away with it.


Next, let’s talk about the pros and cons of the different combat speeds. Fast combat feels a lot more satisfying to pull off, but it tends to be overwhelming and has a higher difficulty level. You have a lot of liberty when designing enemies as you don’t need to accommodate for the players lack of mobility. Slow combat is usually much more hands-on; everything you do requires you to commit to it. It creates a constant sense of awareness and anxiety, especially as every attack feels substantial and matters. Slow combat also has the additional touch of feeling a lot more realistic, which helps toward the atmosphere. Whereas difficulty in fast combat comes from the player’s speed and combos, difficulty in slow combat focuses on making the most out of your limited set of movements.

Actually implementing these is simple because it’s just an application of all the concepts in this guide within different contexts. Talking about the information here would be redundant, so I’ll just briefly mention them:

Fast Combat

  • to maintain the pressure on the boss, the player should be able to keep up while attacking, so mix the movement into the combat (covered in Using Movement).
  • the player should adapt to their positioning and combine different attacks, so give them varied attacks (covered in Simplicity & Variation). Slow Combat
  • to make the attacks feel impactful, make them slow; the player will have to commit to them but it’ll be worth it since they can punish enemies a lot.
  • to make your players constantly be aware of what’s happening, limit their movements and make the enemy attacks big (covered in Complementing Combat, later in the guide).

5: Player Optimization

Allowing players to optimize their combat is extremely nuanced and important to do right. This section will cover why you should incorporate optimization and how to do it correctly. Keep in mind this section only ADDS to the Mechanics 5 guide, so make sure you understand that guide first as it’s equally as important to creating strategy in combat as everything covered here.

Small Preface

The first thing I’ll talk about is what optimization actually is in this context. Optimization occurs post-game, and it’s about finding the best setup to maximize your damage output or other various goals; the optimization that I’m talking about does not involve strategy within a battle, like optimizing your aim or timing. This would be like creating the best team in Pokemon or finding the best charm setup in Hollow Knight. Another name for this is teambuilding, the only reason why I didn’t use that name for this section is because it doesn’t always apply to teams, you can easily apply this to single characters or other things.

But then again, why would you want players to strategize and optimize in your game?. Optimization comes at the end of the game, when your players are completely maximized. Then, it’ll be on the player to seek out and find all the best strategies, meaning that optimization is completely player-driven. All you’re doing as the creator is to make sure this player-driven process is rich and engaging. Because it’s player-driven, it creates replayability within your game, as there will always be more ways players can use your combat system, assuming it’s good. This also creates a deep community, as everyone who cares about optimization is working together on trying to maximize benefit.


However, to the players, what they’re really looking for is how to absolutely demolish everything in their path; according to WolfeyVGC, a top competitive Pokemon player, “As a competitive player, it’s more about breaking the game than about making sure that everybody’s having fun.” This is why I mentioned how optimization occurs in the post-game phase, because at that point the player has beaten the main challenge. You can now throw game balance out the window and let players absolutely unravel every inch of your game; high-level communities simply want to see big numbers, rather than a fair and balanced endgame. Keep in mind you should prioritize the experience during the game, over after the game, so you should maintain balance in the playthrough first before worrying about postgame optimization.

Customization

The first baseline thing to have in your strategic combat system is lots of customization. After all, there wouldn’t be anything to optimize if the player can’t customize their setup. On a more specific level; options give players the ability to change things about their playstyle, which allows them to increase their strength in battle, so having a rigid combat system does not allow players to optimize.

The way you do your customization matters a lot though. Things like “Accuracy +6” or “Strength +13” don’t actually make you think about how to combine them in unique ways; instead, aim to make your customization involve trade-offs, which you should remember from Mechanics 4. Doing this makes the player think about the blend of trade-offs to maximize benefit and minimize drawbacks, which is what you want. For example, in Pokemon, recoil moves like Flare Blitz or Brave Bird deal high damage but damage the user as well, making it risky to put on your team, meaning you’d need a sufficient reason to use it.


Even with trade-offs, customization options that heavily change a playstyle will link the in-battle and out-of-battle combat. It adds another factor to strategizing too, since players will still choose the playstyle they enjoy the most. This doesn’t mean you make a good strategy unenjoyable though, as that goes against what I said in Forcing Interaction. Pokemon is a good example of this; changing your moves is a way to customize, yet it directly changes the battle. There are subtler signs of this too; in Xenoblade Chronicles 3, there’s an accessory that increases your damage for every consecutive attack (resets at 6), and though it doesn’t change your attacks, you need to get into a cycle with your attacks to get the most benefit on the 6th attack, heavily influencing your playstyle.

There’s also the idea of lowering the amount of options the player has to increase how much they have to think; this goes against “more options = better” because as you should know by now, limitations are extremely important to creating strategy and you shouldn’t let the player go unbounded without extreme care. The reason why less options may make players think more is because they need to find a way to maximize their benefit with the limited amount of tools they have, meaning they’d have to pick the best set of options among a whole bunch of options. Charms in Hollow Knight need charm notches to use, meaning that if you spammed all the high-notch charms, you wouldn’t have space to use other valuable charms, making you think about what to use and what to sacrifice.

Options & Value

Easily one of the most important things to making options is value, that is, how important something is. When you decide to use a specific skill in a game, what other things does it impact? Does it raise the value of other options or does it lower the value? For example, increasing critical hit damage will increase the value of critical chance, or if you have a status effect that’s really strong, it’ll increase the value of those who use the status. By making everything matter to each other, you’ll create an interlinked web where each part is useful and adds value to the others.

You can do this by seeing how options relate to each other. For example, because of A, B will be more important, and because B is more important, C will be too. This example works but it doesn’t work well because it’s just a chain rather than a web; instead, you should aim for something like this: because of A, B will be more important, which means C will be important; C being important brings higher value to A and D, and D being important brings higher value to other things and so on. Here’s a graph of what I just described, notice how it isn’t just a chain of arrows but rather a small little web.

Let’s analyze some strategy games to see how they apply this concept; mainly Pokemon and my personal favorite game, Xenoblade Chronicles 3. This concept is hard to apply and something you learn over time and experience, so these extensive examples work towards honing that experience and being able to recognize how different options impact each other’s values. These paragraphs do go a bit into the technical details, but what matters is that you look at how the options interact. Seeing the ways that various mechanics in Pokemon and XC3 interact may give you ideas on how to make your own mechanics interact, so use this as an example of interactions rather than needing to understand how and why they interact this way. Also, I’ll be graphing the options and how they connect with each other; keep in mind that you don’t need to understand what’s going on, just pay attention to all the links to each other.


Generation 7 of competitive Pokemon had weather effects as a big part of its metagame, making pokemon like Pelliper who brought Rain much more important. This already increases the value of water type pokemon, but it also increases the value of pokemon like Tyranitar with access to Sandstorm; when switching in two pokemon with weather abilities, the weather of the slower pokemon will apply second, meaning that if you swap in Tyranitar and Pelliper at the same time, Sandstorm will override Rain. This is a somewhat niche mechanic, but discoveries like these make optimized battles more interesting. Tyranitar was a really important way to counteract weather effects. This puts value on another weather pokemon, Mega Charizard Y. In Pokemon, you can only mega evolve during your turn, meaning your Charizard won’t be mega evolved when switching in; you could mega evolve into Mega Charizard Y after the Sandstorm from Tyranitar is active to bring in Drought. Though this counteracts Tyranitar’s Sandstorm, Mega Charizard Y was extremely weak to rock, making it still a fine balance to construct, rather than having Mega Charizard Y be the ultimate measure against weather. This is already pretty deep, but Mega Charizard Y being strong brought other factors into the equation, like Stealth Rock used by Tyranitar, which makes Defog from Pelliper more important. Below is a small chart of how the options in Pokemon interact with each other; this isn’t a full chart, but it shows how something as small as weather could impact each other.

Now let’s move on to Xenoblade Chronicles 3, which I’ll shorten to XC3 throughout these paragraphs. I talked about it in Mechanics 5 and mentioned it slightly in various subsections of this guide, because XC3 is just that good of a game. First, I’ll talk about how its combat system actually works. As I mentioned in Combat Structure, it follows a “tier” type system, where normal attacks build into arts, which act as small abilities, recharging for every normal attack. Arts build into talent arts, which act as big abilities. Throughout the game, you unlock classes; each class is a unique weapon with its own arts and skills. Skills are passive buffs that increase your strength in various ways, like increasing your damage for every time you land a critical hit. The cool part is that when you use classes and rank them up, you can take the arts and skills of that class and use it on a different class; this allows you to use other playstyles within another class, or use other arts/skills to complement the playstyle of another class. This instantly skyrockets the customization and possibilities of the combat; 24 classes on 6 characters with 3 arts and 2 skills you can take from each class create 720 different customization options in total, even while ignoring other customization options like gems or accessories.


Alright, now let’s look at examples of how it uses value to its advantage. Every time you land a hit, there is a chance (called the crit chance) that you land a critical hit, which increases your damage by one of the best damage boosts in the game. This increases the value of crit chance, meaning you land more crits, but also increases the value of critical damage, which increases the amount of damage you get from each critical hit. There’s a skill which recharges a bit of your arts every time you land a critical hit; this increases the value of critical hits, but also increases the value of the recharge stat, as with more recharge you could restore your entire art with one critical hit. To get to the necessary recharge threshold you could use a recharge field, which increases your recharge if you stand in it (influencing your positioning); recharge fields are only usable by certain classes, which increases their value. This isn’t enough for some classes, which is where Awakening comes in; it’s a buff that not only increases your recharge, but your overall damage and your critical chance as well, making it way more important.


Awakening only has 2 sources, and the most viable source is a class called Seraph, which is the best damage dealer in the game (if it were bad, it wouldn’t be as fun to use, meaning your final setup won’t be able to reach funny big numbers). One of the best builds on Seraph uses the accessory called “Shackle Ring”, which increases your damage for every consecutive hit, resetting at 6 (I subtly mentioned this early if you noticed). Because it resets every 6 hits, you’d need to get all your arts back to continue the cycle, which is how critical hit recharge factors back in, and you may notice that this fundamentally changes the playstyle as well since you want to always keep the cycle running. This one setup alone requires so many external factors to work, even some that I haven’t mentioned. While it might seem overwhelming to a new player, it creates such an amazing experience once you actually understand what’s going on. Strategy games are confusing, but that’s what makes them fun.

All of this is to say, when making your options or customization sources, the more they connect with each other, the more satisfying the end result will be. What I’ve shown you in both Pokemon and Xenoblade Chronicles 3 are tiny parts of the wide and overarching teambuilding world; the final graph of the entire thing is unbelievably giant, yet the tiny parts are already incredibly rich. Here’s a final graph of XC3; just by looking at it, you can tell how everything links together, and the final product creates such an amazingly well balanced team setup that’s used to break the game. As a reminder, you do NOT have to understand what is going on here.

“Solving” the Game

Easily the biggest problem with allowing for lots of optimizations in your combat is that over time, there will end up being a singular strategy that absolutely dwarfs all other strategies due to its pure strength. There’s no point in optimizing to find other strategies if one is single-handedly better, effectively nullifying this whole section. Basically, the game is “solved”. There are multiple ways to counteract this though, and that’s the whole point of this subsection. The methods I’ll be talking about are multiple different optimal strategies, difficulty in performing the most optimal strategy, and simply giving different goals that all require different strategies to complete.

The first one I’ll be talking about is multiple strategies. Having several viable strategies to use allows players to choose which one they want to use, and gives each one a separate niche. You would also be able to mix and match multiple different strategies, and since they’re all equally good at different times, players will constantly have to edit their setup depending on their personal preference and their goal. For example, even though Pokemon clearly has some obviously strong pokemon like Rillaboom and Incineroar, they’re made in a way where there’s still ways to counter them and succeed, allowing people to create different strategies against each other. There’s also the additional method of having flex slots that ultimately don’t matter towards the best strategy, making it so players would still need to decide how to fill in that slot which will influence other decisions they make.


Next up is difficulty within the optimal strategy. Maintaining difficulty within the strongest strategies shifts the focus from finding the best strategy to finding the best way to perform the strategy, which is based on skill, something that’s ever-changing within every player. It doesn’t matter that you can kill the strongest XC3 superboss in 30 seconds if it requires extreme precision in maintaining a cycle, managing everyone at a time, and ensuring you get the most benefit out of everything you do. Even if there’s less strategic thinking, there’s still effort in succeeding with the strategy. This may lure players away from the strongest strategy and have them trying to find a safer viable strategy on their own.

The most important method in my opinion is simply giving players lots to work towards. Players will constantly find new things to do, which means more things to create strategies for. There are plenty of skips in Hollow Knight that push the limits of the game crazily, yet they aren’t used except in niche speedrun categories because there isn’t a point to. Yet, by giving the players different things to do, new strategies arise that are incredibly interesting. There are multiple different strategies in XC3 that require lots of different innovations, like single-target battles, multi-target battles, speedkills, gauntlet mode, etc, all of which require a different mindset and different strategies to be optimal in, yet you can also combine these various strategies to create new strategies that work in more than one category of combat.


The last topic I’ll talk about is player integrity. When you’re reading a book or watching a movie, you don’t want to get the ending of the plot spoiled. Even if there’s a strongest strategy, most players will attempt to experience it by themselves rather than looking up a one-to-one tutorial, because it simply isn’t fun to get everything handed to you. Also, when playing through a game, players would still have to figure out their own setups before they get to the post game optimization phase; even if there’s a single optimal strategy, players are still able to enjoy your complex combat system before they get there.

6: Enemy Design

Enemies are an obvious facet to combat as without good enemies there wouldn’t be anything fun to fight. Enemies are heavily dependent on what you want them to do in the game, and they’re incredibly in-depth, but most of the details when it comes to enemies are just applications of various things covered in all of these guides, so this section will serve mostly to confirm things and give additional tidbits to watch out for.

Purpose & Positioning

All enemies you place down on the board should serve a purpose of sorts. An enemy without a purpose is exactly the same as having no enemy and it provides no aid to the player or the general feel of the game at all. There are many different types of purposes for enemies, like introducing players to a mechanic, offering a small challenge, giving players something to unload their rage on, and even just filling space assuming you do it right. The best way to approach this is to think of something you need, and then seeing how you can have your enemy fulfill this purpose. In other words, the purpose will make the enemy, rather than the enemy that happens to have a purpose. Enemies with a clear and defined purpose should be easy to deal with, but most of the rest should be positioned in a way that complements the player’s experience through the game. This is basically the Cognitive Mapping, Pacing, and Player Perception section as stated in the Level Design guide and how it applies to enemies.


When players see an enemy, they either engage or avoid. Engaging enemies is usually for the player’s interest; they want to try a new attack they got, or they want to simply fight an enemy for the benefits (like we covered at the beginning of the guide, in Meaningful Interactions). Avoiding the enemy is another decision they can take, which is usually because they have an ulterior motive that they want to accomplish over killing a random enemy. This means you need a balance of enemy placement; enough enemies that the player can always fight at almost any time, but not too much that it becomes a burden constantly avoiding every enemy (though this has some benefits, to be covered later). The balance of simply the spread of enemies can already tell so much to the player too, because increasing the amount of enemies in an area will make the area more tense and stressful while making the area more valuable if the enemies are important to the player, increasing the risk while increasing the reward. Less enemies will make the area calmer and bring more focus to the other aspects of the area, which is vital depending on your goal for the area.

Simply seeing an enemy will affect what players think of the area as a whole. If players enter an area and instantly encounter a difficult enemy, it’ll set the standard for the rest of the area and even stray players away from that area. A horde of enemies in one spot will bring attention to that area, but a lack of enemies will as well. When planning out how players will react when traversing through your area, enemies are vital to controlling what the player thinks.


I haven’t actually described how to design enemies toward their purpose, but that’s because it honestly really depends on how your enemies usually are and what their purposes are, so instead I’ll just go over some examples. Here’s a list of common enemy purposes and how I would go about actually fulfilling their purpose.

  • Introducing the player to a difficult required area. Start off with a singular difficult enemy, hopefully in a dedicated room. Some players may see this as a mini bossfight because of the framing, which is good to set the expectation. You could also open up with a big room with lots of those enemies everywhere, but spaced apart so that players will be able to avoid them. If players had a high standard of the enemy, seeing multiple will act as a small shock to accentuate the reveal.
  • Encouraging players to wander into an optional area. Put a new type of enemy wandering some place around the entrance to the new area which gives lots of rewards to the player, to stir up curiosity and incentive. You could also lower other types of enemies around that entrance, not only to help with future traversal but to entice players into going to a calmer place.
  • Allowing players to try out a new attack or strategy after unlocking a new ability. Have lots of various enemies (ideally in most of your areas, unless there’s a reason not to) which are relatively easy to defeat but somewhat tanky, to actually allow players to try things. Make them spaced out but not rare, so that players will always be able to unload their attacks without any interference.

Complementing Combat

One of the biggest uses for enemies is to complement the combat system. They serve to let players interact with the combat system, and therefore should be built around the combat system. Enemies should try to enhance all the strengths of your combat system while avoiding the weaknesses.

You need to keep an eye out on every topic covered in the Creating Action section when designing your enemies. Enemies shouldn’t force you to wait, because that’d just be downtime that the player isn’t interacting with the enemy, but it could function to create a break in the action pacing-wise while allowing skilled players to take advantage of the extra time to do various things. Something like a warrior enemy that parries all your attacks, then attacks you whenever you let your guard down won’t work well even though it’s a good concept because then it’d either be a waiting game until the enemy strikes first, or a repetitive game of trying to catch the enemy off guard, both of which aren’t desirable. Instead, something that has the enemy constantly pressure the player while forcing them to find openings will not only make the player look at the enemy logically, but provides them something to do every second.


When it comes to movement in combat, having the enemy move around is a no-brainer. The player will need to move around to sufficiently maintain pressure on the enemy. You still need to design your enemies to complement your movement system though, because that’s how you can truly interlink your combat and movement systems. Hollow Knight uses a system where whenever you hit enemies with a down-slash, you bounce up and regain both your dash and double jump. Enemies will typically have forgiving hitboxes to not punish the player too much for bouncing on them, and enemies that stay airborne will feel a lot more fun to expertly maneuvering around, yet there are enemies that have an upwards swing to stop players from perpetually bouncing on the enemy with no drawback; it’s good to keep track of every aspect of your systems.


Complementing the speed is something that enemies excel at. If your combat system is overall slow, it’s important to make enemies slow and lumbering, and if it’s overall fast, it’s important to make your enemies fast and evasive. Mixing around the various speeds of enemies will achieve different results too; fast enemies in a slow combat system will force the player to adapt and see the best way to counteract the enemy, which is what Thunderblight Ganon does in BotW. Slow enemies in a fast combat system will allow players to unleash their true might while making sure they don’t push their luck and risk getting a giant attack to the face. Another thing important to mention is rhythm. Enemies that have a consistent rhythm will be extremely fun to battle against; it’d basically feel like a dance, but cooler. To have a rhythm in your enemy is as simple as making the attacks follow a metronome or a more complicated pattern. Players will be able to predict the timing of the attacks and feel it much more than if it were randomly timed. A fast rhythm serves another purpose of increasing the speed of the battle in a manageable way too. You can see this applied in the Sisters of Battle bossfight in Hollow Knight (this is a spoiler on a small reveal, but nothing important to the main story of the game).


The last thing I’ll discuss is limitations on enemies. Limitations is something we’ve gone over vastly; it had a whole dedicated guide to it and multiple mentions in all the game design guides, so it should be obvious why they’re useful now. By making enemies limit the player’s options, like by stopping them from doing something specific, it makes players approach enemies differently. This not only makes them think about what they can do to circumvent the limitation, but it also changes the “value graph” I covered in Options & Value too because certain things will be weaker against certain enemies, making other things stronger, etc. Type weaknesses in Pokemon completely influence the metagame, and other enemies like the final boss of Persona 5 Royal use it as well to push the strategizing capabilities of the player to their limits.

Ecosystem & Atmosphere

This may be a shocker, but most enemies you fight against are alive, and if they aren’t, they affect other living enemies in some way. The ways players interact with enemies outside of combat and the ways enemies interact with each other, turn the game into a nuanced and immersive experience. Like the previous two subsections, this is mostly how enemies apply toward a Level Design concept, this one being Environmental Storytelling. This isn’t a requirement towards a good combat system either, simply something that will increase the immersion of your game by a lot.

There are multiple methods to make the player feel like a part of the world, the first I’ll talk about is over/under leveling enemies. If you’re walking through a jungle, you’ll easily be able to fight some bugs and fend off some monkeys, but you’re in trouble if you find a lion. Overleveling enemies is not only realistic, but it makes you always need to keep track of your surroundings. It makes the player understand that they aren’t the center of the universe. The player is just another creature, part of the ecosystem of a cast world. This is part of the reason why Rain World and Planet of Lana feel so immersive, you’re a small human/slugcat amidst dangerous monsters on every corner.

The next method depends on how players can interact with enemies outside of combat. In Hollow Knight, you can bounce off of the bugs of Hallownest, allowing you to reach new places. This directly makes the enemy matter to the player in a world perspective. If you can latch onto a flying enemy or lure a big enemy into breaking a wall, it makes enemies important in a way that transcends a simple fighting dummy.


The last and the most important concept is giving your enemies a personality. Walking back and forth repeatedly makes your enemies lifeless, but having let’s say a dog enemy jump around and dig holes is a great way to show it’s personality, and maybe when it digs something up it can give the player a collectible too. The thing with personality is that enemies can interact with other enemies too. In XC3, Volffs (the equivalent of wolves) tend to group together around a Feris (a big Volff), and they attack other enemies in the wild like Bunnits and even other Volffs. Tirkin, which are basically big chickens that can speak, have forts and villages and even have alliances with other species like humans and Ignas, which is why you can find them commonly together. BotW and TotK have Bokoblin camps, where groups of Bokoblin gather together around a fort with various protections like rolling spike balls and barrels of explosives. You can easily find enemies fighting each other throughout TotK too. Having life in your world makes your game feel lived in, and that there are other creatures other than you which have their own lives and interactions, important to establishing an economy and atmosphere.

Credits

Created by @ChuckOlate and @ontos