expressiveintelligencestudio UC Santa Cruz
expressiveintelligencestudioUC 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)
expressiveintelligencestudioUC 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.)
expressiveintelligencestudioUC 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.
expressiveintelligencestudioUC 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?
expressiveintelligencestudioUC 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
expressiveintelligencestudioUC Santa Cruz The Hierarchy of “Dating” ACCEPTREJECT I.) Trait(A, sexMagnet) -- class 3VI.) hasCheated(A) & !Trait(B, notCareAboutCheating – class 3 I.) Trait(B, desperate) – class 2V.) Trait(B, asexual) – class 2 Trait(B, cantSayNo) – class 1Trait(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 Zero Accept = III.) Reject = IV.) Romance(B, A) – LikelyToDate Accept = 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.
expressiveintelligencestudioUC 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)