Dealing with a large number of events in a BT system

Started by
10 comments, last by wodinoneeye 10 years, 11 months ago

Some reference on utility systems... my lectures from GDC 2010 and 2012 (with Kevin Dill)

http://intrinsicalgorithm.com/IAonAI/2013/02/both-my-gdc-lectures-on-utility-theory-free-on-gdc-vault/

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Advertisement

Sounds like you need to break your AI logic into two parts :

1) a goal selection system that analyses the current situation and picks the highest priority goal.+ solution (evaluation of this is often the most difficult to come up with equivalency metrics for situational factors)

2) an executor for that goal+solution which is specific to the solution - you could continue to use your Behavior Tree method here - just one 'tree' for each specific solution

Effectively you break up you one ginourmous tree to mutliple specific use trees - with one run when its matching goal+solution is active (this gets rid of excess logic outside its own domain)

The (1) analysis + goal selection does not have to run each cycle, though you may need to do so when certain significant events happen (triggering a general reevaluation...)

If the same goal+solution is selected again it should be resumed (to restore the progress made)

Each BT should have 'cut' checks that would be reevaluated frequently to see if the current solution is still valid (situation hasnt changed) which on failing would push execution back to the goal selection (1) stage

--------------------------------------------[size="1"]Ratings are Opinion, not Fact

This topic is closed to new replies.

Advertisement