One of the design goals for Wizards’ Duel is to offer an high level of variety in the various situations that the player may encounter while keeping the mechanics of the game as simple as possible. The challenge should arise from the interactions of simple systems.
When designing enemies it is especially important to think about interactions to keep variety and challenge the player in new but straightforward ways.
In Wizards’ Duel, for example, there are essentially three types of terrains (not counting hazards that can be on top of the others, like lava, ice, mist etc): walls, floors and pits. By default you cannot move onto a pit, but you can push an enemy over them to kill them instantly or they could push you. This in itself can be an interest mechanic, it is quite simple to understand and implement and opens up several tactical choices like deciding to move near a pit, lure enemies, use weak spell with a pushing element to maximize their effects and so on.
There are then some enemies with the flying property. These enemies can move safely over pits. Suddenly traversing a narrow bridge becomes an even more interesting choice: you can use it to limit attacks from ground-bounded enemies only to be surrounded by flyers, you can use your spells to destroy it but again it only works on non-flying enemies. What about enemies that can push you? Even without special properties they become a lot stronger depending on the – randomized – layout of the map.
Flying enemies can also move over ground hazards, like lava pools. Pathfinding can them become a big part of the player tactics in certain levels, such as the narrow halls of the Fiery Pits. You could, for example, decide to exploit one of the lava emitters to stop strong enemies in their tracks and lure fireflies (flying but fragile enemies) to even out the odds created by the random encounter generator before the lava dries out into basalt.
It is not really possible to design covering all the possible interactions when randomization is an important part of the gameplay, and this is why “emergent gameplay” is a prime characteristic of roguelikes. It is however very much possible to strive to design systems that can interact with each-other and try to make sure that at least some of such interactions are guaranteed for every level to possibly achieve an exploding number of possibilities to engage the player.
What are some of your favorite interactions? If you want please share them with us on comments section or on twitter, maybe we could end up implementing them in our game.
Thanks for reading.