When a Drama Princess Actor functions as the player’s Avatar, the player will not only make the final decisions concerning the Goal to choose but also control the movement of the Actor.
Autonomous Actors get their movement information from the behaviour that was selected as a Goal. For an Avatar Actor, in most cases, a movement command from the player will seem like a “go to certain position” behaviour. So perhaps this is how it should be triggered.
Perhaps the player’s Avatar has a Task to “go to the target defined by the player” that they will (almost?) always prefer to do over anything else.
One problem with this is that we would like the choice of Avatar to be dynamic. To allow for the possibility of the player switch avatars during the course of the game. So far, Tasks have been static pre-defined behaviours attached to an Actor by the author. Perhaps all Actors can have a latent “go to the player-defined target” Task with a Condition. Opportunities already come with Conditions. And a Task is a kind of Opportunity.
This Conditional Task could also be used to force Actors that are not Avatars to go to a certain location. For use in scripted cut scenes, for instance. So rather than having this Task look at a single set of coordinates, each Actor should have its own set of coordinates that can be changed, either by the player or by a script. This could simply change the Target Position variable that is already used by the Behaviours.
The problem with this “go to the player-defined position” Task is that, as a Behaviour, it would go through the Decision System and then be presented as a menu choice to the player. This makes no sense in terms of interface. The player should have direct control over the avatar.
An override is required. Player-controlled movement as a Behaviour is not suitable.
We need an interface to immediately set the Goal of an Actor to “go to this target position”. The logic to end the previous behaviour before starting the new one can still be used (so the Actor first stands up when they were sitting down e.g.).
That’s fine for point-and-click. For direct control (joystick, cursor keys, dragging), a “follow input directions” Goal should be used that doesn’t end until the player explicitly lets go of the joystick, cursor keys or mouse button.
The nice thing about the Drama Princess concept is that these new Behaviours don’t need to be built into the Actors. An Actor can do anything you throw at them, providing you give them enough information.
So basically, at any time (and without explicitly defining an Actor as Avatar), the player can override any Actor’s Decision System and force them to go somewhere. Cool! 8)