Upload
winfred-houston
View
213
Download
0
Embed Size (px)
Citation preview
expressiveintelligencestudio
UC Santa Cruz
expressiveintelligencestudio UC Santa Cruz
Social State and Status Preconditions
A Social State Change refers to a significant social event transpiring E.g. two characters start dating, or two characters
become enemies. Before a Social State Change can take place,
the correct Status Preconditions must be satisfied Some examples:
Dating(x, y) : rel(x, y) > 70 ^ rel(y,x) > 70) Enemy(x, y) : rel(x, y) <30 ^ rel(y,x) < 30 ^ ~Friends(x,y)
expressiveintelligencestudio UC Santa Cruz
A (Slightly) More Complex Example
Often times there are multiple ways to satisfy the status preconditions. Take Fighting for instance!
Fighting(x, y) : Enemy(x, y) ^ [NegativeAct(x,y)]: Enemy(x, y) ^ [NegativeAct(x,z)] ^ Friends(y,z): Enemy(x, y) ^ [NegativeAct(x,z)] ^ Dating(y,z): Abusive (x)
Note: [ … ] Indicates an event in the Social Fact Database Also Note: Abusive(x) means that character x has the trait
“abusive” Finally Note: Specific social games contain behavior that is
hand tagged as a “negative act” (e.g. being embarrassed, being physically attacked, etc.)
expressiveintelligencestudio UC Santa Cruz
A Brief Glimpse at the Social Facts Database
The Social Facts Database stores all Social State Changes. Gets new entries as the game progresses. Is Pre-populated with entries before gameplay = backstory.
Attached to each social state change is lots of pertinent information
Who was involved, Which social game was played. Specific topics that were brought up in the dialogue. Any choices/branches that were made. A timestamp.
expressiveintelligencestudio UC Santa Cruz
Social Networks
We’ve seen Rel(x, y) > n all over the place. This is a reference to a social network
A bidirectional graph. Each Node is a character in the space. Each edge weight is how much “Affinity” that a
character feels towards another. We have three networks -> three types of affinity:
Rel: How much you like someone as a person (e.g. friends) Romance: Interest in romantic endeavors (e.g. dating) Authentic: Respect for another.
The jump from one to three is a recent choice: Thoughts?
expressiveintelligencestudio UC Santa Cruz
A Social Game in Action
OK! So, let’s say that a Status Precondition for Dating has been met! What happens Next?
We play a social game that (potentially) results in the social state change coming to pass! How do we decide success? Each Social State Change has a hierarchy of conditions for
accepting the change and another for rejecting the change Each Condition has a weight If Accept Conditions – Reject Conditions > 0, enact the change
expressiveintelligencestudio UC Santa Cruz
The Hierarchy of “Dating”ACCEPT REJECT
I.) Trait(A, sexMagnet) -- class 3 VI.) hasCheated(A) & !Trait(B, notCareAboutCheating – class 3
I.) Trait(B, desperate) – class 2 V.) Trait(B, asexual) – class 2
Trait(B, cantSayNo) – class 1 Trait(B, contrary) – class 2
IV trait(A, smelly) & !trait(B, seesInnerBeauty) Class 1
Romance Need Accept= I.) Reject = ___
∑ for each friend f over the set of B’s friends Fb: [Romance(f, A) – Neutrality]
Accept = V.) Reject = VII.)∑ for each character c over the set of all characters C
If Authenticity(A, c) > Neutral, Authenticity(c, B), else ZeroAccept = III.) Reject = IV.)
Romance(B, A) – LikelyToDateAccept = I.) Reject = VII.)
A = Initiator of Social Game, B = Recipient. Class x = Relative weight the condition has (3 = lots, 1 = little)Roman Numerals – Which path of social games to play. No Roman Numeral = no social game, just dialogue.
expressiveintelligencestudio UC Santa Cruz
So lets say that…
Someone wants to try to date another and the following facts were true: I.) Trait(A, sexMagnet) -- class 3 (Accept) V.) Trait(B, asexual) – class 2 (Reject) Trait(B, cantSayNo) – class 1 (Accept) For simplicity, all scalars are zero.
The Accepts WAY overpower the Rejects, (class 3 + class 1 > class 2) so a Dating path that results in the two dating will result!
Which path? Depends on the strongest condition that was true on the winning side
In this case, that was Trait(A, sexMagnet), so we will go down path I.) (ooh la la)