Wednesday, August 03, 2005

Interactive Storytelling and the Gamer, Part II: Nuts and Bolts

In part I, we left off with a Social Simulation-Enhanced Role Playing Game (SSERPG) that had spawned the following situation:

A player had gone to Merlock the Magnificient looking for a 'Magma Mallet' spell; Merlock offered the spell in exchange for the killing of his enemy, Splitwick the Sage. Merlock didn't know 'Magma Mallet', though. He lied because he wanted the player to think more favorably of him, because he knew he had the trust of the weaponssmith, who's daughter Merlock hopes to marry. Splitwick knows Merlock is a liar, and has been using this to blackmail him to the sum of 100 gold monthly.

Now, let's take a look at how a social simulation would create this situation. I'm loosely basing this on my limited understanding of Chris Crawford's Erasmatron engine as I've read about it on his site. It's complicated, but not as nearly as complicated as it looks because we humans immediately draw all sorts of conclusions when we hear a string of gossipy facts like the previous paragraph. The reality is pretty shallow. It's certainly no Turing test.

Merlock, like all the actors in this social simulation, is nothing but a few lists and tables: values he's trying to maximize, and values he holds for other actors. These values are suggestively labeled 'trust', 'obligation', 'esteem', etc., but have specific mathematical relationships to those of other actors. The simulation provides various methods by which actors can end up expressing these relationships, and these include textual representations that make sense to the player but are irrelevant to the simulation.

By luck of the draw, Merlock has a want called 'love', and in semi-random fashion he drew a 'marry suitable woman' method from the simulation's dictionary for methods on gaining love. His indicators of socio-economic status matched a number of other actors classified as “women”, and in semi-random fashion he was assigned the weaponsmith's daughter as his ’suitable marry' target.

'Marry' is simply a word that, to the game, denotes a comitment that will not be accepted without some combination of high values of esteem towards the one asking, or obligation, or payment, etc. With different weights on the values, it could be 'share family recipe' or 'give footrub' or anything else. The name is actually unimportant, except where it helps the player understand the mechanics of it.

Because the weaponssmith's daughter did not have enough esteem/trust/obligation towards Merlock, she refused his ‘marry’ request. But by default, most actors give a 'what could I do to increase trust/obligation/esteem with you enough for X' query when they are refused something on such grounds. The dice rolled again, and the simulation selected the reply ‘gain the trust of my father', in part because her trust value towards her father is currently quite high, and in part because trust-increase replies to a man’s ‘marry’ request are inherently skewed towards a trusted father. So Merlock went to her father, the weaponssmith, and gave the 'what can I do to increase trust/obligation/esteem with you' query. The weaponsmith said ‘money‘ (you and I might call this ‘dowry’) or 'gain esteem of my friends', and gave a list of friends for whom his own trust value was high. This list included the player.

Since Merlock was low on cash, he could not immediately satisfy either of these requirements. His want for money increased, as did his want for the esteem of everyone on the weaponsmith’s list.

Enter, finally, the player. When the player came knocking, Merlock recieved an “I want Magma Mallet’ request. According to the rules of the simulation, actors will sometimes make false claims, or promises they can’t deliver, when they wish to increase their esteem with someone else right away. In other words, they lie, especially when their 'integrity' and 'intelligence' attributes are low relative to their degree of want. And when an actor in this situation has an 'i want this' request from another actor, he will not only claim he can provide it, but offer the same kind of trade he would if he were not lying. Otherwise, the lie would be pretty transparent -- and immediate -- making it useless for a temporary esteem boost.

This is not the first time Merlock has lied. It is a character defect for him, because his 'integrity' attribute is low. He had previously told a lie to another actor, because he wanted 'money', something the actor had and was willing to exchange for ‘Fireball Level 2', something Merlock did not have.

You may not be surprised to learn that this other actor was none other than Splitwick the Sage, who's wants included 'magical power' – that’s how he became a wizard in the first place. ‘Fireball Level 2’ was one of the items in the list of things that would satisfy Splitwick’s 'magical power' want. So Splitwick was asking other characters if they had ‘Fireball Level 2’. Merlock said he did. Splitwick asked for the spell. Merlock refused, because he did not have enough trust/esteem/obligation towards Splitwick. A “what can I do to increase trust/esteem/obligation with you enough to get [‘Fireball Level 2']” query was made, and Merlock responded with '100 gold', because, as mentioned, Merlock wanted money.

Splitwick gave Merlock the money, but Merlock did not give Splitwick the spell because he did not have it. Splitwick's trust and esteem of plunged, weighted by the worth of the unmet agreement, which was '100 gold'. But the relevant part for our story is that the simulation also computed that Splitwick had caught Merlock in a lie worth 100 gold, because Splitwick was privy to all the information neccessary to know this -- Merlock had said he had the spell, took 100 gold based directly on that claim, and then denied he had the spell, all in Splitwick's presence. Now, the simulation allows actors to respond to lies in a number of ways beyond the automatic drop in trust. One of the responses that can be chosen, especially for actors with low 'integrity' values, is 'blackmail'. It turns out that Splitwick isn't the embodiment of integrity himself, and this is what happened.

'Blackmail' is really just a name for a kind of threat transaction, which is when an actor tells another that unless he is given some want, he will perform an action guaranteed to lower the attainment score of what he believes is one of the others' wants. When the ‘blackmail' threat is drawn as a 'caught someone in a lie' response, the threat is to reveal the lie to a list of other actors -- an event which is sure to lower their trust towards that actor. Splitwick wants money. How much? The lie was worth 100 gold, and the simulation says that's worth 100 gold a month for 10 months. Ouch!

The simulation computes whether the lost trust will be worth more than the blackmail amount to the actor. In this case, it was determined that Merlock valued the collective trust of the people on the blackmail list more than 1000 gold, so he agreed to the blackmail. But as is the consequence of accepting a 'blackmail' threat, Merlock's esteem for Splitwick dropped to an abysmal low. Given Merlock’s lack of integrity, this score is low enough that he might, given the opportunity, contract an assassin.

Such an opportunity arose, of course, when our player arrived asking Merlock if he had the ‘Magma Mallet’ spell. Once again, Merlock lied. He lied because, as was shown, he had low 'integrity' and wanted to increase his esteem with 'player' in order to increase his trust with the weaponssmith in order to gain the trust of the weaponssmith's daughter, in order to obtain from her the 'marry' commitment, in order to satisfy his 'love' want. And the simulation required that he 'hide' the lie by behaving just as he would have if he were not lying, by naming a want that the player could satisfy that would be equal or greater to Merlock's theoretical value of the ‘Magma Mallet' spell. The simulation determined that 'kill Splitwick' was a suitable match, for reasons which we now know all too well.

So when the player made his 'what can I do to increase trust/obligation enough for 'Magma Mallet'' query, he was asked to kill Splitwick the Sage.

Whew.

See? There's nothing magical about it. In fact, Merlock had no clever plan for dealing with you once you had taken care of Splitwick. You would've caught him in a lie worth whatever you decided it was worth, because you're the player. He may have responded in one of the ways people caught in a lie can sometimes respond when they know they've been caught, like trying to kill the person who caught them. It may have looked to you like a clever plan, but it was really a simple causal reaction.

Or, if he had no such reaction, you might have tried a blackmail threat on Merlock yourself. And if you picked a low enough amount, and gave a good enough actor-tell list, he might have agreed. You came in looking for ‘Magma Mallet’, expecting a run-of-the-mill 'fetch me this' request. Instead, you assasinated another wizard and are now getting blackmail money every month – it’s unexpected, but logical, interesting, and helping you kick butt. In a word, fun!

Perhaps this all sounded needlessly convoluted to you.

In fact, it wasn’t complicated enough, as I gave only a peek at how a social simulation can give rise to such encounters. I omitted many details – most of which I probably haven’t even thought of.

But the point I hope I have made is that the social simulations behind interactive storytelling can solve the general case of creating interesting situations in a fictional universe.

Gamers may be inherently repelled to textual content because of how it is traditionally used, but in a SSERPG, the social simulation adds valuable depth and longevity to a tried-and-true game stye. I believe this is a recipe both for comercial success and for reaching out to non-gamers; The same mechanics that push you into the assassination business today could turn you into a collector of decorative swords, a marriage counselor, or who-knows-what-else tomorrow. And it could all still be in the name of helping you kick butt – if that’s what you want.

0 Comments:

Post a Comment

<< Home