167

Tool Creation |Human Agents

166

Tool Creation |Human Agents

Touch based objects can vary in length based on the object typology (e.g. a simple button will take less time to operate compared to navigating a touchscreen to fill out a waiver)

A seat can vary in length depending on how tired the agent is or if the agent is waiting for someone or watching something.

A lineup can vary in length depending on the space. A line at the DMV will probably move slower than a line at a grocery store.

Repeat task or change to new AgentState.

The agent might touch it in 1 spot, then move to another spot to touch it again, or it could be done with the task and do something else, in which case we can set AgentState to something else.

When the agent is finished resting, it may get up from the chair by playing an animation, and then go do another task.

When the agent reaches the front of the line, it can then go back to step 2a, where it will finally be able to interact with the object.

While these three branches won’t cover every scenario within the behavior tree, we can always modify or add to them in the future if the need arises. Since these steps depend largely on the typology of the object however, we will also need to create such an object—which we will establish in Chapter 3.4—and update this state depending on the requirements of the object.

Agent interacting with an object

Simulated and Screen-recorded by Author.

Agents lining up before interacting with the object

Simulated and Screen-recorded by Author.