1 / 12

Constraining Autonomous Character Behavior with Human Concepts

Constraining Autonomous Character Behavior with Human Concepts. Presentation by Jonathan Martin Based on Chapter 3.1 of AI Game Programming Wisdom 2, by Jeff Orkin. Two Ways to Create Lifelike Behavior. Script it in. This ensures we get the behavior we want It’s also extremely time-consuming

freira
Download Presentation

Constraining Autonomous Character Behavior with Human Concepts

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Constraining Autonomous Character Behavior with Human Concepts Presentation by Jonathan Martin Based on Chapter 3.1 of AI Game Programming Wisdom 2, by Jeff Orkin

  2. Two Ways to Create Lifelike Behavior • Script it in • This ensures we get the behavior we want • It’s also extremely time-consuming • If the scripter makes a mistake, could have drastic consequences

  3. Whereas scripting involves programming an action for every possible situation… Autonomous agents calculate their action based on… The Alternative: Create Autonomous Characters Desires Sensory Input Proximity to items of interest

  4. A Hypothetical Situation • We want to design a Tactical Espionage Action game • The player will be sneaking around an enemy base, hopefully undetected • Guards should have behavior that is both realistic and interesting

  5. Creating our AI • Step 1: Create enemies that can perform certain actions • Step 2: Populate level with tagged objects • Tags indicate the action that can be performed on an object

  6. Pseudocode • While (alive) { Gather input from perceptors Select object on which to perform action Execute action }

  7. I want some Hot Coffee I feel asleep I need to get some work done

  8. Ownership Group Objects into sets A character can “own” one set of objects at a time Public objects can be in their own set, or none at all Dependancy Certain actions can only be performed before or after another Add a dependency tag to each object, which indicates actions that are preconditions for the current action Adding Human Concepts to the AI

  9. Responsibility Tag each object with the class or classes of character that can interact use it We don’t want soldiers performing experiments in a lab, or scientists picking up assault rifles Priority Divide behaviors into categories When choosing an action, choose the highest priority behavior possible “Attack player” might be the highest-priority behavior Adding Human Concepts to the AI

  10. State of Consciousness If the game includes sleep/unconscious states, make sure actions are disabled while in those states Expected State On seeing an ally, check if he/she is in an unexpected state If an object is moved, set a “changed” flag, so that NPC’s will notice the change Adding Human Concepts to the AI

  11. Presence of Others Evaluate how an action will affect other characters This will be covered in the next section Adding Human Concepts to the AI

  12. A Modified Pseudocode • While (alive) { Gather input from perceptors Select object on which to perform action { Am I awake? What is most important right now? Has anything changed? What is my purpose? Is this object mine to use? Is there anything I need to do before using this object? How will this action affect other characters? } Execute action }

More Related