Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Day 11

Trying to implement the concept of world analysis factor and composite filter. The experiment is to see if I can factorize basic AI behavior as a series of node filters based on simple selection filters. For instance Benjy could either (in order):

  1. Move close up  safely to enemies to attack (score.attack != 0, score.danger <= 0 and select min(score.enemy_proximity)
  2. Move close to enemies safely to keep the pressure on the adversary team (score.danger <= 0 and select min(score.enemy_proximity))
  3. Move away from the enemies as fallback (select max(score.enemy_proximity)

The third item would work if there were no tiles around that wasn't in direct threat of being attack, it allows Benjy to move away if he cannot attack before.

I could do this kind of behavior filter to attack next and I'll have to find out how I'll implement action planning, which is the next step in decision making: should the AI move or attack first? What decides what is the best action to do?). I'm still trying to think and find a solution.

Anyway, here's also a better version of the ranged attack, the part of the animation that sticks to the target now has a burst of puff clouds to make it a bit more visual.