Enemy Design – Enemy Types and Distribution

After the great effort by Daniele in his post and the opening of the new Bestiary page I thought it would be good to expand a bit on the design process behind Wizards’ Duel enemies before tackling them in a more direct way as we develop them.

Fiery Pit enemies lineup

Fiery Pit enemies lineup

Of course, after being gamers ourselves for over two decades, we have a sort of implicit understanding of enemy types and different kind of challenges but we also know that enemy design is one of the most important parts of an action oriented game, thus simply capitalizing our experience without thinking it trough would not do.

We begun the enemy design about a year ago, this was useful for Daniele to wrap up its mind around the aesthetic of the game but also to set up goals for the development of the game mechanics. I had already in mind a good chunk of the game’s enemies when I decided to put them on paper (actually on a spreadsheet) to share them with Daniele and refine them together.

As soon as I started, I decided to first create categories for the enemies to fit in. You know the drill: there are mobs, there are damage sponges that turn a straight-forward combat into a resource management puzzle, there are the high damage ones that you want to take down immediately and so on. Everything pretty standard, right? Well, there is this site that deals just with these kind of “tropes”: TvTropes (let me warn you before following the link, it can ruin your life!).


What xkcd has to say about TvTropes…

I collected all the tropes about enemies in RPG (you can find them in the Bestiary) and used them as guidelines for the first iteration of what I call the Enemy Matrix. Let me expand a bit on that.

As you may have read before, the plan is to be able to tackle the levels in any order you prefer, meaning that a linear progression of enemy types was not adequate to our game. To avoid a boring repetition of the same fights over and over we mapped the enemy types and each level on a grid, deciding on some overall rules (there are other ones, but they will have to wait):

  1. The first encounter of every area must be with mobs.
  2. The same mob or caster can be used in different areas (with or without reskin), other enemies are unique to an area.
  3. No more than one monster per type per area (no “repetition” of roles).
  4. During the “introductory” level of an area, enemies that are not mobs or casters are never encountered in mixed groups (only one type of monster at a time).
  5. Every level has a mob and 3-4 other monsters.
  6. Every type is used at least twice but no two areas can have the same monster type composition.
World Map

World Map

The Enemy Matrix for the Fiery Pit, our Arabian inspired Fire Level, is the following:

Mob Fragile Speedster Glass Cannon Stone Wall Mighty Glacier Lightning Bruiser Caster
Fiery Pit Firefly  – Ghul Shaytan  – Salamander  –

The full Matrix of course contains all the levels, but we don’t want to spoil them all at once, the important thing to remember is that no two rows are filled in the same way except for isolate cases. Having a solid plan like this helped a lot in focusing our resources and is very important for the design of the levels and of the encounters in at least two major ways: it makes sure that fights in different level will have a distinct tactical flavor and group of enemies can be easily managed to make sure that fights are as much different and dynamic as possible. Finally, it also permitted Daniele to give a coherent look and feel and to apply themes to each levels, enhancing the internal narrative of the game manifold.

Thanks for reading.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s