It’s finished!

Posted by Michael on January 18th, 2007, in Development

The Drama Princess Actor

Well sort of… 😉

There’s still several systems missing and nothing has been fine-tuned, but the bulk of the design is there. I’m now going to implement Drama Princess in 144 and continue to work on it within that context. It’ll be nice to work with real content instead of all this hypothetical stuff.

Download the demo here!

It’s a working version of the current system, including a configuration editor and the option to control any of the characters as an avatar. It requires Windows and DirectX 9.0c to run.

More information…

The demo starts with two actors. The woman is set to be your avatar. You can click on the ground or drag to make her go somewhere. Apart from idle behaviour and reflexes, she will not do anything autonomously.

Action Strip for the woman

At the bottom of the screen there’s buttons that represent the most appropriate interactions in the given situation. They consist of an Object (picture) and a Goal (verb).

The man is autonomous. The system chooses what he should be doing.

You can select a different avatar by pressing the TAB key. This cycles through the available actors. If the number at the end of the “switch Avatar” line is 0, all actors are autonomous.

Decision Filters at work

To see the Decision Filters select Behaviours, press the B key. This presents four lines of text for each actor. The first line shows all the Opportunities selected by the Filter of Distance, in other words: all the opportunities for interaction offered by the objects that are close to the actor. On the second line, the Opportunities that the actor cannot do for some reason have been removed by the Filter of Condition. Next, the Filter of Intimacy only shows the Opportunities from that list that match the intimacy of the actor’s relationship with the object. And finally, the filter of Affection removes the Opportunities from objects that actor is indifferent about. If there’s more than one, the system randomly picks one.

The final filter is not run for an avatar, allowing the player to make the selection.

Affection Graph

As a result of the interactions, the relationship of an actor with the objects changes. And since interactions are chosen based on that relationship, the behaviour of the actor will change as the relationship changes.

If you press the A key, the system starts drawing a graph of the evolution of the Affection between the man and the woman. The blue line is the target that they are working towards. It is set to a random number once in a while. The red line is the Affection itself. With every interaction, the red line moves closer to the blue line. You can see this very well if you use one of the actors as an avatar and keep interacting with the other one.

The idea is to gradually change the affection of an actor for each object in the world, which will gradually make new interactions available. As a result, the player can witness changes in behaviour.
What these changes mean is left interally up to the imagination of the player.

Oops

If you see this error, just hit the A key to remove the Affection Graph.

Configuration Editor

Press the C key to toggle the display of the Configuration Editor. This is an interface to the parameters that can be set at design time. It is made to work within the Quest3D editor but will probably do most stuff correctly in the self running executable. This version of the demo may save data to your hard disk but it will not be re-used when you close and restart the application.

The editor allows you to assign behaviours to objects, set the affection of actors for objects, their enthusiasm, et cetera. To be able to use it, you need to be familiar with the system. Be feel free to play with it. 🙂

14 Actors

Pressing the SPACE bar adds another actor to the demo. You can keep pressing until there are 14 actors (if your system can handle the display). But allow for a few seconds between each addition to prevent errors. The new actors are all women and they haven’t been configured to offer any opportunities. So they don’t do much with each other and only respond to the objects and to the first two actors.

That’s it. I’m off to the creepy forest of Little Red Ridinghood now. 👿

Please let us know in the comments what you think of the demo.

Comment by yhancik

Posted on January 18, 2007 at 9:11 pm

I can’t help thinking about the Sims.
Although Sims are more complex, and also completely lunatic 😉

I’m doing everything the wrong way, and only reading about the project after trying the test version…

There’s something fascinating in searching a simple way to modelize a believable behaviour.
It will never be anywhere close to realistic or something, but it’s simple and working 😉 !

Its simplicity should allow it to run at a large scale, shoudln’t it ?
(The White Council RPG game is said to use the ‘AI’ of the Sims)

I can’t wait to see how it will develop in the 144 world 😀

Comment by yhancik

Posted on January 18, 2007 at 9:17 pm

And btw, is the Affection of a character for him/herself taken in account ?
Could there be a selfish character ?

Comment by Michael

Posted on January 18, 2007 at 10:06 pm

It is inspired by The Sims in the sense that the actors “read” the environment in search of things to do. But as you noticed, it’s a lot more simple and a lot less defined. We want there to be openness for interpretation. Something that is lacking in goal-oriented environments like The Sims.

And no, actors do not have affection for themselves. They are in fact only half aware that they even exist. 😀 They’re simply constantly being pushed and pulled by the environment.
But if you would reduce the Enthusiasm of an actor to almost 0, then he would not interact with many objects and perhaps seem selfish. Additionally you could give him very little opportunities for interaction to offer to the other actors. Or only opportunities that make him look selfish.

Comment by yhancik

Posted on January 18, 2007 at 10:50 pm

Hehe.. I tried the unenthusiast actor, and he mostly.. walks the environment… that works 😉 !

There was a funny story from the Stalker developers with game actors being aware of their existence.
Basically, the test character’s basic behaviour was to kill everyone else in the area. When he killed the last character, he looked for the next target… and found himself.
So he started shooting at the only part of the enemy he could see : his feet. It took him hours to die.

So I was wondering of a self-loving character would look his feet 😉

Comment by Michael

Posted on January 18, 2007 at 11:31 pm

Haha, that’s funny. 😀

Currently there aren’t very many behaviours in the Drama Princess demo. And they are not authored at all. I’m just happy that I got the machine too work, mostly.

Now, when using Drama Princess in 144, I expect we will discover its hidden features and shortcomings. And through that we’ll be able to create something more convincing (or fail miserably 😉 ).

Comment by Wildbluesun

Posted on January 21, 2007 at 8:09 pm

STOP CURTYSING TO THAT SPHERE YOU SILLY WOMAN!

…I tried to set it so she’d hate the sphere and want to kick it, but it didn’t work properly. =( And then she kept staring at the sphere. I think she has a weird sphere fetish.

When they bow and curtsy to each other simultaneously it looks really realistic. I like that. But the curtsying to the sphere was just odd. Why would she do that?

Comment by Michael

Posted on January 21, 2007 at 10:36 pm

I just put that interaction there as a point of reference for testing. This is not an authored environment!! 😀

Comment by Wildbluesun

Posted on January 27, 2007 at 2:06 pm

Oh, right. Still…silly woman.

Pingback by Grand Text Auto » Pleo, Eno, and More

Posted on January 29, 2007 at 9:33 am

[…] Drama Princess continues to make progress, and now has a new demo you can download. […]

Comment by Anomalocaris

Posted on August 29, 2007 at 4:23 pm

Nice, the movements look natural.

I don’t grasp how intimacy or affection works here… even if you address the other actor repeatedly (guy facing and bowing the woman-bowing-to-the-sphere), they don’t necessarily act back? Like Wildbluesun says, she must have a thing for spheres 🙂

And, when I play as the woman and bow to the sphere myself, then afterwards I get buttons for ‘face woman’ and ‘bow to woman’ with values of 0. Not so for the guy. Odd?

Comment by Michael

Posted on August 30, 2007 at 9:06 am

It’s been a while that I have made this demo. I don’t remember why this happens. Maybe it’s a bug.

In any case, the main idea is that Intimacy is fixed and connected to the behaviour, while Affection is connected to Actors and Objects and can change depending on your interaction with them.

There is no difference in the way Affection changes for the sphere or the man, but they might start off with different values.

Comment by Emriss

Posted on October 7, 2007 at 8:47 pm

Hm. Whenever I press A, the screen gets a green overlay. Do I need to reset something, or is that a common glitch?

Leave a comment

You must be logged in to post a comment.