Video Game Tuesday: Enemy Programming

This week for Video Game Tuesday I’m going to cover a topic I’ve been meaning to cover for a while. It’s all about Enemy Programming!

Enemy Programming?: What I mean is what goes into programming the various enemies you face in a game. For example in a First Person Shooter how to deal with enemies without them becoming too hard for the player to deal with.

Too Hard?: Yes too hard, most enemy programming nowadays at least when it comes to their behavior coding needs to be tuned lower so players can actually win against them in most AAA games. This has been the case for over a decade and this was one of my first lessons in Game Design and Programming. You had to plan out where and how enemies would act, where they would generate (spawn) and how they would approach the player. In most games this means giving them a specific path or paths you intend for them to deal with so they don’t just pop up from behind the player and waste them.

Pop up behind?: Yes, the enemies would actually flank the player and or leave a building and re-enter it to hit the player from behind. Think of it like this, when you command a large squad of Zerglings to attack a Terran Bunker and you don’t actually tell them to go surround it, no you just point them at their target and they do their thing, automatically swarming and circling the structure. This applies to pretty much most enemies in games. But say if that Bunker only had so much space to attack on certain side because it’s at the top of a ramp, but that same plateau it’s placed on has another entrance you’ve scouted out that would let your Zerglings attack it’s other sides. Well those extra Zerglings would move around to attack the other sides by going up that other ramp. In a First Person Shooter that would cause most players lots of issues, thinking that they only need to watch a certain angle and deal with it from there. That’s what I’m getting at when it comes to Enemy Programming.

What else?: Well this is where stuff gets fun or hilarious. Issues like this are what cause some really fun strategies to occur, like the infamous Atheon cheese of Destiny fame where you just used grenades to push him off the edge and instantly killed him and completely ignored the encounter’s mechanics. The programming was so constrained in certain ways to allow the players to actually beat the fight, but didn’t have certain other coding to prevent the Atheon from falling off the platform thereby completely preventing the fight from becoming trivial. Most developers have to take these sorts of scenarios into account for every encounter a game has in it. Most do a pretty spectacular job, although some like Bungie have failed spectacularly at times.

That’s it for this week’s Video Game Tuesday, see you next time.