Saturday, July 15, 2006

Zounds! Human Simulation!

First, although it has nothing to do with this post, you should go read this long-ass essay. It says many of the things I've said, and the things it says that I haven't, I agree with.

Second, here's the actual post.

For a long, long, long time, I've wanted to build a "human simulator". I'm sure dozens (hundreds? thousands?) of people want to do the same thing. When you start to build these things, you end up with a couple of different final products, none of which are very good and many of which are socially unacceptable.

Okay. What is the draw. Why does it seem like an interesting thing to build?

And what is the failure?

The draw is that a human simulation will give you a playground game on a whole new level. Humans are naturally fascinating to humans, and emotion is the greatest instant hook. Humans know emotion and, more than that, they reflect it. Put emotion on the screen and, so long as it isn't too much, too fast, the audience will feel it echo. Laughter or tears, it hardly matters: emotion on the screen equals instant immersion.

The failure of this basic idea is from two big problems.

First is the scale failure. It is relatively easy to write a simulation for people in a given situation. I can write a compelling simulation of people on a crashing airplane, or people watching TV, or geeks at a lan party, or people in a hostage situation. All of these things are restricted in scope and scale, and it's pretty easy to come up with passable emotional and social algorithms for the situation.

But that one simulation isn't enough to put in any kind of advanced "carrying complexity". You can't get the player invested in the characters, because he only sees them in one situation, probably for less than half an hour. In order to get emotionally invested in a character, you need to see them in a variety of situations.

What this means is that you can't do anything other than the most primitive emotional games. Games which center around direct agency and wish fulfillment. This is why most of these kinds of games end up sliding rapidly towards worthless: a game about helping people isn't going to be much fun unless you want to help them. IE, are invested in them.

The solution?

Well, one solution would be to make a simulation which can handle a huge number of widely differing situations, allowing characters to grow on you. Obviously, this is extremely difficult. Another solution would be to write cutscenes in, like a normal game, which make you like the characters. Then you can "unleash" them in a social situation. The problem there is one of grain: the cutscenes will portray a dramatically more realistic and responsive character than the simulation.

That's only the first problem. The second problem is game. There's no such thing as an "emotion" game. There's "emotional" games, but not "emotion" games.

So you are forced to - whether you notice or not - add in a game. I've used poker, text adventures, and RPG-style combat engines. The question here is what these subgames offer.

Mostly, it's two things: breadth of options and clear communication.

In something like poker, ruling out tabletalk, you don't have many options. You win, you lose, you bid, you call - things are restricted. Moreover, the communication isn't clear. It's muddy, because you're playing the game. Whether you like or dislike someone doesn't necessarily drive your actions.

In something like a text adventure, you have a huge number of options, and usually they are very, very clear. Help someone, give someone a present, grab someone, hurt someone, talk to someone, give advice to someone, hug someone, steal something from someone. The options are endless, and each is very clear and personal. If you hug someone, it's pretty clearly an emotional thing: most hugs are not intended to win games.

The thing about this is that the more game you put in, the less emotion you can put in. Because the need to do well in the game will screw up the need to emotionally communicate, and emotional communications will tend to serve your advancement in the game.

Okay, so, what the heck am I trying to say?

I'm saying that there are two options if you want to create an adaptive emotional narrative in a game.

The easiest is to make a game, then put in a hint of adaptive emotion. This is actually getting more common - several tactical games allow characters to become friends and give statistical bonuses rewarding you for doing so. A certain volleyball game also does this, as does Playboy: Mansion and others.

The more difficult method of creating an adaptive emotional narrative is to make an open ended "social adventure" game.

This is not exactly an easy thing to do. You need to have a robust social simulator and... okay, this is the thing. And you need an involving plot which reacts to the social situation. Two tall orders!

The social simulator will be interesting initially, but once someone is invested in a character, you need to provide some kind of challenge so they won't get bored with these characters they've grown to like. The easiest way to do that is some kind of plot.

Whether it's a social plot or a "set out on an adventure and kill some monsters" plot hardly matters to me, but the longer your game goes on, the bigger your plots have to be in order to hold the player's attention.

The first time you save the earth, it's cool. The second time? Not so much. You've gotta pace yourself and push past that limit. Save a family, then a city, then a country, then a planet, than a galactic civilization, then the universe!

Okay, this kind of spiral is pretty absurd. It works, but so does drinking bleach to cure the common cold.

There are other options, including rotating scopes and player content investment.

This harkens back to my long-overdue post on global narratives. Long-overdue and... even later. Because this isn't that post, either.

This post is about social simulations, and why they are difficult.

I hope you've learned something from it.


cliff said...

yes its difficult, but also huge fun. theres so much you can put into social simulation. Still,coding such systems is not trivial, and theres the eternal problem that because the system is familiar to EVERYONE, they will asume that everything is modelled, when realistically it can't be. Thats not the case with a fantasy or sci fi game where people dont care that you havent accurately modelled mechwarrior engine lubricant dynamics. If you havent modelled jealousy, or boredom, or panic etc etc etc, people will notice big time.
Anyway, heres my effort :

Craig Perko said...

That's a really great point, and one I've wanted to talk about for a while. Why not model social dynamics for a system which ISN'T human. Or, at least, isn't today's human.

The most successful social simulation games don't simulate people, but pets or aliens.

Your life sim seems pretty solid. For some reason, it reminds me of the recent X-Com games. It does seem kind of... impersonal, though.

The demo is short enough that you can't tell what the game is really like, though. You can't even tell if you can get married, let alone what the dynamics are like. I have a feeling that you'll still feel like a very isolated character even after you have someone living with you.

That's something I'm trying to get past in my designs, not that I've succeeded yet.

Anyhow, thanks for the comment, and it looks like you've got a fun game.

Patrick Dugan said...

The way I've tried to handle the problem of "uncanny interaction" where the user expects more than you can model is by writing a setting that blurs the familiar and the fantastic, and thus has its own cultural assumptions and implied verbs. Zooming in, I then find a metaplot thats flexible enough to have dynamism, in both relationships and causation. Alpha Centauri's was "the future of mankind", more specifically, humanity's global adventure trying to survive and transcend on an alien world, which combine with the characters of each faction leader made it more compelling, to me anyway, than Civ.

Likewise I'll have something a bit more constrained with "sparklier" character resolution, focusing on a dozen people instead of a whole civilaztion, so the metaplot is much more focused, like "growing up and graduating school" or "fight a guerilla war".

Fortunately I found a neat engine design not too long ago that handles the plot dynamics from a bottom-up character standpoint ;)

Once you've got the high level constraint of a situation whose written metaplot is conducive to the kind of game design constraints you need to contextualize the simulator, then you can meet the bottom and top meet in tune-able dynamics. Rocket Hearts seems to allow relationships and context/game specific verbs to be rigged together at a high enough level of abstraction that this is do-able and manageable, in the sense that riding a tornado was manageable for Buffalo Bill.

Craig Perko said...

Actually, the faction heads in Alpha Centauri were keys. :D