Monday, December 31, 2007

Humor and Characters

I like humor. I think that everything is better with humor in it.

But, like most people, I have humor I like and I have humor I don't like. For example, I can't stand South Park. I have never laughed at any part of South Park. There are occasional moments of mild amusement. That's it.

I guess everyone gets used to giving half of all humor a hairy eyeball.

Sometimes, though, things get a bit odd.

There are a lot of comics out there that I don't like. For example, Pearls Before Swine. When I read it, I don't see humor I don't like. I could deal with that, just dismiss it. Instead, I see inept humor. I see weak punch lines, poor pacing, and talking heads.

I assumed that it was simply bad. I can see what they seem to be trying to do, and I can see them fall short. So it's bad, right?

Apparently not. It's one of my dad's favorite comic strips, and it gets pretty solid reviews.

I had the same theory about Todd and Penguin, but it gets some pretty good reviews as well...

Looking into it, I find that the big thing that people seem to like about these comics are the characters. They enjoy seeing what the characters do and how they interact. This is not something I feel, even after reading hundreds of these comics. They all seem so painfully bland to me.

I didn't really think that my sense of humor was excluding characters. It's not that I run around saying, "ooh, it's got a character in it, I don't like it!"

But now that I think about it, that's pretty much the case. I like situational humor rather than personal humor. I like the tornado-torn house with a sign saying "landscaping by Jim". I like the Ministry of Silly Walks. I like Terry Pratchett. I like one-liners and absolutely terrible B-movies. I even like Scrubs.

All of these things have one thing in common: they have really strong situational humor. There are characters, but in most of them, the characters aren't really the point. They're just there to get us in and out of situations.

Scrubs is an exception: it's got situational humor, but it's also got a lot of character humor. And now that I think back on it, I have a clear line as to what I found funny and what I didn't. I find it funny when the radio wristwatches bounce around screwing scenes up. I don't find it funny when the ex-wife walks onto the stage and makes someone's life more miserable.

Looking at more examples is pretty easy. I can't stand Napoleon Dynamite. Why? Because it's basically a bunch of characters going around being extremely uncomfortable and/or idiotic. Doesn't interest me in the slightest. The situational humor is almost nonexistent: instead of the characters serving to take us from situation to situation, the situations serve to take us from character to character.

It's not that I simply don't find it funny. I actually find it acutely uncomfortable.

Most character humor revolves around making a character miserable or worthless. Humiliation, pain, idiocy... I don't like it. Character humor which uses milder approaches is simply boring to me.

But it doesn't bore me any more, because now I'm looking at it from a "meta" perspective. Even though Pearls Before Swine occasionally tells the same joke that a situational comic might, they tell it with a radically different focus and sense of pacing. Here's an ideal example (link will stop working in a few weeks): link. This is the funniest one I could find.

I look at it and all I see are flaws, because I'm looking at it from a situational perspective. I have the instinctive urge to cut half the dialog, maybe even try for single-panel or nested-panel, like the Far Side. But at least I find the underlying concept funny.

Rewind or fast forward, the strip is surrounded on all sides by character humor. You can clearly see the kinds of humor I just don't get.

I think this is interesting.

Do you see what I'm talking about? What kinds of humor do you like?

Thursday, December 20, 2007

Story Arcs

This post and this post are actually related topics, as much as they don't seem to be.

In the second of those links, I say that a player playing a single-player game can be said to be having a conversation with the game. The player decides how to approach something, and the game responds, and the player says another thing... the player is in a conversation, trying to figure out what the game has to say. The game engine is their language of discourse, and what kinds of things they can talk about depends on the game engine.

In the first link, I say that the player can't remember details if he quits for a while. This makes a lot of sense, because most people don't simply pick up a complex conversation where they left off. If you talk to someone about something deeply complicated then break for lunch, you don't come back and instantly pick up again. There are a few missing beats, you have to reorient yourselves. And if you don't talk to them for days, the nuances of your conversation are all but gone.

So here's an interesting idea. Instead of treating a game like a linear path, how about treating a game like someone you have conversations with?

If you have someone you talk to a lot, you don't simply have one conversation that has breaks in it. You have a new conversation every time you talk to them, but usually the conversation builds off the previous ones.

In a complex game like Civilization or Starcraft, your conversation with the game gets very nuanced: there are a lot of little details you keep track of and occasionally return to. This city needs to produce culture, that soldier needs to board this ship... lots of little details.

Earlier, I said that loading a game like this is always a pain in the butt, because I can't remember those details. I lose a lot of the sense of connection that I had. Other games fade as well, although not as quickly because they generally have fewer nuances.

I suggested that it should be possible for a game to have a kind of re-introduction for all the nuances you're likely to forget.

This is sort of like if you have a complicated talk on, say, Russian politics with a friend. Then you go back to your friend and he pulls out a notepad with a dozen details written down on it - threads of conversation you have forgotten and he wants to pursue.

But people don't do this, because both sides forget. So when you go back to your friend and want to talk Russian politics again, you pursue a somewhat different focus and drop all the loose threads that don't matter. You've had time to think about the subject and you want to talk about some specific thing.

If your friend didn't forget those loose ends, you'd get irritated really quick. Most of them don't really have anything to do with this new conversation.

Now, if a game can be treated the same way, that would mean that every time you come back to a game, it's a new conversation with a memory of the old. The game doesn't forget what happened in the old game any more than your friend forgets Russian politics, but it doesn't bring up the details that don't apply any more.

For example, if you loaded up a Civ game after a week away, the game would decide which nuances you've forgotten, and will decide on a primary thrust or two for the game to "talk" about. Maybe you're having a budget crisis, or there's a war on the eastern front, or you're colonizing a new continent.

The game would see that these are the things you're likely to remember, likely to want to "talk" about. You probably don't really care that you had a dude building a farm somewhere, or that one of your cities is unhappy. These are forgotten nuances that simply don't matter and if the game floods you with them, you'll get irritated.

So the Civ game temporarily simplifies to allow you to focus on what really matters. This could be done by time dilation (turns here are only one year, whereas back on the mainland they are ten years) or by giving the AI control over the details until you choose to reclaim them.

In an RPG like Oblivion, you can take this up a notch and actually let the player choose the new "topic of conversation". Last time he played Franzibald the Wizard. This time, he might choose to continue to play Franzibald, but many of the nuances (old, forgotten missions) will be cleared. If it's been a long enough time, it can clear even things like major missions and exactly how much gold you have and simply say "We find Franzibald in this new location, having completed his quest..."

Alternately, the player might choose a completely new topic rather than trying to continue the old topic. Maybe he wants to play a barbarian, or a princess, or a villain... and the game can allow him to either make a character or take over an NPC to explore this new topic.

The idea here is that each "conversation" builds a bit more world. Instead of reintroducing all the useless bits, you can just leave them in the background until your conversation turns in their direction again. You build a very rich world that the player knows very well, but you don't swamp him with details.

This would also please people like me, who like to replay the first five hours of Oblivion eighty times but can't stand the other forty hours.

What do you think?

Rails Errors

Here's a helpful hint to anyone who's having the same problems I am:

If Rails gives you an ultra-generic error such as "We're sorry, but something went wrong.", try CLEARING YOUR SESSIONS. You can do this manually by deleting from the table "sessions" if you're using database sessions.

Tuesday, December 18, 2007

Lossy Loading

Saved games are never loaded perfectly. There is no game with a perfect load system, because memory degrades very quickly.

I'm not talking about hardware memory. I'm talking wetware. Your hard drive doesn't really degrade, but your brain can't remember what you had for breakfast yesterday.

So when a player takes a few days off and then returns to their game, their brains don't load the state perfectly. They forget the details. The longer they spend away, the fewer details they remember. It doesn't matter how perfectly the game loads from the computer's hard drive: the player doesn't remember with that level of clarity.

My favorite games are tactical games and RPGs. Things like Civ IV, Disgaea, Eternal Sonata, Brigandine. These games are "RAM heavy": they have a very complex state. You've got a lot of characters all advancing in different ways, you've got a complicated map where certain areas are critical, you've got half a dozen plans in the works.

Unfortunately, this level of detail is also quickly forgotten, especially by me. It's so bad that I literally cannot come back to a game of Civilization. I totally lose the feeling of connection I had: although I understand the overall situation, there's no real feeling of being involved. It takes longer with RPGs and tactical games for some reason, perhaps because my memory for people is better than my memory for cities. But it only takes me a few days to completely forget where I was and what I was doing.

It's possible to reacquaint yourself with your game, of course. Study the map for a few minutes, figure out the important elements and so forth. But it takes a long time to get re-immersed: there are too many pieces moving in too many directions.

I think this is probably a serious issue that many people have. In fact, I would guess that many of the people who don't play games don't play games specifically because they have a poor memory for this kind of thing. It's not a general dislike of games: the casual game industry shows that virtually everyone is willing to waste time matching colors and picking out words. But those people rarely make the transition to games with a complex, persistent state.

Their memories are probably as bad as mine. So if they load a game they were playing yesterday, they're lost.

The only reason things are like this is because game designers design games to be played straight through. That really doesn't make a lot of sense for any game over an hour long.

Any prolonged game will be saved and put aside for some length of time. The bizarre assumption we make is that when someone comes back to the game, they'll pick up where they left off. Why do we assume that?

With today's games, we're perfectly capable of determining how long it's been since someone played our game. We can treat the game as if knowledge had a half life of, say, a week. You've been away for a week? You've forgotten half the situation. You've been away for a month? You'll only remember 1/16th the situation.

Therefore, we should at least offer a slow reintroduction. If we're worried about upsetting the game balance, it could be something which has absolutely no effect on the game world.

For example, if you're playing Disgaea and we know it's been a few days since you last played, we can run a quick recap. These are the last few things you did.

If it's been a few weeks, you'll need to go more broad-scale. These are the characters you use most and their general capabilities... here's a plot recap...

There's a reason that TV shows frequently have a "Previously on Useless TV Show..." segment. People have shitty memories.

In order to do this recapping, you would need the game to understand (or at least keep a record of) the situation. The game needs to mark what details you're likely to forget, so that it can run a recap, a recentering scene, or a "semi-tutorial" that reintroduces you.

Of course, that's not likely to happen. It's not in the budget. So when you see a persistent world marketed to the "casual" audience, it's usually only surface-deep. Who cares if you forget that you were planting flowers in Animal Crossing? It doesn't matter. But forget that you can cast fireball in an RPG, you're in for some trouble.

Thoughts? Is this a problem for you? Do you think it's a significant reason people don't play persistent games?

Monday, December 17, 2007

What Will They Say?

Totally ivory tower...

Sometimes there's nothing better than asking a ridiculous number of "whys".

Take player-generated content. A lot of people want their games to use player-generated content. Why? Because it's basically a renewable resource. Essentially it's free developers, even if much of the content is really poor.

But let's turn that "why" around. Why do players want to generate content?

Because it's fun? Okay, why is it fun?

It's clearly not the UI. Even the worst UI in the world (SecondLife) gets thousands of players making some extremely high quality content. The actual process of making content is about as much fun as eating tin foil. This is especially true when someone spends fifty hours polishing.

So why is it fun?

A lot of people would answer in a lot of different ways. I don't think there is much of a consensus on the matter. A common answer is that people want to express themselves - it's part of being human.

Personally, I think that's not quite it. I don't think people want to express themselves, I think they want to express what's in their head. There is a difference, although it might seem semantic.

For example, Oblivion. Oblivion lets you build a character. Actually, that's the best part of the game: the character generation. It's definitely player-generated content, although it's not really content that gets shared with other players.

But this is not self expression. When you build a character, you're not building yourself. Although I'm sure some people build characters that reflect parts of themselves, I know a lot of people build characters that they think will result in interesting gameplay. Interesting to the player, rather than from the player.

When I build a female drow alchemist, it's not because I have an inner female drow alchemist, it's because I have expectations of the game. I expect the game will play in a specific kind of way, and being female, drow, and alchemically talented will make my play experience more interesting than, say, being a dwarven warrior. If I replay the game, I'll probably create a different character because that particular interesting experience isn't terribly interesting any more.

You could say that I'm not expressing myself. Instead, what I am doing is starting a dialog with the game. After judging what I think the game will be like, I say "what if I do the alchemist thing?" Then the game replies, "well, those plants you ignored before..." and the game play changes.

It's not an expression, it's a dialog.

Obviously, this isn't quite as unchained as most kinds of player content. In a lot of games, you can build things that are considerably more freeform. SecondLife, for example, lets you build just about anything.

The biggest difference here is that the game itself is not always the other side of the conversation: frequently, other players are.

If you look through SecondLife, you'll see what are fundamentally three kinds of content.

The first is the same kind you would get from Oblivion: the player is having a conversation with the game engine. People trying to do cool things with prims, or figure out how to make a glowy thing that chases you around, or building that first building, or even building a self-propagating ecosystem.

The second is social content. This is a piece of content that acts as a message to other players. A billboard, a sex act, a castle: this is a statement of some kind that is trying to convey something to other people. This is the sort of self expression that artists tend to talk about... but it's basically obsolete, noninteractive. It doesn't take advantage of the media.

The third kind is also social content, but unlike the second kind, this content is actually a conversation. It isn't simply a message in a bottle, but something that invites replies and further conversation upon itself.

Typical examples of this last type are message boards, where a thread of conversation exists, fundamentally, as itself. Although it is in the media of the message board, it has a membrane around it so that the context remains clear and the conversation remains on topic.

In SecondLife, you get a few examples of another kind of conversation: morphing content. A lot of content gets produced, and then another player will produce a similar piece of content, and so on and so forth. This "evolutionary dialog" is really very interesting, as it's not held between specific people or in an existing language.

Now...

I'm not interested in this "message in a bottle" stuff. I can do that anywhere. If I want to send a message in a bottle, I'll draw a picture or write a blog post. Fundamentally, games are interactive, so the content and the conversations should also be interactive.

I think that it would be interesting to focus a game on the kind of conversation that can't be held in a language. Less a forum, more conversing with content.

How would you do that? How would you create a game that helped people talk in such a way?

Well, first, it's clear that you need to let people make content.

Second, that content needs to exist in the game. This means that people have to be able to share content in the game world, not just between friends. A big part of this kind of conversation is happenstance: people who stumble into your line of dialog.

Third, the game has to be worth playing, and that means the content has to change how it is played to some extent. Personally, I would suggest having more of an inherent game than SecondLife to give the content some reason to exist.

Fourth and finally, it has to be very easy to both comprehend and reply to a "message".

That last part is about language. Your conversations are limited by the language you talk in and how well you can express yourself in the language. It would be difficult to talk to a foreigner with a bad accent about the nuances of southern politics. It would be impossible to do it in Klingon, even if you were both fluent.

Our non-spoken language is the same way. What it can express will limit our player's topics of conversation, and how easy it is to understand will limit how nuanced the conversations will be.

The "language" of Oblivion is an example of one which is both limited and difficult to understand. If you passed a character to your friends and said, "this character is cool!", it would probably take them hours of play to understand the nuances of why the character is interesting. Similarly, all you can really talk about is navigating the Oblivion world.

Of course, then there's mods. Players add a wide variety of content to Oblivion, and in this content you clearly see a deeper language. Much of the language is still based around navigating Oblivion's world: mods that change how fast you level up, or what enemies there are, encumbrance limits, and so forth. These allow you to rephrase the game's challenge, giving a different focus.

It would seem like a limited language, but while it's limited in breadth, it's very deep, very nuanced. Whether you tackle a world entirely populated by enemies of your level or whether your world is more realistically populated with enemies of every level changes the game entirely and makes a surprisingly coherent statement about independence and pandering that is difficult to express in English.

Of course, it is a limited language, and there are therefore a fair number of mods that seek to talk on different subjects, including a large number of fashion mods... but these are all very limited, because the language of the game only supports them on accident.

Our language in our theoretical new game needs to have a wider language than that, while simultaneously allowing for dialog using it. (Mods aren't dialog.) And, ideally, it would be faster to understand: you wouldn't have to play for ten hours to understand the message...

A fundamental problem with this is that players don't usually have a whole lot to say. If you look at SecondLife, you'll find that the majority of content is painfully bland. Eighty thousand boxy houses and eight billion pairs of underwear, all of which say (or fail to say) basically the same things.

I would argue that they don't have anything to say because the language of SecondLife is crippled: it is reduced to what you bring with you. It is only fairly recently that it has begun to develop strong things to say on the subject of privacy, economy, ownership, and social well-being... and even now, the majority of the conversations on those subjects are held in English, outside of SecondLife. Seems odd that when a language develops opinions, you talk about those opinions in a different language. But when a language is so difficult to speak, it's not suitable for dialog.

Perhaps... perhaps our game should include a method of creating languages? Creating contexts in which things can be discussed? Fast, slow, wide, nuanced... on any conceivable topic?

This is a hard question. I'm tempted to say that the best design would be a deeply entangled set of games and content designed by players, often using other games and content designed by players.

And, no, I don't mean Metaplace. I mean a contiguous world...

Hrm. Any opinions?

I can't believe you read all of that.

Saturday, December 15, 2007

Moral Choices In Games

In this industry, we're all very proud of our "moral choices in games". In KOTOR, you can be good or evil! In Bioshock, you can be good or evil! In Jade Empire you can be... polite or an asshole!

At least it's unique.

Anyway, as I mentioned last post, putting choice like this into games isn't really adding much to the game except a single replay. It's really just a single choice you make somewhere near the beginning of the game: good or evil? You're not going to change your mind halfway through.

So the ten thousand "choices" where you can choose to be evil or good are actually just crap. They aren't actually choices, because the player has already decided what his character's personality is, and he'll just keep choosing.

There are a few (theoretical) ways around this.

One is to make it so that as you progress, the more towards good or evil you get, the more the game increases the rewards for switching sides. There are a few issues with this, but my big one is that it means you'll probably get sudden betrayals that don't make a lick of sense. Darth Vader didn't just turn good at random. He had to be dragged back to the light inch by inch over the course of three movies.

Another problem with it is that this reduces good vs evil to a tangible number. You're good until you're paid THIS much to turn evil. I don't really like that idea: I think it will cause a lot of dissatisfaction.

Another method is to have a lot of axes instead of just good vs evil. How about honor vs means? Aggressive vs sneaky? Cheerful vs snarky? Small picture vs big picture?

The problem with this is one of swamping. Every axis is a single choice when viewed alone: the player believes his character is snarky and honorable. If they ever come up, that's what he'll choose.

But it would be very expensive to create feedback to remind a player what his character's personality is. When you have "good vs evil", it's easy to remember whether you're good or evil. But when your character is "good, cheerful, honorable, aggressive, small-picture"... the dialog isn't going to reflect more than one or two of those at a time. There will not be a strong sense of the character being centered around a specific concept. The player will feel a bit lost.

However, it's possible to cross-compare. Instead of honor vs dishonor and good vs evil, it's certainly possible to do honor vs good. Tangential rather than opposing choices. It's certainly possible to narrow down the band of how important a player feels honor is vs how important they feel good is. You can then set choices on the razor edge and let them wring their hands.

But, again, this is fundamentally a single choice: What's your ratio of honor to goodness? It takes a while to get the answer but it's still a single question. Also, once answered, the answer changes, since players who choose goodness over honor will automatically start valuing goodness more and honor less. It's actually an unstable equilibrium. So it's not even a question that has an answer: it's a question that devolves into slush the moment you answer it.

My favorite method of putting moral choices into your games is to use emotional investment.

It doesn't matter whether a player chooses to sabotage his competitor's pod racer or not. That's just dumb. But the classic superhero choice, on the other hand: will he save his girlfriend or the bus full of schoolchildren?

It's very possible to roughly keep track of how much time a player spends with given game elements (usually people). Then you can make the player choose between them. You can do weak choices with unimportant elements to make one of the elements more important, too, so this works out well.

On the other hand, this is definitely a game that has an END. You can't winnow things forever - the player will eventually say, "screw it, this is the only thing that matters" and then you've got a single choice again.

Also, you have to have a game which is largely able to generate plot in some way...

But here's another thought: sure, do good vs evil. But reward the player for the number of continuing plots that drag him each way. So if you're killing a thousand cops on this planet, that's dark side. But you're also helping a wookie, that's light side. Therefore, your character gets a bunch of extra Force points reflecting his internal strife.

I like that idea, but you have to be careful not to make it wholly transparent. A player shouldn't really think "oh, I need to do this evil so that I get some more dark side", but instead the plot should be described in a way such that he is more likely to take evil's path.

This means that you CAN be wholly light side for the whole game, but not only are you very weak, you are continually bombarded by descriptions that tantalize you to the dark side. The same is true if you decide to be wholly evil.

For example, a child is dying of a disease. You're painfully light side, so the description is "Looking forward, you see this child's path, should he survive, will destroy all life on the planet." If you're painfully dark side, it's described... the same way. :D

Anyway, those are my thoughts on the matter. Anyone else have any?

Friday, December 14, 2007

Choices Suck!

The big thing these days is to let your players choose. Sometimes, these choices relate to the fact that it's an open world where any issue can be approached in a thousand ways. Sometimes, these choices are scripted nodes in the plot.

Let's skip the weaknesses of scripting choice, except to say that it's not a very scalable or satisfying method of adding choice to a game.

However, adding choice to the world itself...

A lot of games have done this pretty well. Crackdown and Skate are two examples.

Usually, this is tactical choice. Approaching a situation from any direction you please, carefully allowed by permissive level design.

But this method is also flawed. The difficulty here is that if you let a player choose, he'll choose the same thing over and over again.

For example, in Crackdown I killed every single boss by kicking them in the face. Whether this was algorithmically a dominant strategy or not, I certainly felt it was. I never felt any urge to kill bosses using guns or grenades or whatever.

Skate took this problem in hand by giving you missions that specifically required different actions. This mission is about grinding, this one's about jumping through a hole, this one is about long air, this one's a race...

Therefor, Skate had the opposite problem. While I very much enjoyed the game, occasionally a mission would be snap-your-controller level frustrating. I can rack up ten thousand points in thirty seconds, no problem, but don't ask me to manual to jump to manual, that's just too hard. Let alone those races, which were just asinine.

While Skate's physics give the player freedom of choice, the actual "plot" was engineered to make you experience the full range of abilities. That's not a bad idea... except when you take it to extremes and require the player to excel in every ability in order to advance. That kind of defeats the purpose of choosing in the first place.

As another example, I have always loved the old Buck Rogers games. Ancient things programmed in a familiar engine, but better.

Back in those days, they were happy to let you build every member of your party from scratch. Unlike normal D&D, things didn't always boil down to combat: it was common to have to do zero-G maneuvers, naval combat, bomb defusing, fast talking, and so forth. So the game wasn't so much about minmaxing for combat.

But, like the worst in Skate and Crackdown combined, this game required you to both excel at everything and once you had decided on an approach you were basically stuck doing it for the rest of the game.

Scripted choices have this problem as well. How many people actually "risked falling" in KOTOR? 99% of the players either always chose good or always chose evil. Even though there was a choice, it was only a choice. One choice. Made near the beginning of the game.

Similarly, did anyone actually kill a few of the Little Sisters? I'm pretty sure that everyone either killed them all or saved them all.

In both cases, there might be a few outliers where the player changed their mind halfway through. For example, I wanted to be Sith in KOTOR... but after a few planets I found that "evil" was just another word for "spoiled thirteen-year-old boy", and didn't really have any urge to re-visit that particular phase of my life. So I became "good", which is apparently just another word for "naive thirteen-year-old girl". Which is better only in that I have never been one before.

"Choice" in games... no. Never put "choice" in games.

Put in choices.

Monday, December 10, 2007

I Hate Ads!

A rant with an optimistic end.

I've ranted about ads before, especially that sniveling, puss-filled little piece of blue shit that advertises free smileys and yells "HELLOOOOO?" at max volume whenever you happen to put your mouse somewhere nearby. Like, say, if you want to get from your tab bar to the page you want to look at.

Of course, technology of any kind is always perverted into scummy stains on the face of culture and humanity by the fourth worst kind of person on the planet: advertisers.

I'm a big fan of this nightmarish piece of crap. I especially like that the putrid blot parading as a human being isn't even sorry he's abusing it. "Well, I'm sorry you feel that advertising our shitty show INSIDE YOUR HEAD is bad. You'll get used to it." It's bad enough that the show itself is completely devoid of any value.

I especially like that the article, written to be carefully neutral, is a narrow strip between ads, with ads above and below as well.

I believe that there are a steadily growing number of people who react as I do. Let's call them "early adopters". We are so offended by intrusive ads that we actively blacklist any company that uses them. If I didn't have a spam filter to automatically kill ads from eBay and Amazon, I wouldn't use them. They spam your ass. Invasive advertising of a sort I can stand simply because I bounce the motherfuckers.

At the moment, we of the impermeable personal space are not a significant force: most of these invasive ads target hyperactive ten-year-olds and adults whose technical savvy can be charitably described as limited. The fact that the ads piss us off doesn't matter, because we weren't planning on downloading their smiley-encrusted malware or watching their vapid piece of crap anyway.

But I can't help but think about how geeks were when I was a kid. Nothing was marketed to geeks except personal computers. Everything else was marketed to the general public, because by and large the general public was where all the money was. Not only were geeks few in number, but individual geeks didn't have more than double the purchasing power of the general public.

Well, nowadays a lot more people are free to grow up geeky. I would say that the geek percentage of the population outnumbers (and overlaps) any given minority. Nowadays geekhood drives product design all across the board. Executives and sports fans buy Blackberries and iPhones. Everyone's a geek these days. Everyone's a technophile, to some extent.

You have to be, because if you can't use the geek tech, you can't compete.

I can't help but think that we're going to have the same switch in public opinion about ads. I think that in a generation, a significant chunk of the population is going to be advertised to using only rigorous opt-in and word of mouth. I think that, in many ways, the world will become a smaller, more personal place thanks to the power of technology.

I think this will happen because the ads are and will become more of a measurable negative influence. In order to live well, you will have to cut ads from your life.

You will have to, because if you can't block the ads, you won't be able to compete.

I'm not a doomsayer who believes that tomorrow will be blanketed in ads. I don't believe that the next generation of ad will be effectively memetic mind control. I think humanity will reject ads and, perhaps, centralized news.

I think our children will grow up on the cusp. Our children will see the final assault by the old, great "memes" of advertising, propaganda, and religion. And our children will win, because it is impossible for an idea to win if it is hated deeply enough.

Their children will grow up in a land where all the billboards are blank.

I think the world will feel much smaller. I don't think we'll have a unified global society. I don't think anyone really wants that. I think we'll have one better: global friendship.

Of course, by "we" I mean "them", unless you biologists stop lazing about and get crackin' on that youth serum. Chop chop.

Anyway, that's your dose of future for the day. :D


...

PS: Apparently, when I'm angry enough, I fall back to about four preclauses. Of course, I can't help but think in that way I especially like.

Saturday, December 08, 2007

Blather

It's said (incorrectly) that Eskimos have over a hundred words for snow... it wouldn't have surprised me if it were true, since Americans have at least two dozen words for "talk meaninglessly"...

Thursday, December 06, 2007

Defined by Relationships

More on social simulation

For the past few months I've been studying language, especially Pinker's stuff and, therefore, Allen Fiske's stuff.

It's always been a common approach to try to simulate characters by focusing on the relationships a character has. The only more common approach is to do a goal-focused approach, and in most of the tries I've seen, both are used.

Fiske's basic idea is that there are four basic kinds of social relationships: Authority Ranking, Equality Matching, Market Pricing, and Communal Sharing. In English these are "Who's the boss", "tit for tat", "barter", and, um... communal sharing. That last one means that you treat a group as equivalent to a single person - for example, all blonds are dumb, you always help your family, everyone shares the roads, and politicians are liars.

This sounds like a pretty great basis, doesn't it? I mean, you could set up characters to think in these terms no problem.

The issue that instantly pops up is that relationships are not as transparent as you might presume. For example, when someone is in your home, they are a guest. When you are in their home, you are the guest. Similarly, a waitress won't ask you what kind of appetizer you want if you meet her in a bookshop.

Some of Pinker's work is based on the idea that much of the complexity of language arises from negotiating these relationships implicitly. For example, your parents teach you to say "please" and "thank you" because these allow you to make demands without entering into an authoritative relationship.

Some more of Pinker's work is based on the idea that ideas and other nonphysical things can be discussed as if they were physical things. Moving a meeting from Thursday to Friday, for example.

Combining these ideas is fairly obvious: if you can encode a situation into a relationship, you can have a wide diversity of relationships that are realistic. For example, you could simply say that the waitress relationship only exists while she's working at that restaurant. Or you can say that someone is only a mother to specific children. Or you can say that a general is only in a position of authority in military matters.

Even then, you're likely to miss subtleties. For example, a guest. What kind of relationship do you have to a guest? You're expected to make them feel welcome, to play the host, but what kind of relationship is that, exactly? Is it giving them some level of authority? What are the limits of that relationship? Similarly, while a politician technically is in a position of authority over me, it is a very disperse and indirect thing: in person, he has absolutely no authority over me and, in fact, would probably be glared at quite a lot.

Actually, what about being glared at? What kind of relationship is dislike? You could, I suppose, argue that it's a kind of negative communal sharing: you are specifically partitioning yourself from this person, specifically not sharing. This basis could, in turn, make you more aggressive and opportunistic in future social relationships with this person...

As you can see, the complexities quickly begin to build. In order to simulate something resembling common human experience, it is necessary to create a wide variety of potential situations to relate over. For example, can you share your hopes with someone? You need to be able to, for a decent social simulation. So "hopes" need to have some kind of representation in the world. Probably several, since there are hopes like dreams of the future, and hopes like what we think might arise out of something, and hopes like hoping something we cannot see has gone well...

Of course, it's not just a representation of hope, but also a social stigma attached to that representation. Me, I'm happy to tell most of my hopes on almost every scale to anyone who seems geeky... but I'm not likely to share my actual personal life. On the other hand, I know people who refuse to talk about what they want long-term while sober, but are fine with giving the gory details of their latest break-up.

Do we each have a defined relationship to representations of concepts? Perhaps so, but if so, we need to add some kind of "personal space" or "importance" relationship, because I can't see any way of representing what value I place on something in what contexts using the Fiske four. (Also, I think that equality matching and market pricing are fundamentally the same and should not be represented separately... so I guess it would still be four relationship types?)

As usual, it gets really, really gory the closer to implementation you get. The reason for this, as Murray Gell-Mann explains, is because any given situation is not descended from a core algorithm, but from such an algorithm plus a metric butt-ton of random chance building on random chance.

Our social algorithm is probably something fairly simple, although it may be difficult to express using English and more easy to express with math. But our actual social situation - both personal and cultural - is not a result of that algorithm. It's a result of that algorithm plus our life and the residue of the lives of our ancestors back at least four centuries.

We cannot "grow" a culture that is like ours, even if we use the same algorithm. We might develop a culture that is human-like, but it will feel as alien to us as if we were riding with Attila the Hun... and not necessarily very entertaining at all.

Attempting to reconstruct our culture, even simplified, is a monumental task involving listing a huge number of objects, cultural norms, microcultures, standard relationships within microcultures... Ugh!

In my mind, this approach cannot be used to create social play unless it is created by somehow harnessing the power of thousands of players that build the culture over a large period of time.

On the other hand, it may be possible to generalize all of our little obsessions and create something vaguely interesting to interact with that way... still, bottom-up is not the answer at the moment.

Instead, I prefer to build a framework of interesting content, ignoring all the details, and then basically just picking from column A and column B. Then I can focus on social reactions to this content, rather than having to simulate a history with that content or the other characters involved...

Either way, not very straight forward at all.

Wednesday, December 05, 2007

Fun with Fractals

One of the things I'm always irritated with is the fact that fractals seem like they should be applicable to character simulation, but they never work out.

There's one major reason for this. I will approach it obliquely:

A big part of human activity, at least the interesting stuff, is social. Even things that are done alone, such as painting your fingers or blogging, are social.

Social stuff is inherently interactive. Actually, all of human action is actually interaction. If not with another person, than with a thing or a situation or a disease or whatever.

A further difficulty is that some human activities change the social landscape, changing all further activities and serving as a center for activities. Examples of this vary from building a house to having a weekly poker game to that embarrassing time that nobody will stop talking about.

On the other hand, many human activities are not permanent, but instant - saying hi, selling an apple, winking.

So, not only are human activities interactive, but they are interactive with themselves in a bit of a weird way that isn't quite how a fractal normally builds on itself.

But it might be possible to build a more conditional kind of fractal. A multi-phase fractal: a sort of "graph" fractal that builds edges (social actions) and nodes (social centers) deterministically.

For example, each character has a base shape. A base shape is lines of specific colors that get built in a specific pattern, plus a number of spawn nodes that grow more base shapes. If two lines cross and are either identically or opposingly colored, that becomes a social center. A social center exerts gravity, such that all lines drawn near it are curved slightly towards it. Social centers combine if their edges touch, and the larger a social center is, the more gravity it exerts.

That doesn't end up being terribly interesting, as it turns out: you usually end up with what amounts to a boundary of black holes between every character. However, what you can do is give every social center a specific color (or set of colors) it pulls on, and it leaves the others intact... and pushes other-colored social centers away.

This results in a far more interesting situation, where the border black holes break up and migrate, radiating colors in every direction and even developing more or less stable orbital lines. You get massively different results depending on the geography of the base shapes, so that's good. You need to set the dissipation rate pretty high so that minor encounters don't turn in to massive lifelong issues.

While it's interesting enough, can it be translated into characters in a game?

Well, let's presume we're not pretending these beings are human. Let's make them first-generation sentient robots or something. This makes roughness more forgivable. It also gives us an excuse to use an evolutionary population pool instead of hand-programming everything.

Originally, the basic idea was that each colored line was a particular kind of social action - happiness, anger, whatever. This doesn't end up working very well unless you use a very complicated multi-base-shape model, so that's not going to work out.

While it is clear that these colors do map to some kind of emotional output, the overall action needs to vary based on gravitic pressures. So, I've decided that the overall ratio of colors determines the default mood of the character, but the more a particular color is pulled by gravity, the more of that kind of mood they are in when they are drawing that particular segment. Also, if you're running with structurally sound shapes, lines which are stretched or squashed to maintain structural integrity also affect the kind of action in this segment. (You have to separate the edges in your mind: a character who is falling into a red black hole near one person might be feeling very angry, but only when the in-game situation is around that person. They may be perfectly happy when interacting with someone else.)

How you judge fitness is still a bit of mystery to me. You could simply do it by propagation, except this ends up not feeling very human, because they don't have the same reasons or reactions to having children, even if you tweak their interactions with their children.

Fortunately, our creative conceit is that these are robots, so having children like humans doesn't make a whole lot of sense anyway. How they have children and their reaction to their children completely changes the feeling of their society, especially if you are running evolutionary rather than scripting each character. An easy example is if you make it so that they can only have children with the first other bot they have children with, or that they can only have one child per other bot... and, of course, whether there are genders...

Personally, I think that, at the moment, the best way to determine fitness is to allow the player to choose which bots have the neatest patterns of interaction. While these patterns are at least half chance, they are at least partially NOT chance, which does make this an effective method if you have the patience. Also, allowing you to "draw" your own bot base shapes is perfectly acceptable.

In terms of layout, I think it's best if each bot's spread is, at least initially, very linear. This allows you to create a "family" of bots by arranging them in a circle pointing away from each other. This gives them a lot of interaction without immediately dropping everyone into a black hole.

It also means that a family "starts flat". There is no childbirth on the fly, because you need to arrange everyone in circles. However, you can (and should) give parents several turns before children come on-line, and each child should come on-line after a delay as well. This creates the illusion of a growing family, but more importantly, it allows for age dynamics to manifest. Also, of course, you probably should inhibit sexual interactions among family members, assuming you want sexual interactions at all. They are robots, after all.

Also, I like creating social nodes when a robot's interactions cross over its own interactions. This lets the robots be self-obsessed and flat-out insane.

I'll try to get something Flashy up and running to show you what I mean, but I wouldn't mind hearing your preliminary thoughts.

Tuesday, December 04, 2007

Tricky Synthesis

Recently there have been a few games that have had elements of shocking excellence, things which make the players gape openly. These are not usually what you expect - not core game elements.

For example, Civ IV's theme music "Baba Yetu". Civ IV is the only game I've ever played that made me wish it took longer to load levels. Another musical example is "Still Alive" from Portal.

Not all of these superlative elements are music. Sometimes it's a breathtaking plot twist, as in Second Sight. Sometimes it's a level, like Lungfishopolis in Psychonauts. It can be a visual, or a character, or even just a sound.

As to music...

Listened to without their game, Baba Yetu and Still Alive are both quite good. But you don't get that jaw-dropping impressiveness.

What multiplied their effect was the expectation that came with them. The context.

Baba Yetu comes before you even get to your first turn in Civ IV. But you're all primed for Civ IV. You have a clear image in your head of what the game is going to be like, and it's significantly improved by the satellite view of the earth spinning gently beneath you. The song can be considered completely part of the pregame experience: there are no seams, nothing feels forced.

Still Alive comes after the game, and is almost exactly the opposite. You're coming down off of a huge high, and the song is perfectly suited for that gentle finish. Again, it is a flawlessly integrated element.

Lungfishopolis is so entertaining because it turns the normal situation on its head in a brilliant manner that fits in with the game so well that there are no seams.

It's not often that you hit one of these superlatives that isn't a seamless part of the game. I can't think of any examples. So I think it's pretty clear that being seamlessly integrated is one of the requirements to be superlative.

So far, I've used experiences that most gamers are familiar with. But this sort of thing is not limited to excellent games. Even poor or non-artistic games can have elements that surprise you with how catchy or insightful they are.

For example, the Bubble Bobble theme. The map scale of Sid Meier's Railroads. Shadow Watch's mission selection phase.

No matter what game I look at, I find some element that seems to be a flawless part of the main play. An element that just clicks, that enables the player to feel exactly what he is supposed to feel at this point in this game. It makes sense that there will always be one element that fits better than the rest.

It's just something I noticed. I think it might be possible to do this on purpose, or at least increase your chances of having it happen. It's sort of related to immersion, I think, but at this point I'm pretty much just feeling my way through the theory.

Any way you cut it, it is clear that a game is not simply gameplay. And, in fact, even gameplay is not a lump of rules, but a delicate ecology in which some elements tend to fit (be fit?) better than others at different times.

Look back at some games you have played recently. What elements seemed most flawlessly integrated? What elements made you feel exactly what you felt you should be feeling right then? On the other side, what elements broke your experience up a bit?

I have a sneaking suspicion that people will frequently post the same thing on both sides. I know some people really liked God of War's "open the door" mechanic, and I didn't. To me, it is flawed, to them, not so much. Perhaps because we expected different things...

Anyway, what do you see when you look at games?

Saturday, December 01, 2007

The Ruby Ceiling

I designed this fun little "civ light" game to build in Ruby on Rails. I even got ImageMagick working for synthesizing the map. Only now that everything's working, I find I've hit a fatal flaw in my otherwise clever plan:

Ruby is really, really, really, really slow.

You don't notice when you're doing something simple, like listing grocery receipts or whatever. But when you tell Rails to create a few thousand entries (tiles on a map), it chokes and essentially dies. I'm sure it would finish eventually, probably. Maybe. But no time this year.

This is something that can be done pretty fast in most situations. I've done something similar in Flash, it takes less than a second. But the combination of Ruby's poor performance and Rail's need to write to a database record by record gums the works up fatally. In order to get around the problem, I would have to generate the map a tiny piece at a time, which would be feasible if what I wanted was a completely crap map... but it's very hard to actually create a realistic-feeling map when you work on it in 5x5 tile chunks!

Maybe an answer will pop into my head (or into my comments), but this is a really irritating flaw. I've heard there's a new version of Ruby out, but trying to get Rails to run properly on a beta language... is not something I care to try.

It's not a flaw I expected to run into.