Shock therapy

Posted by Michael on April 11th, 2007, in Development

Drama Princess is a largely “passive” technology. Actors don’t have a mind of their own. They slavishly do whatever their environment tells them to do. Once in a while, however, you need an actor to “wake up” and respond. For instance when another actor invites him for a walk, or when the actor is being pushed and should fall in response. For these kinds of things we have developed the “Shock System”.

An actor, or any trigger in the game, can send a Shock to another actor. This Shock is an Opportunity like the ones broadcasted by the environment, except that it has an “Urgency” value. The more urgent the request is, the more likely that it will make it through the Decision Filters.

The current implementation of Shock, simply adds the Opportunity to the list from which the system chooses one for the actor to do. In a next round of decision making it disappears because the list is rebuilt every time. If the actor missed it, then it’s gone. To make a Shock more persistent, so far, I have repeated the Shock request in Behaviours.
If you don’t repeat the request, then the actor only has one chance of responding. And if that actor is controlled by the player, it’s virtually impossible the catch it, especially if we increase the speed of the decision making (which seems like a good idea for the player’s avatar).

The solution I came up with is to not remove any Opportunities with some Urgency from the List of Opportunities wen starting the decision making process. Instead just reduce the Urgency a little bit every time. That way, the Shocks will stay present in the list for a while longer and gradually disappear.

No comments yet.

Leave a comment

You must be logged in to post a comment.