Spieldesign - AI: Unterschied zwischen den Versionen

Aus Notebook
Zur Navigation springen Zur Suche springen
 
Zeile 31: Zeile 31:
 
* Sandbox (location, preferPaths = true, minDistance, energy, allowEating, allowSleeping, allowConversation, allowIdleMarkers, allowFurniture, allowSitting, allowWandering, allowWorkbenches)
 
* Sandbox (location, preferPaths = true, minDistance, energy, allowEating, allowSleeping, allowConversation, allowIdleMarkers, allowFurniture, allowSitting, allowWandering, allowWorkbenches)
 
* UseSkill (location, skill, holdWhenBlocked, useMaterials)
 
* UseSkill (location, skill, holdWhenBlocked, useMaterials)
* Succeed
 
* Fail
 
  
 
AI functions (return a value)
 
AI functions (return a value)
  
 
* Find (location, targetSelection, searchOwnInventory = true, randomizeList = true) -> objectList
 
* Find (location, targetSelection, searchOwnInventory = true, randomizeList = true) -> objectList
 +
 +
AI utility stuff
 +
 +
* Succeed ()
 +
* Fail ()
 +
* PushToStack (variable)
 +
* PopFromStack () -> value
 +
* SetVariable (variable, value)
  
 
Action trees - composite and decorator nodes:
 
Action trees - composite and decorator nodes:
Zeile 55: Zeile 61:
 
* UntilFail (Repeats the child node until it returns failure, then returns success)
 
* UntilFail (Repeats the child node until it returns failure, then returns success)
 
* Succeeder (Runs the child node, then returns success)
 
* Succeeder (Runs the child node, then returns success)
 +
 +
TODO: Parallel Immediate/Delayed stuff?
 +
 +
See also: https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/NodeReference/Decorators/index.html

Aktuelle Version vom 3. Dezember 2015, 15:37 Uhr

Basic blocks - AI actions

  • Acquire (target, number = 1, allowStealing = false, allowPickpocketing = false, allowKilling = false)
  • Activate (target, number = 1)
  • Eat (foodType, createFakeFood = false, gainChemicals = true)
  • Escort (target, number = 1, destination, waitDistance, minDistance, maxDistance, rideHorse = false, preferPaths = true, runIfBehindDistance)
  • FleeFrom (from, avoidNodeRadius, distance, rideHorse = false, ignoreDeadThreats = true, quiet = true, countAsIsFleeing = true)
  • FleeTo (to, goalRadius, rideHorse = false, quiet = true, countAsIsFleeing = true)
  • Fly (location, height)
  • Follow (target, minRadius, maxRadius, useLeadersGoal = false, rideHorse = false, needLOS = false)
  • FollowTo (target, endLocation, minRadius, maxRadius, useLeadersGoal = false, rideHorse = false, needLOS = false)
  • ForceGreet (topic, waitLocation, triggerLocation)
  • Guard (restrictedArea, suspiciousOf, warnRadius, attackRadius)
  • HoldPosition (location)
  • KeepAnEyeOn (target, observationArea, endPursuitArea)
  • LockDoors (location, warnBeforeLocking)
  • Orbit (location, innerRadius, outerRadius, height)
  • Patrol (pathStart, pointRadius, repeatable, startAtNearestPoint, rideHorse = false)
  • Say (topic, target, lookAtTarget)
  • Sit (target)
  • Sleep (target)
  • Travel (destination, rideHorse = false)
  • UnlockDoors (location)
  • UseIdleMarker (target)
  • UseMagic (location, spell, holdWhenBlocked, castTimeMin, castTimeMax, cooldownTimeMin, cooldownTimeMax)
  • UseWeapon (location, weapon, target, alwaysHit, repeat = false, crouchToReload, doNoDamage, holdWhenBlocked, allowCombatStart, alwaysPowerAttack)
  • AimWeapon (location, weapon, target, holdWhenBlocked)
  • UseWeaponVolley (location, weapon, target, alwaysHit, repeat = false, crouchToReload, doNoDamage, holdWhenBlocked, allowCombatStart, alwaysPowerAttack, volleyWaitMin, volleyWaitMax, volleyShotsMin, volleyShotsMax)
  • Wait (duration, stomMovement = false)
  • Wander (location, preferPaths = true, rideHorse = false, minDistance)
  • Sandbox (location, preferPaths = true, minDistance, energy, allowEating, allowSleeping, allowConversation, allowIdleMarkers, allowFurniture, allowSitting, allowWandering, allowWorkbenches)
  • UseSkill (location, skill, holdWhenBlocked, useMaterials)

AI functions (return a value)

  • Find (location, targetSelection, searchOwnInventory = true, randomizeList = true) -> objectList

AI utility stuff

  • Succeed ()
  • Fail ()
  • PushToStack (variable)
  • PopFromStack () -> value
  • SetVariable (variable, value)

Action trees - composite and decorator nodes:

  • Random (Pick one child node and finish when it finishes. Return value is the child node's return value.)
  • Sequence (Go through child nodes in sequence and execute them, until you finish or one node fails. Return the last executed node's return value)
  • Selector (Go through child nodes in sequence and execute them, until the first succeeds. Return success unless no child nodes succeeded)
  • ParallelAny (Run all child nodes at once. Return when the last one finishes. Return success unless no child nodes succeeded)
  • ParallelAll (Like ParallelAny, but return failure if any child node failed)
  • RandomSequence (like Sequence, but in random order)
  • RandomSelector (like Selector, but in random order)
  • StaticPriorityList (Evaluate the child node list's priorities and execute the valid one with the highest priority. Return its return value)
  • DynamicPriorityList (Like StaticPriorityList, but re-evaluate the priorities at every step and terminate child nodes which lost their highest priority status)
  • Invert (run the child node, invert its result)
  • Interrupter (Runs the child node, but can be signalled to interrupt it at any step)
  • Limit (Only runs the child node a maximum amount of times, returning failure all subsequent times)
  • Repeat (Repeats the child node forever)
  • UntilFail (Repeats the child node until it returns failure, then returns success)
  • Succeeder (Runs the child node, then returns success)

TODO: Parallel Immediate/Delayed stuff?

See also: https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/NodeReference/Decorators/index.html