informa
2 MIN READ
Featured Blog

Fast AI for a game mixing turn-based with arcade action

For a new style of game, I looked back at some old style AI code for inspiration. This turn-based game plays like an arcade-game, so speed and flexibility are very important.

Space Grunts is a fairly fast turn-based game, as you might have noticed when playing it, or seen it in the video's. Every time you do your turn, all monsters act pretty much within a second, finding their path towards you, and keeping the gameplay pace high.

How is this magic done so quickly? well it's: PAC-MAN man!

I decided to use the fastest possible AI code that still gives a lot of variation for different monster types.  This is probably also the oldest code to do something like this, as it was used by Blinky, Inky, Pinky and Clyde, aka: the ghosts of Pac-man past.

In Pac-man you have these four different ghosts, and what these ghosts do is look at where the player is (grid-based) and decide to either target that exact grid location, a location or two in front-of the player, or a few locations behind or above the player.

Then it's just a matter of checking if the ghost has to move horizontally to the right or horizontally to the left, or move vertically upwards or downwards. The priority between horizontal or vertical depends on the distance between the target and the ghost. It's all very quick, very fast, and very smart.

In Space Grunts I add a few more things to the mix, so some monster will only come towards you if you have your back turned to them, and then run away if you are just looking at them. Other monsters are targeting your exact spot, and others are checking which direction you are looking at and then target your next most likely spot on the map.

Since these are all very fast calculations to make, you can add a few more things to all this logic. We can check if we have a lot of health, because if not we rather keep our distance and change our behavior according to our stats.

And finally we also add a "lazy" parameter to each monster, which is basically the willingness of a monster to actually attack you in a turn. Some monsters are less aggressive and will not move on every turn, other monsters are very aggressive and will keep moving every chance they get.

All these variations add to the tactical part of the game, once a player figures out who the aggressive monsters are, and who is most likely going to step away if you look into their direction, you can make your decisions on clearing a room based on the knowledge of how these creatures work, or try to run away..

Latest Jobs

Sucker Punch Productions

Hybrid (Bellevue, WA, USA)
11.30.23
Senior Programmer

The Pyramid Watch

Remote
11.22.23
Game Designer (RTS/MOBA)

Sucker Punch Productions

Hybrid (Bellevue, WA, USA)
11.30.23
Senior Technical Combat Designer

Digital Extremes

Remote
11.13.23
Lead AI Programmer
More Jobs   

CONNECT WITH US

Explore the
Advertise with
Follow us

Game Developer Job Board

Game Developer

@gamedevdotcom

Explore the

Game Developer Job Board

Browse open positions across the game industry or recruit new talent for your studio

Browse
Advertise with

Game Developer

Engage game professionals and drive sales using an array of Game Developer media solutions to meet your objectives.

Learn More
Follow us

@gamedevdotcom

Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more