We're getting there! But not quite fast enough! But in the meantime, welcome to Part 4 of our AI series of updates:
In Part 2 (Retreating) we briefly touched on how Fire Imps in each other's line of sight were connected as a group, and they would share alert levels. Today, I'm going to explain a little bit more about how group movement works - and also introduce a new monster to the pack: The Skeleton Archer, with its Ranged Attacks! Combine Archers and Skeletons together and you have quite a challenging group of foes to deal with.
Try the interactive demo: Tinykeep.com
Or take a look at our previous demos at the usual place: Tinykeep.com
Apart from the new Archer behaviours, there's no special code to formulate groups here. It just so happens that a combination of melee type Skeletons (who are extremely aggressive and will chase you down as much as possible) and ranged Archers (who are cautious and will try to maintain a certain distance from you) results in quite effective emergent behaviour - it almost looks like they are working together.
More Ideas for Group AI
The above shows very basic, fundamental rules for group interaction. It's a work in progress - but we plan on bringing you more complex manoeuvres in regards to group tactics. Depending on the monster type, critters will be able to do the following:
- Monsters won't attack if they are alone, and will flee instead. Some intelligent ones will flee towards a known group of other monsters. This results in luring, pulling the character towards a more dangerous area and then attacking again.
- Wounded skeletons prefer to escape while their friends are locked in battle - to go and find corpses, heal, and return to the fray later.
- Leaders - if a Skeleton King is in the area, his minions will tend to follow and do what he does.
- Flanking - if the player is currently engaged in battle, other monsters will attempt to flank you from either side or behind.
There are more ambitious plans for bosses/leaders and how their monsters interact with them - but we can't give too much away, part of the fun is discovering them for yourself!