Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
December 18, 2014
arrowPress Releases
December 18, 2014
PR Newswire
View All
View All     Submit Event






If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
Build a Bad Guy Workshop - Designing enemies for retro games
by Garret Bright on 04/22/14 03:22:00 pm   Featured Blogs

8 comments Share on Twitter Share on Facebook    RSS

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

I recently played through a ton of NES and SNES games and took some notes. As designers, we tend to hear about how a solid level design makes or breaks a game. This is true, but we've also had our share of rough times building levels for our games and no matter what techniques we use, the levels still feel flat and not quite on par with our favorite inspirational levels from other games. The X factor here, I believe, are the Enemies.

I've put together a list of attributes that you can mix and match to create enemies in games. I include examples with each attribute. The examples I use are common and well known, but most great retro classics and neo-retro games have enemies that can serve as great examples. Most well-designed enemies are made up of multiple attributes, and use triggers to switch between conflicting attributes. I'll explain more about tiggers after the list.

You may notice that multiple items on this list could be simplified into more root behavior. Wavers (move like a sign wave) and Floaters (can fly/float/levitate) are essentially the same thing, where the only variable that's different is their Up and Down movement. I chose to build the list this way as an attempt to relate the attributes in a mentally-visual manner. My other objective was to have a list where a designer could effectively choose a few random attributes and see if they can design an enemy out of them. This is meant to be a resource library for enemy behavior.

I also want to mention that I consider projectiles (ranged weapons like bullets and arrows) to be 'enemies' and can be designed as enemies, even though they're not sentient. This is also true for environmental hazards like spikes, swinging blades, and stuff that tries to squish you.

Finally, these attributes were created while playing sidescroller and topdown retro games. Due to the nature of 2D vs 3D game environments and controls, many of these attributes don't translate well to 3D, while others do. Just keep in mind that these were written with 2D action games in mind.


Movement Attributes

Stationary The enemy does not move at all.
Walker The enemy walks or runs along the ground. Example: Super Mario's Goombas
Riser The enemy can increase its height (often, can rise from nothing). Examples: Super Mario's Piranha Plants and Castlevania's Mud Man
Ducker The enemy can reduce its height (including, melting into the floor). Example: Super Mario's Piranha Plants
Faller The enemy falls from the ceiling onto the ground. Usually these enemies are drops of something, like acid. Some games have slimes that do this.
Jumper The enemy can bounce or jump. (some jump forward, some jump straight up and down). Examples: Donkey Kong's Springs, Super Mario 2's Tweeter, Super Mario 2's Ninji
Floater The enemy can float, fly, or levitate. Example: Castlevania's Bats
Sticky The enemy sticks to walls and ceilings. Example: Super Mario 2's Spark
Waver The enemy floats in a sine wave pattern. Example: Castlevania's Medusa Head
Rotator The enemy rotates around a fixed point. Sometimes, the fixed point moves, and can move according to any movement attribute in this list. Also, the rotation direction may change. Example: Super Mario 3's Rotodisc, These jetpack enemeis from Sunsoft's Batman (notice that the point which they rotate around is the player)
Swinger The enemy swings from a fixed point. Example: Castlevania's swinging blades
Pacer The enemy changes direction in response to a trigger (like reaching the edge of a platform). Example: Super Mario's Red Koopas
Follower The enemy follows the player (Often used in top-down games). Example: Zelda 3's Hard Hat Beetles
Roamer The enemy changes direction completely randomly. Example: Legend of Zelda's Octoroks
Liner The enemy moves in a straight line directly to a spot on the screen. Forgot to record the enemies I saw doing this, but usually they move from one spot to another in straight lines, sometimes randomly, other times, trying to 'slice' through the player.
Teleporter The enemy can teleport from one location to another. Example: Zelda's Wizrobes
Dasher The enemy dashes in a direction, faster than its normal movement speed. Example: Zelda's Rope Snakes
Ponger The enemy ignores gravity and physics, and bounces off walls in straight lines. Example: Zelda 2's "Bubbles"
Geobound The enemy is physically stuck to the geometry of the level, sometimes appears as level geometry. Examples: Megaman's Spikes, Super Mario's Piranha Plants, CastleVania's White Dragon
Tethered The enemy is tethered to the level's geometry by a chain or a rope. Example: Super Mario's Chain Chomps
Swooper A floating enemy that swoops down, often returning to its original position, but not always. Example: Castlevania's Bats, Super Mario's Swoopers, Super Mario 3's Angry Sun
Mirror The enemy mirrors the movement patterns of the player. Sometimes, the enemy moves in the opposite direction as the player. Example: Zelda 3's Goriya

Quality Attributes

These attributes are inherent to the nature of the enemy.

GeoIgnore The enemy ignores the properties of the level's geometry and can pass through solid objects. Examples: Super Mario 3's Rotodisc, many flying enemies will ignore geometry as well.
Shielder Player attacks are nullified when hit from a specific direction or angle, or hit a specific spot on the enemy. Example: Zelda 2's Dark Nuts
Deflector Player's ranged attacks are reflected when the enemy is hit by them.
Secret spot The enemy has a specific spot where damage can only be taken when that spot is hit. The opposite of a Shielder. Many bosses have this attribute.
Invulnerable The enemy cannot be harmed or killed. Examples: Most are geometry based hazzards (spikes, mashing blocks, fire spouts), but also includes enemies like Super Mario 3's Boo Brothers.
Revivor The enemy is revived after dying. Examples: Castlevania's Skeletons, Super Mario's Dry Bones.
Regenerator The enemy's health is regenerated over time.
Secret Weakness The enemy is vulnerable to specific types of attacks (fire, magic, arrows, etc). Example: Zelda's Dodogno (weakness to bombs).
Hard to Hit These enemies are specifically hard to hit with by the player's normal attack ranges. They are aften very fast, or very tiny. Example: Zelda 2's Myu
Segmented These enemies are made up of smaller individual objects or enemies. Each individual segment can often be destroyed independently, and are often in snake-form - but not always. Example: Zelda's
Bumper These enemies act like pinball bumpers, pushing the player (or other objects) away quickly. Example: Zelda 3's Hard Hat Beetles
GeoMimic These enemies have properties of level geometry. Most commonly, the player can stand on them. Examples: Most enemies in Mario 2, Megaman X's Sigma, Castlevania's Catoblepas
Alarm An enemy or object that causes another enemy or object to react. I didn't record any specific examples, unfortunately.

Abilities

These are abilities that enemies have inherently. They are non-movement related actions that enemies can take.

Grower The enemy can grow in size.
Shrinker The enemy can shrink in size.
Forcer The enemy can apply direct movement force to the player. I don't have any specific examples, but treadmills found in most games apply, as well as enemies who blow air at the player, causing them to move backwards.
Carrier The enemy can carry another enemy, an object, or the player. This one is a bit broad, but includes enemies that pick up the player, that 'eat' the player and spit it out again, or otherwise grab and restrict the movement of the player. Example: Zelda's WallMasters
Thrower The enemy can throw whatever it is holding (an object, the player, or another enemy). This is often combined with Carriers, but not always. Examples: Castlevania's Barrel throwing Skeletons, Super Mario 3's Buster Beetle
Emitter The enemy 'emits' another enemy or projectile. This type is very similar to the Thrower, and the differences are mostly semantic. The main difference being that throwers throw an object they've picked up or spawn with, while Emitters have an infinite supply of the things they can throw out. Examples: Super Mario 3's Bullet Bill Cannons, Super Mario's Lakitus, anything that has a gun, Gauntlet's enemy spawners.
Splitter The enemy can split into multiple other enemies while destroying itself. Examples: Rogue Legacy's Slimes, Legend of Zelda's Vire and Biri.
Cloner The enemy can duplicate itself. Often, the duplicate is an exact clone, but sometimes, the duplicate is very slightly modified (such as having reduced health, or being faster). The enemy that does the cloning is not destroyed. Example: Zelda's Ghini
Morpher The enemy morphs into another enemy type. Sometimes, this is temporary, and sometimes, the enemy will morph into multiple other types of enemies. Unfortunately, I didn't log an example of this.
Sapper The enemy can cause the player's stats to be modified (slower speed, reduced or eliminated jump, inability to attack, etc). These effects can be either permanent or temporary.
Latcher Like a Sapper, the enemy can drain the player's stats and abilities, but does so by latching on to the player. Example: Mario 3's Mini-Goombas, Zelda's Like-Likes.
Hider The enemy can hide from the player. Typically, the enemy is hidden until the player comes within a set distance, or the inverse where the enemy hides once the player comes too close. Example: Mario's Piranha Plants.
Switcher The enemy can toggle between various attributes, such as being stationary and invincible and switching to being a pacer and vulnerable. Example: Mario's Boo Brothers, Zelda's Peahats.
Exploder The enemy can destroy itself and cause splash damage. Example: Proximity Mines found in many games, Mario's Bo-Bombs
Interactor The enemy can interact with scripted objects, such as levers or buttons.
Charger The enemy will pause it's behavior between switching to another behavior Example: Castlevania's Wolves (Who pause a moment and lunge towards the player)

 


Most quality enemies are actually a combination of multiple attributes.

Here are some examples:

  • Zelda 2's Myus are a combination of: Hard to Hit + Bouncer + Roamer.
  • Castlevania's Medusa Heads: Waver + GeoIgnore.
  • Mario 2's Tweeters: Bouncer + GeoMimic
  • Zelda 1's Wizrobes: Liner + Teleporter + Emitter.
  • Zelda 1's Patra: Segmented + Roamer + Hard to Hit
  • Mario 3's Sledge Bros.: Roamer + Jumper + Sapper (Player's ability to act)

Trigger Attributes

Triggers are events and game states that occur that can change an enemy's behavior and attributes on the fly. For example, most enemies with the Swooper movement don't perform this movement until they are close to the player. Another example, Mario's Boo Brothers Follower movement behavior is triggers when the player looks away from it, and the stationary movement behavior is triggered when the player looks towards it.

I didn't start taking notes on triggers until most of the way through my game-a-thon, but here's what I did take notes of. Anything you can contribute to this would be helpful.

  • Is hit by player
  • Hits player
  • Timer (After X seconds, change behavior - this is most typical of bosses)
  • Follows another action it previously performed (Example: After the enemy attacks, it dashes backwards)
  • Proximity to the player or an object
  • Random (Enemies randomly choose their next behavior or set of attributes in their AI)
  • The player has direct line of sight to the enemy
  • The player does not have direct line of sight to the enemy.

Examples:

  • Super Mario's Piranha Plants are a combination of: Hider + Riser + Ducker + Emitter(for the ones that shoot fireballs) + [Trigger - Player Proximity : Hider].
  • Castlevania IV's Golem Boss: Emitter/Thrower + Walker + Jumper + [Trigger - Hit by player : Shrinker]
  • Zelda 3's Buzz Blob: Roamer + [Trigger - Random : Invincible + [Trigger - Hit By Player : Sapper]]

Variables

Finally, here's a list of variables that can be used to throw some variation in your enemies. You may have two enemies that fit the exact same attributes, but perform differently - here are some ideas on how to do that. This isn't a complete list, but made to get some juices flowing.

  • Movement Speed - any movement attribute can be modified to alter the enemy's difficulty or interest by changing the speed which they move. Consider the slow moving Boo Brothers and how different the players interaction with them would be if they moved three times as fast.
  • Jump Height
  • Dash Length - does the enemy dash in short bursts, or all the way across the screen?
  • Attack Range
  • Splash damage radius
  • Enemy Size

Experiments

Just for fun, I made a few enemy ideas using random attributes from these lists. Here are a few I came up with:

Trigger - Player Proximity : Dasher. Enemy behavior: The enemy dashes away from the player whenever it gets close, forcing the player to push it up against a wall or use ranged weapons. (This is the behavior of some Skeleton Enemies in Link to the Past).

Waver + Pacer + Shielder. Enemy behavior: The enemy travels across the screen in a sign wave, but can only be hit from behind. At the edge of the screen, the enemy turns around.

Faller + Exploder. Enemy behavior: Falls from the ceiling, and explodes when it hits the ground.

Carrier + Exploder + [Trigger - Player does not have direct line of sight : Dasher]. Enemy behavior: Dashes towards the player whenever its back is turned, grabs the player and explodes while holding it.

So this is my Build a Bad Guy Workshop. I didn't mention the Megaman games in the examples often. While Nintendo has made some fantastic platformers (and now after reading this list, you can see why they're so fantastic - they pioneered enemy behavior), the Megaman games really excel at using creative enemies. For fun, play through any of the levels of any of the Megaman games (or just watch a Let's Play) and see if you can rebuild the enemies using the attributes on this list.


Related Jobs

Reload Studios Inc.
Reload Studios Inc. — Tarzana, California, United States
[12.18.14]

SOFTWARE ENGINEER
Deep Silver Volition
Deep Silver Volition — Champaign, Illinois, United States
[12.18.14]

Sr. Systems Designer
Nonstop Games
Nonstop Games — Singapore, Singapore
[12.18.14]

Producer
Sparx
Sparx — Exeter, England, United Kingdom
[12.17.14]

Games Developer





Loading Comments

loader image