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.

Interacting with autonomous actors

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

While working with Drama Princess in The Path, I’m realizing that the focus of Drama Princess on autonomous characters has some disadvantages. While working on Drama Princess by itself, I tended to imagine a situation where all actors are autonomous and where the user is just a passive observer. In a game, however, the focus is on what the user does. And in the case of Drama Princess, on his or her interactions with objects and other actors.

When autonomous actors interact with each other, it’s easy to believe in them. Probably because you do not know their intent and you actively interpret their behaviour and make up stories. But when you are controlling one of the actors, you’re a lot less forgiving. Suddenly all the little oddities start looking like glaring errors. We’ll need to fine-tune things quite a bit more than would be needed for purely autonomous actors.