AI framework template
Transcript: "...a goal (in STRIPS) describes some desired state of the world that we want to reach." InvalidKey AnimLooped AnimPlayed AtNode AtNodeType AtTargetPos CoverStatus DisturbanceExists Idling MountedObject PositionIsValid RidingVehicle, ReactedToWorldStateEvent SurveyedArea TargetIsAimingAtMe TargetIsLookingAtMe TargetIsDead TargetIsFlushedOut TargetIsSuppressed TraversedLink UsingObject WeaponArmed WeaponLoaded Count Idle Animate Goto TraverseLink Work CorrectPosition Death Follow FollowWait FollowHide EscapeDanger SearchFollow (Intro) PLANNING GOAL SET: COMBAT BASE ACTIONS GOAL SET: PATROL WORLD STATE PROPERTY KEYS WORLD STATES GOAL SET: BASE Reference: Three States and a Plan: The AI of F.E.A.R. Orkin, J. Game Developer's Conference Proceedings, 2006 http://alumni.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf Idle Animate Goto TraverseLink Work CorrectPosition Death Follow FollowWait FollowHide EscapeDanger SearchFollow (Intro) Guard plus additional goalsets Invalid Block BlockedPath Damage Defeated EnemyInFlamePot FollowerOutOfRange IncomingMeleeAttack MeleeBlocked MeleeBlockFailure MeleeBlockSuccess Shoved Surprised EnemyInPlaceForSurpriseAttack Taser1Stunned Taser2Stunned BerserkerKicked FinishingMove WeaponBroke Investigate Search Menace Chase KillEnemy SuppressEnemy FlushOut Dodge Cover Ambush ReactToDamage SelfDefense Alert SearchLostTarget "In a planning system, we represent the state of the world as a conjunction of literals. Another way to phrase this is to say that we represent the state of the world as an assignment to some set of variables that collectively describe the world." "Planning is a formalized process of searching for sequence of actions to satisfy a goal. The planning process is called plan formulation. The planning system that we implemented for F.E.A.R. most closely resembles the STRIPS planning system from academia." "STRIPS consists of goals and actions, where goals describe some desired state of the world to we want to reach, and actions are defined in terms of preconditions and effects. An action may only execute if all of its preconditions are met, and each action changes the state of the world in some way." "The preconditions are described in terms of the state of the world, just like we defined our goal. The effects are described with list of modifications to the state of the world." GOAL SET: COMBAT BASE GOALS Patrol plus additional goalsets Investigate Search Menace Chase KillEnemy SuppressEnemy FlushOut Dodge Cover Ambush ReactToDamage SelfDefense Alert SearchLostTarget WORLD STATE EVENTS MAIN PILLARS ACTION SET: BASE Animate TraverseLink Idle GotoTarget GotoNode GotoNodeOfType UseSmartObjectNode GotoValidPosition DeathOnVehicle Follow FollowPlayer FollowWaitAtNode EscapeDanger ReactToDanger GetOutOfTheWay GOAL SET: BASE Soldier AI framework in F.E.A.R. InstantDeath (FollowHeavyArmor) AttackFromAmbush (InstantDeathKnockedDown) (LongRecoilBullet) (LongRecoilExplosive) (LongRecoilMelee) KnockDownBullet KnockDownMelee KnockDownExplosive (ShortRecoilMelee) AttackReady GotoTargetLost LongRecoilHelmetPiercing "In F.E.A.R., A.I. use cover more tactically, coordinating with squad members to lay suppression fire while others advance. A.I. only leave cover when threatened, and blind fire if they have no better position." "F.E.A.R. A.I. always try to stay covered, never leave cover unless threatened and other cover is available, and fire from cover to the best of their ability." "The primary point we are trying to get across here is that with a planning system, we can just toss in goals and actions. We never have to manually specify the transitions between these behaviors. The A.I. figure out the dependencies themselves at run-time based on the goal state and the preconditions and effects of actions." ACTION SET: SOLDIER Attack AttackCrouch SuppressionFire SuppressionFireFromCover FlushOutWithDynamite AttackFromCover BlindfireFromCover AttackDynamiteFromCover (AttackFromView) DrawWeapon (ChangeWeapon) HolsterWeapon ReloadCrouch ReloadCovered InspectDisturbance LookAtDisturbance SurveyArea DodgeRoll DodgeShuffle DodgeCovered Uncover AttackMelee TraverseBlockedDoor LookAtDisturbanceFromView GOAL SET: GUARD "A STRIPS action is defined by its preconditions and effects. The preconditions are described in terms of the state of the world, just like we defined our goal. The effects are described with list of modifications to the state of the world. "