Saturday, August 27, 2016

Here's a brief summary for my two chapters in Game Engine Gems Volume 3 on developing a framework for building a behavior model that can be be used for programming contextually adaptable game agents. 

Chapter One - A Control System Based Approach to Entity Behavior

Character control and artificial intelligence.

This chapter focuses on a hierarchical control system to model an entity’s AI. While many games’ AI appear to exhibit nothing more than a simple stimulus and response mechanic, more robust behavior can be crafted through the use of control systems, ideally resulting in more compelling game play. Instead of coding for specific behaviors that may break under unknown game situations, we compose a hierarchical architecture of negative feedback systems to minimize disturbances between the entity and the environment, allowing it to exhibit purposeful behavior, even when those
disturbances may be unknown.

And there is also a second chapter that further enhances the base character control framework described above.

Chapter Two - A Control System for Enhancing Entity Behavior 

We’ve all seen games where an alien soldier is running down a hallway, and as
that soldier reaches the end of the hallway, he starts to blend in a turn animation
to change his direction but ends up careening into a wall! Sure, we could have the
level designer make the hallway wider in a vain attempt to fix the problem, but
the real problem is that we’re mixing statically generated assets with behavior
that’s driven or influenced by the game player. We need entities that can react to
these types of situations, and one of the mechanisms that can help us modify that
soldier’s behavior is by taking feedback into consideration in an entity’s control

Control and feedback are everywhere in our everyday interactions with the
real world. We perceive and act according to a myriad of feedback from ourselves and the environment as well as social cues. One of the essential understandings we want to achieve is that we want to influence an entity’s behavior specifically by its own output, rather than just brute world queries. We are seeking reliable behavior. Feedback within a control system is essentially perceiving or receiving suggestions about an action that we’ve performed within a specific set of contextual extents and using them in a manner that appropriately modifies an entity’s behavior. What this chapter shows is how we can use a proportional integral differential (PID) controller to influence our entity’s behavior through negative feedback.

Buy it here: Game Engines 3 purchase link

Chapter Three - A Basic Learning Model for Entity Behavior Based On a Control System (WIP)

This chapter focuses on a storage, retrieval and comparison mechanism for categorizing control system disturbances that may be used and adaptively modified in similar contexts.