AI FSM – Arma 2: Operation Arrowhead

From Bohemia Interactive Community
Revision as of 08:23, 15 May 2011 by .kju (talk | contribs) (Added some details)
Jump to navigation Jump to search

AI FSM

Summary page to gather community knowledge about the exposed AI FSM and the modification possibilities.

NOTE: None of the information on this page is guaranteed to be correct. The information is from research, testing and guesswork. The content of the page is WORK IN PROGRESS. You are most welcome to contribute yourself!

What are they about

It seems they expose certain areas of the AI behavior outside the core engine. This means the community can modify some parts of the AI behavior this one. That said in the config space a lot of values permitted tweaking AI as well, yet on a different level.

The available FSM are about:

  • Behavior while in formation.
  • Behavior while in danger/from danger events.

TODO: Needs more research, testing and specific information.

What are they NOT about

  • Micro AI
  • Low(est) level AI behavior system

TODO: Clarify and add more details.

Where to find them

ca\characters\scripts

Where are they used

comm.fsm

No reference.

danger.fsm

class CAManBase: Man
 fsmDanger = "Ca\characters\scripts\danger.fsm";

formationC.fsm

class Civilian: CAManBase
 fsmFormation = "ca\characters\scripts\formationC.fsm";

formationCDanger.fsm

class Civilian: CAManBase
 fsmDanger = "ca\characters\scripts\formationCDanger.fsm";

formationEntity.fsm

No reference. However it is the equivalent to the config definition of:

class CAManBase: Man
 fsmFormation = "Formation";

Formation itself is also defined, for unknown reasons, in the config space rather as FSM file.

class CfgFSMs - class Formation

How to edit them

Get the FSM_Editor part of the BI Tools 2 suite. It allows you to open, study and modify the FSM files.

What do they do

comm.fsm

Makes an unit unit communicate his action:

  • "Reloading! Cover me!"
  • "Running!"
  • "Covering!"

danger.fsm

formationC.fsm

formationCDanger.fsm

formationEntity.fsm

When are they run

comm.fsm

  • Assumption*: Not at all. Seems like a test version and the actual system is integrated into the engine nowadays.

danger.fsm

formationC.fsm

formationCDanger.fsm

formationEntity.fsm

Technical details

comm.fsm

  • _who = _this select 0;
  • _state = _this select 1;

danger.fsm

formationC.fsm

formationCDanger.fsm

formationEntity.fsm