Skip to content

Instantly share code, notes, and snippets.

@ssteinbach
Last active April 6, 2021 05:32
Show Gist options
  • Save ssteinbach/8780b0112a58a19f8154ae2061bb33fc to your computer and use it in GitHub Desktop.
Save ssteinbach/8780b0112a58a19f8154ae2061bb33fc to your computer and use it in GitHub Desktop.
Enemy Design in Into the Breach's First Area

Enemy Design in Into the Breach's First Area

Introduction

Into the breach is an elegant tactical roguelike game. On a roughly 8x8 grid, a turn based battle takes place where a player team with about 3 units takes on a number of enemies, in an effort to defend the buildings in the area for about 5 turns.

Each player unit is given one action and one move, and the move must occur before the action.

Each turn, the player is able to see the moves the enemy will make during their turn, which gives player turns a puzzle like feel of figuring out how to use the moves available to the player in the best way.

Units in the Area Overview

The opening area in 'Into the Breach' has 4 different kinds of enemies:

  • hornet: moves far, melee attack, low health, flying (not impacted by water)
  • firefly: ranged attack (hits first thing in a line)
  • shell psion: no attack, all enemies have 1 "armor"
  • scorpion: melee attack, web effect

Hornet

Simple unit: melee attack (can only attack adjacent squares), moves far, not much health. No extra abilities beyond attacking.

Firefly

Like the hornet, the firefly has no abilities beyond its attack. Its attack, however, is a bit more interesting, hitting the first block with something in it, in a straight line.

By having the attack hit the first object, and not every object in a row, it gives the player more oppurtunities to stop the attack and make the puzzle more "solvable".

As a general note, by only having enemy attacks on cardinal directions on a regular grid, Into the breach does a great job of making it easy for the player to read the action and understand what is happening without having to inspect the enemies.

For both the hornet and the firefly, when they threaten a player unit, it is because the player wants to make an attack (and thus end their turn) on a square that is under threat, or they would push the enemy into a position where its attack would damage a building.

Shell Psion

The shell psion has no attack, but gives all other enemy units on the board 'armor', which reduces the damage they take by one.

The player is unlikely to have more than one unit that can do more than one damage per attack (especially for new players). This means that with a shell psion on the board, only one unit out of three will likely be able to damage enemies.

In this way, the shell psion helps teach the value of push mechanics over damage, while also adding another element to the prioritization decision.

Scorpion

At first glance, the scorpion appears similar to the hornet. It has a melee attack, so it must be next to a unit or building to damage it. However, it also puts a web down on any tile it attacks. The web means that any unit on that tile cannot move as long as the web is present.

Destroying the web is done by pushing either the webbed unit or the scorpion. Despite it being relatively easy to do, it still costs the player an action and the limit on the unit's mobility provides an interesting challenge to the player.

Because the player units have a lot of mobilitity (a move of 3-4 squares is roughly half the board), the threat to the player units is usually due to where the mech ends its turn, rather than starts its turn. The question is "this position is ideal for the damage I can do from that grid, but the mech will take damage".

The scorpion reverses that - the mech is in threat at the beginning of the turn, and cannot move unless another unit pushes or kills the scorpion, or pushes the mech itself. It can still attack, of course, but may not be doing so from an idea position. This provides an interesting tactical contrast from the other mechs on the board.

In addition to the tactical contrast, it also emphasizes the value of the positioning, by forcing the player to consider a likely less than ideal position.

Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment