Potential Fields, Influence Maps & Behavioral Trees

I have been reading up on Potential Fields, Influence Maps and Behavioral Trees for the past week. What I have determined so far is that:

  • Potential Fields are used for path finding
  • Influence Maps are used for determining information within zones (risk, historical, rainfall, fire hazard, traffic, anything really)
  • Behavioral Trees are used to organise and control states of an agent

Behavioral Trees are essentially an evolution on Hierarchical Finite State Machines (HFSM’s). I would like to play around with implementing these ideas in code. It will be difficult to manage the time between MBA, work, and this. I do feel that it is possible. Essentially I will start with developing the path finding using potential fields to get to goals. I will then implement the behavioral trees to assist in identifying what these goals will be and how they will transition between states given priority and then I will go on to implementing some form of an influence map to assist the agent in making better decisions in the behavioral tree.

Here are the three resources I am going to use as a base:

I will blog my progress as I achieve certain milestones or when something interesting happens. I have been meaning to look into potential fields for some time now and hope that this will kick-start me to actually give it some attention.

Potential Field Posts:

Influence Map Posts:

On a side note: I want to also fiddle with some Navier-Stokes for fluid simulation. Here is an actionscript port of a fluid solver using Navier-Stokes based on this academic paper “Real-Time Fluid Dynamics for Games”.