In Search of Frustration

(A Frustration Engine for Electronic Games)

This set of demonstrations uses a KEEL Engine as part of a Frustration Engine that can easily be integrated into electronic games (serious games or entertainment games). One of the issues with today's gaming environments is that the "monsters" or animatrons fail to exhibit any emotion. This is an initial attempt to create an engine that can exhibit frustration.

Two models are demonstrated below: The first deals with repeated failed attempts. (An example might be for an animatron to continue to shoot at a target it expects to hit. Another might be for a knowledgeable computer to try to explain a topic to a user.) The second model deals with time-based failure. (An example might be for an animatron to continue to try to find a way out of a maze. Another might be where it continues to empty a continuously filling bucket.)

The "frustration model" incorporated in these demonstrations accumulates failures according to a curve modeled in KEEL. This first demonstration focuses on frustration caused by repeated failures: the more failures, the more frustrated.

When repeated failures have generated a high level of frustration and then the "engine" has a successful activity, the frustration level is reduced as a step function (reduced, but not eliminated). With this demonstration, the impact of an individual failure is diminished over time. To accomplish this, a frustration time constant is included. Depending on the situation, this time constant could be short (for simple short tasks) or could be much longer for longer duration tasks. In the demonstration provided here, the time constant is 30 seconds. This means that all accumulated frustration will be gone if there are no failures in a 30 second time period.

Operation - Repeated Failure Problem

Operation - Time Based Frustration Problem

NOTE: In this "Flash" demo, there is a delay redrawing the curve. In reality, all parameters can be adjusted simultaneously. There is no need to "draw" the curve.

Get Adobe Flash player

Default Frustration Accumulation Curve

Frustration Accumulation Curve

Adjusting the curve with other input parameters.

When modeling frustration these values could be set based on other measured values or background material.


It should be noted that the shape of the Frustration Accumulation Curve can be dynamically modified by the environment. This could be to simply change the time constant dynamically, or it could be more complex (changing the slope in different portions of the curve). This is accomplished by utilizing other inputs into the KEEL engine based on the psychological profile of the object being modeled.

The graph below shows the impact of other modifications to the curve that might be exhibited by different personality types under different conditions. (A 3 Dimensional Graph has limited potential for showing how the curves might change under any number of different contributing factors. KEEL, however, is not limited and can handle any number of factors in the reasoning process.)

One model of a more complex frustration curve


The market for realistic simulations continues to grow and there is a need to model human interactions where frustration plays an important role. This demonstration is intended to show the use of KEEL Technology to provide this capability.

This is the first demonstration showing the use of KEEL Technology to model human emotions. This demonstration simulates frustration caused by repeated failures. Frustration is also encountered with continuous failure. This requires a different model.

Also, we are not experts in the field. So our intent is only to show that KEEL Technology might be applied to simulate this function, not that the present model is the most appropriate.