I’m sure that it seems to readers of this diary — assuming that there are any — that this project just drags on and on without ever actually making any progress. I certainly feel that way, and it weighs on my morale. However, genuine progress is in fact being made. I present here a demo of a short fragment of action in the game. This represents pretty much everything that the game can do. First, though, a screen shot from mid-game:
Remember, this is shrunken from its original 1600h x 1000v to 1000h x 600v. Here, the upper character, who is actually Gaustusu, is greeting me (Caroonycoorck) a little insincerely. In the lower speech bubble, I am responding by gossiping to Gaustusu that Zubi is… (I have not yet filled in the remainder of the sentence).
I have tooltips operating for all the icons on the screen. I had to set up my own custom tooltip system, as the Java version was not usable with this display.
On the right side panel, we have representations of what I know about the others. The upper section shows how I feel about Gaustusu. Each of the three feelings (good, honest, powerful) are represented as blue, green, and red spirals. The magnitude of my perception in each of the three dimensions is presented as a quantifier icon. From left to right, they read 0, 0, and -2. Remember, the black square around a circular icon denotes negation.
Underneath the magnitudes are the uncertainty values, indicated by question marks of different sizes. My uncertainties of the magnitudes are, respectively, -3, -3, and 0.
Note the little left-right arrows just above the display. Clicking on those reverses the direction of feelings; it would show how I believe that Gaustusu feels about me. It’s important to know whether somebody likes, trusts, or fears you.
The lower grouping of icons presents the same information about Zubi. This permits me to check what I say against what I actually believe. I don’t have to tell the truth, but it’s useful to be consistent.
Here is the progress of the tiny story I was able to play:
2 Once upon a time…
3 Fate start the day
4 Caronycoorck go to Gaustusu's home
5 Caronycoorck greet Gaustusu Powerful negative
6 Gaustusu greet Caronycoorck Honest slightly negative
7 Caronycoorck gossip Gaustusu Zubi Powerful negative half certain, half uncertain
8 Gaustusu I see Caronycoorck
initial Honest of Caronycoorck for Gaustusu : -0.40625572 with uncertainty of -0.8178643 delta = -0.1
final Honest of Caronycoorck for Gaustusu : -0.4262597 with uncertainty of -0.04574921
9 Caronycoorck suggest deal Gaustusu
10 Gaustusu reject Caronycoorck slightly negative
initial Good of Caronycoorck for Gaustusu : 0.33778846 with uncertainty of -0.97324204 delta = -0.2
final Good of Caronycoorck for Gaustusu : 0.12385011 with uncertainty of -0.262545
11 Caronycoorck goodbye Gaustusu Good very negative
12 Fate Fate handles goodbye Gaustusu Caronycoorck
13 Fate wake up next actor Soomesoorreg
14 Soomesoorreg go to Skordokott's home
15 Soomesoorreg greet Skordokott Powerful slightly negative
16 Skordokott greet Soomesoorreg Honest positive
17 Soomesoorreg threaten Skordokott
18 Skordokott defy Soomesoorreg very negative
initial Powerful of Soomesoorreg for Skordokott : -0.3199492 with uncertainty of 0.34359246 delta = 0.09375
final Powerful of Soomesoorreg for Skordokott : -0.2928087 with uncertainty of 0.018517055
initial Good of Soomesoorreg for Skordokott : -0.31197125 with uncertainty of -0.9457568 delta = -0.03125
final Good of Soomesoorreg for Skordokott : -0.3517689 with uncertainty of -0.07791246
19 Soomesoorreg goodbye Skordokott Powerful very negative
20 Fate Fate handles goodbye Skordokott Soomesoorreg
21 Fate wake up next actor Camiggdo
22 Camiggdo go to Koopie's home
23 Camiggdo greet Koopie Powerful slightly negative
24 Koopie greet Camiggdo Honest negative
25 Camiggdo threaten Koopie
26 Koopie what is your goal? Camiggdo
27 Camiggdo goal aura count Koopie Caronycoorck Honest
28 Koopie goal aura count Camiggdo Gaustusu Powerful
29 Camiggdo reject Koopie zero
initial Good of Koopie for Camiggdo : -0.37811977 with uncertainty of -0.7881403 delta = -0.2
final Good of Koopie for Camiggdo : -0.59659 with uncertainty of -0.36707497
30 Koopie goodbye Camiggdo Good very negative
31 Fate Fate handles goodbye Camiggdo Koopie
32 Fate wake up next actor Zubi
33 Zubi go to Gaustusu's home
34 Zubi greet Gaustusu Honest very negative
35 Gaustusu greet Zubi Powerful very negative
36 Zubi threaten Gaustusu
37 Gaustusu defy Zubi very negative
initial Powerful of Zubi for Gaustusu : -0.00392133 with uncertainty of -0.49952376 delta = 0.09375
final Powerful of Zubi for Gaustusu : 0.377927 with uncertainty of -0.18969767
initial Good of Zubi for Gaustusu : -0.31794107 with uncertainty of 0.08908516 delta = -0.03125
final Good of Zubi for Gaustusu : -0.3796777 with uncertainty of 0.011382608
38 Zubi goodbye Gaustusu Powerful very negative
39 Fate Fate handles goodbye Gaustusu Zubi
40 Fate wake up next actor Koopie
41 Koopie go to Soomesoorreg's home
42 Koopie greet Soomesoorreg Honest positive
43 Soomesoorreg greet Koopie Powerful very negative
44 Koopie threaten Soomesoorreg
45 Soomesoorreg defy Koopie very negative
initial Powerful of Koopie for Soomesoorreg : -0.5575365 with uncertainty of -0.40898216 delta = 0.09375
final Powerful of Koopie for Soomesoorreg : -0.55180794 with uncertainty of -0.011681328
initial Good of Koopie for Soomesoorreg : 0.58279747 with uncertainty of -0.7230443 delta = -0.03125
final Good of Koopie for Soomesoorreg : 0.562606 with uncertainty of -0.07235939
46 Koopie goodbye Soomesoorreg Powerful very negative
47 Fate Fate handles goodbye Soomesoorreg Koopie
48 Fate wake up next actor Skordokott
49 Skordokott go to Zubi's home
50 Skordokott greet Zubi Powerful very negative
51 Zubi greet Skordokott Good negative
52 Skordokott threaten Zubi
53 Zubi what is your goal? Skordokott
54 Skordokott goal aura count Zubi Camiggdo Powerful
55 Zubi goal aura count Skordokott Soomesoorreg Honest
56 Skordokott reject Zubi negative
initial Good of Zubi for Skordokott : -0.67767394 with uncertainty of 0.28552693 delta = -0.2
final Good of Zubi for Skordokott : -0.7422718 with uncertainty of 0.12498299
57 Zubi goodbye Skordokott Good very negative
58 Fate Fate handles goodbye Skordokott Zubi
59 Fate wake up next actor Gaustusu
60 Gaustusu go to Koopie's home
61 Gaustusu greet Koopie Honest negative
62 Koopie greet Gaustusu Honest negative
63 Gaustusu threaten Koopie
64 Koopie defy Gaustusu very negative
initial Powerful of Gaustusu for Koopie : -0.42699647 with uncertainty of -0.58564925 delta = 0.09375
final Powerful of Gaustusu for Koopie : -0.4233774 with uncertainty of -0.006634957
initial Good of Gaustusu for Koopie : 0.47191036 with uncertainty of -0.94213176 delta = -0.03125
final Good of Gaustusu for Koopie : 0.463036 with uncertainty of -0.029046677
65 Gaustusu goodbye Koopie Powerful very negative
66 Fate Fate handles goodbye Koopie Gaustusu
67 Fate wake up next actor Caronycoorck
68 Caronycoorck go to Skordokott's home
69 Caronycoorck greet Skordokott Powerful very negative
70 Skordokott greet Caronycoorck Honest very negative
71 Caronycoorck suggest deal Skordokott
72 Skordokott reject Caronycoorck very negative
initial Good of Caronycoorck for Skordokott : -0.57724667 with uncertainty of -0.07724488 delta = -0.2
final Good of Caronycoorck for Skordokott : -0.6073092 with uncertainty of -0.011876082
This is a condensed listing of the activity that took place in the story. Most lines begin with the clock time of the event. In this scaled-down version of the SWAT technology, only one event can take place per clock tick. Each event is presented in a shorthand version. There’s also some telemetry from the story telling me how the algorithms are working. The first of these begins with “Initial Honest…” and states the initial value of her perceived Honest value for Gaustusu: -0.40625572 ± -0.8178643. This means that she doesn’t trust Gaustusu much and she’s quite certain of her assessment. However, after Gaustusu gives her an evasive response (“I see…”), she realizes that he’s holding out on her, so her distrust of him increases to -0.4262597 ± -0.04574921. The decrease in trust looks about right to me, but the change in her uncertainty strikes me as much too large. Obviously, the algorithm needs further tuning. That’s what I’ve been working on lately, which is why I have the telemetry printed out.
Notice also that actors always respond to a threat with defiance. This is obviously an algorithm that needs correction.
There is some other material in the storyworld that is not presented here. For example, actors can now intelligently assess the costs and benefits of a deal proposal. That’s important.
That’s where I stand right now. It’s obvious that an enormous amount of work remains to be done, which is quite disheartening. On the other hand, this is already well beyond anything that anybody else has accomplished with interactive storytelling, so I suppose I shouldn’t feel so demoralized.