preloader

Self-Sequencing

What we see...

Version 1

An NPC is approaching a group of enemies that are clustered together. When about 10m away, it crouches and then jumps the long distance into the middle of the group. The NPC then raises it's hands swiftly and a circular stone wall rises to surround the enemies—keeping them trapped next to the character. It then draws it's dual blades and begins to spin inside the stone circle slicing them up with massive amounts of damage.


Version 2

An NPC is approaching a group of enemies that are clustered together. When about 10m away, it crouches and then jumps the long distance into the middle of the group. Before the NPC can raise it's hands to summon the circular stone wall, the enemies scatter. The character then faces them and backs away to a safe space, crouching and keeping an eye on the various nearby enemies—waiting to jump once again.


Version 3

An NPC is quickly surrounded by a group of enemies. The NPC raises it's hands swiftly and a circular stone wall rises to surround the enemies—keeping them trapped next to the character. It then draws it's dual blades and begins to spin inside the stone circle slicing them up with massive amounts of damage.


Version 4

An NPC is quickly surrounded by a group of enemies. Being low on health, the NPC raises it's hands swiftly and a circular stone wall rises to surround the enemies. The character then leaps out of the circle—keeping the enemies trapped inside—and moves to heal itself.

What's happening...

It is very common for designers and animators to put together sequences of actions that, by design, "look cool together". This is part of their plan for how things are meant to happen. However, in many cases, an extended sequence such as the one in Version 1 (the original idea) can be derailed by the changing environment.

For example, in Version 2, the enemies scattered when the NPC landed—either because the NPC was there or due to their own decisions for other reasons. If the character hand continued on with raising the wall (with no one inside) and then whirling to attack, it would look silly. In comparison, in Version 3, the first step of jumping into the center of the enemies is unnecessary because the characters is already surrounded by them. It makes sense to start at step 2—raise the wall and spin.

This sequence is very simply done in the IAUS by creating each step as an atomic component. The relevant behaviors can be specified given their own considerations for why the NPC would perform them. For example:

Jump into center of enemies...

  • If there is a cluster of enemies
  • The cluster is within leaping range
  • I have good health

Raise wall

  • If there is a cluster of enemies
  • The cluster is next to me
  • Wall is not raised

Spin attack

  • If there is a cluster of enemies
  • The cluster is next to me
  • Wall is raised
  • I have good health

The components above would self-assemble into the order desired by the designer. Note that they would suffice for Versions 1, 2, and 3 because they would only execute the portion of the sequence that is needed in the given situation.

Once these components are created, variations take only a minute to make to accommodate other situations—such as the one in Version 4. For example:

Leap to Safety

  • If there is a cluster of enemies
  • The cluster is next to me
  • Wall is raised
  • I have poor health

Gameplay Examples

More than just simple, "if this then that" behaviors.

Look at some of the examples of things that our tech can do!

(Click to read an in-game example.)