I have gotten the deals into the storyworld, along with their associated logic, such as “Don’t request for something that the other guy already refused.” This covers the ‘Acceptable’ Scripts for Options. But now I need to compose the ‘Desirable’ Scripts for those Options. This can get very complicated.
For example, consider the Desirable Script for the option “request aura-count”. With this verb, the Subject requests that the DirObject tell him just how many auras that he (the DirObject) thinks that Actor4 possesses. DirObject should also communicate the degree of confidence he has in his estimate.
I didn’t mention confidence previously, did I? This is a trait automatically built into every storyworld by SWAT. It is a BNumber; a high number represents great confidence in the assessment, and a negative number represents little confidence. A zero value indicates a ‘normal’ amount of confidence. Everybody starts the game with complete assessments of everybody else’s aura-counts — but very low confidence in those assessments.
Currently, the Desirable Script for the Option “request aura-count” is simple enough:
This says that the desirability of this Option is the BSum of my own uncertainty and the other fellows certainty. That’s a good measure of the information content of the message. But this does not take into account strategic factors. Suppose that I really want to attack Skordikott tonight but this algorithm returns Camiggdo? Of course, the strategic decision to attack Skordokott is itself very advanced; I doubt that I can write a Script for that. So perhaps this Script is good enough after all.
But that’s just one of the five Verbs that comprise deal possibilities. What about the other four?
request promise no attack
This is a request that the DirObject refrain from attacking the Subject that night; it is good for one night only. I could simply assign some constant value to this; after all, any attack is always a bad thing; the best outcome is that the Subject loses no auras. But this would be especially valuable if Subject knows that DirObject possesses lots of auras of a type that he (the Subject) has few or none that he can defend with. On the other hand, it might tip off DirObject that Subject is low in that crucial aura, suggesting that DirObject should definitely attack Subject with the aura that he has in greatest quantity. Then again, it might an attempt to sucker DirObject into exactly such an attack so that it can be defeated. Hmm… I don’t know. This is tricky business.
request promist no betray
This is a request that DirObject promise not to tell anybody about the Subject’s aura counts. It applies for only the remainder of the day, so its value late in the day is negligible. This one bothers me because X could betray Y in the morning, promise not to betray Y later on, and then the next day Y could learn that X did indeed betray him. This would induce Y to wrongly accuse X of breaking his promise. What am I to do about this? [Later: the solution is to look up the precise times of the two Events in the HistoryBook.]
request betrayal history
Subject requests that DirObject tell him of anybody (other than DirObject) who has betrayed him. This is of some small value to Subject because he can figure out who is his enemy. But this one bothers me because everybody should be betraying everybody else. This should only be significant if somebody broke a promise not to betray. Perhaps the request should be modified to boolean form: X asks Y if Z betrayed him”, with the exact time of the promise looked up in Y’s decision Scripts.
The obvious Script should simply apply a value stored as a PropTrait. But this makes dealing in relics something of a zero-sum game. I’d like to have a table of differential values for each relic, so that one Actor wants relic A more than another Actor might.
Aha! Here’s an even better idea: each relic has a unique aura-power. Instead of merely revealing all the auras with greater precision, it is limited to a single aura. Thus, one relic can be very powerful in katsin but have no power in shial or tanaga. The flaw with this idea is that it will be tricky to communicate that greater accuracy graphically. The aura-displays (see end of previous essay) would be confusing enough without this additional complication. As always, I’m not sure what to do.