Saturday, May 21, 2011

Social Agents

Let's talk about NPCs intended to have elements of social play.

This is a difficult thing to do. Most games that include any kind of adaptive social elements do a simple "like rating" that goes up as you play minigames or give gifts. Fable, Oblivion, Mass Effect, Dragon Age, etc etc etc are examples of that. Some are a bit more complex in that they monitor your actions and rate you accordingly instead of simply reacting to your minigame and dialog tree choices - IE, Dragon Age 2's continual random gaining and losing of friendship points.

These are really pretty bad.

There are theories on how to do it better, but they are generally about how to make the NPCs more intelligent. Let's think about it from the other direction.

There are two fundamental kinds of social situations. One is a largely static situation that the player enters. For example, a school, a village, or an empire's court. The other is a fluid situation where the social dynamics emerge over time as the player acts. Primarily, this would be characters joining your party in an RPG.

It's a mistake to think that the same techniques can be used in both situations. They're as different as a first person shooter and pokemon, and it's important to realize that. However, they do have similarities. The biggest similarity is that they both involve socializing with NPCs.

Putting aside how the NPCs react and what the player's options are, there is the important question of why you want to socialize with NPCs.

Probably the most common answer is romantic. Many games allow you to be close to all the various characters, but it's pretty clear that one is your "favorite" and is your romantic interest, with an optional helping of partial nudity as a reward.

This has pretty serious and obvious restrictions.

A second method that is often used concurrently is to get a statistical advantage. Becoming friends with someone gives them bonuses in combat, or gets you special equipment, or whatever. Statistical options are also inherently limited, because they are very much a binary (you don't have it, well now you do, you're done) reward, which is largely incompatible with the idea of continuous social interactions.

A third method is flavor: the more friendly someone is, the more they tell you about their backstory, even to the point of opening up sidequests. This often also involves pseudo-romance or, more cynically, cheesecake.

All of these methods are reward-focused. Let's think about it slightly differently. What do we want the player do? What are the actual actions and progressions?

This is where the two kinds of social systems diverge.

Let's talk about an emergent social situation, such as strangers joining your RPG party. What play does socializing with your party members actually add?

One real problem with this in the past is that the game is always focused on The Hero. All the socialization in question revolves around the hero. The goal is always clear in the player's mind: raise the social scores until whatever bonuses you get are maxed out.

There are a few ways around this one-dimensional play, and they all add depth to a party-based RPG. The two I'll mention here are to change the hero-centric view, and to add conflicting social dimensions.

If your game is a tactical RPG with many characters, you can arrange the socializing to be between two arbitrary characters. The "main" character can be friends with everyone, sure, but he can't stand next to everyone in every combat. It's more efficient for other characters to be friends with other characters, so your combat tactics can use their synergy. Of course, this requires that friendships degrade so that you can't simply max out everyone's friendship with everyone.

You can add conflicting social dimensions by not assuming that "friendship" is the one and only thing that comes out of socialization. You can add a variety of roles. How about a friendly rival? How about a teacher? How about a student? How about a trusted adviser? You can come up with a bunch of roles that are well-suited to creating a depth of party beyond simple "everyone's friends!" Choosing what roles you want to work towards for what characters, and whether that clashes with other roles already settled into, that can make the game interesting. Especially since the statistical and flavor bonuses you get are going to be different.

Notice that we haven't talked about the actual mechanics of how the player socializes. That's because it isn't as important as the framework the play enables. No matter how complicated and nuanced your social simulation is, if the end result is simply a single friendship value and a skimpier pair of pants, it's going to be dull!

...

The other kind of social system is one where it is largely intact in advance. For example, if you are a prince in an emperor's court, the other members of the court already have feelings about each other. Or there is a class in a school, and everyone except the transfer student already has defined their roles in their high-school setting.

In games, this is normally not simulated at all. Instead, it is presumed to be absolutely static except for the quest lines that are specifically scripted. So, ask yourself, how does it improve if we use simulation? What can we enable?

Probably the biggest thing you can enable is freedom: prescripted plot lines are pretty limited from both the players' and the designer's perspectives. However, as you may be aware if you've tried it, players are notoriously good at not acting like people. Player characters have the supernatural ability to completely derail any social environment by a combination of inhuman persistence and knowing exactly what to do.

There are a few ways around that, but let's put off talking about that and get back to the question: what do you get out of it? Freedom sounds nice, but freedom to do what?

This is a really difficult question to just answer, because it depends on the game. What is the point of the game? How can people help each other? How can they hinder each other? You need to answer these questions, or no amount of clever programming will help!

Once you've decided that, however, there is a fundamental "pattern" to the social situation: the node graph of who is connected to who in what ways. In a fundamental way, the pattern is going to be a clustered graph: certain people are going to be much more central and important. While they may not have many more connections to other people, their connections are more dominant.

For example, if Jenny is the super-popular cheerleader, she will have a lot of influence over a lot of people. Her underling Sara may know just as many people, but she will not be as dominant over them: her relationships are more likely to be on even footing. The rank delta will be lower, or inverted, from what Jenny normally uses.

So the pattern of clusters dominated by individuals is easy to imagine, but you need to remember that there are a lot of secondary connections that muck up our nice pretty graph and make it possible for the player to edge in through a "back door".

A clustered graph like this is useful because it naturally creates specific peer groups that the player can get involved in (positively or negatively). This also creates a natural stability to the social pattern that can resist a player's interference somewhat.

Anyway, these are the things I've been thinking recently about social agents.

Thursday, May 19, 2011

Here There Be Monsters

Monsters and monster stories suit the culture that creates them. You can see this pretty easily by looking at the ancient monsters that ancient cultures created.

In western Europe, "eat me" monsters dominated, and the vast majority of both monsters and monster tales involved being killed and eaten. Vampires do not spread their state by a bite, they simply squat on your chest, eating your breath, until you die. Werewolves, similarly, just kill and eat you. Only later were new attributes introduced that made these monsters into their now-familiar forms.

On the other hand, eastern European monsters and monster-tales tended to focus a bit more on disease and freezing, things closer to their ancient culture's heart. On the gripping hand, Japanese monsters and monster-tales tend to involve enforcement of cultural norms. As one of many examples, the kappa that loves to eat children can be defeated by bowing to it. It automatically bows back and, in the process, spills its life-giving head-water and freezes.

You can see monsters change as cultures change. Our current obsession is with contagion. Most of our most memorable modern monsters are about being changed against our will, being forced to become something else.

Vampires are no longer simple eaters. Now they spread, turning you into a vampire. Werewolves, too, are contagious. Zombies as well. Classic Alien-aliens embed themselves inside you and use you for a host rather than simply eating you. Cthulhu drives you insane with its mere presence. Frankenstein's monster is just a man trapped in a horrific body. Grays do experiments on you, pull things out from inside and put things in that weren't supposed to be there. And Godzilla was a normal lizard until he was forced to change...

Sure, these monsters can also eat you, but that's rarely the point of the story. The point of the story is that you (or the monster) are being changed, forced to do or be something you don't want to do or be. Which we encounter a lot more in our modern culture than being eaten or frozen, so that makes sense.

Classically, a monster's defeat often comes at the hands of what the tellers consider their culture's greatest triumphs - expensive silver, holy symbols, respect... this, too, changes over time. Most modern, western-culture monsters are defeated by feats of creativity, high technology, or determination, things we hold in very high regard.

This is sometimes reversed, with the monster having attributes we regard highly, and using them against us. The terminator was a high-technology, very determined monster that could only be defeated by, you guessed it, creativity and determination.

Distilling the fear a monster causes and the thing which defeats the monster down into simple statements can allow you to create extremely creepy monsters by simply imagining a way to push those things a little further, a little purer. Instead of jumping out and going "boo!", the best monsters first highlight our fears, then our prides.

So instead of re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-re-reinventing vampires, why not invent a new monster that more purely preys on our cultural fears and is defeated by our cultural prides?

It's not as easy as it sounds, largely because our culture's emerging fears and prides often have no agreed-on terminology. For example, a lot of us fear the fact that the rest of us sell ourselves and our information into bondage in exchange for a new trinket. There's no real name for that fear. What would you call it? Eulageddan? iFear?

But I'd be interested in hearing anyone give it, or any other fear/pride, a shot.

Wednesday, May 18, 2011

The Educational Game

This is a post musing about educational games.

So, I've been playing SpaceChem recently. This is a beautiful puzzle game, and very long. Also, it has got me thinking about teaching via games.

SpaceChem is not a teaching game, it is a very earnest puzzle game that is more about space management than actually learning any kind of chemistry. However, it includes a (mostly correct) framework of fundamentals, such as number of bonds and fusion/fission. It isn't set up to be a learning game, of course: if you don't know the fundamentals going into the game, you're probably going to be completely lost from instant one. Plus, the puzzles are really freaking hard at times, I doubt a young child could do them.

But the concept made me think of educational games again.

How would you teach chemistry in an educational game?

There are two options used today: rote memorization and task memorization.

Rote memorization is glorified flash cards. Often it is glorified by embodying the flash cards as enemies or similar, so that the child pays attention and hopefully learns by osmosis. I don't much like this method, because even if it succeeds in teaching ten thousand facts, none of those facts will mean anything. If a child knows that oxygen has an elemental weight of 8, what does that mean? It's not important, it never was. It tells you nothing about the role oxygen plays in chemistry, and when you do need to know it, you can look it up in two seconds.

Task memorization is slightly better. This is where the game presents "challenges" that require the user (not necessarily a child in this case) to perform a specific task. For example, to teach that hydrogen and oxygen make water, the user might be urged to turn on the oxygen tap, turn on the hydrogen tap, and then turn on the flame. BOOM and water. More advanced tasks usually involve manipulating the amounts (twice as many H2 molecules as O2 molecules) or performing a specific sequence (then add sodium for another BOOM!).

Task memorization is significantly better than rote memorization because it teaches you what things actually do. In situations where there is no strong underlying logic or algorithm, task memorization may be the best choice. For example, learning a language, or an emergency response checklist for space shuttles.

But for most of the things I personally want people to be better at, there is an underlying logic. Chemistry, programming, scientific rigor, privacy/information awareness... all of these things have a fundamental algorithm which we can present, even if it has some holes in it sometimes.

For these things, I think an explorative game is more the speed we need.

Since there is an underlying algorithm and a lot of information about applied results, we can create open-ended scenarios as well as tasks, allowing the player to switch between them as they feel the need.

For example, the explorative chemistry game would give the players a basic set of chemicals and outside forces to experiment with. For example, seawater and a source of heat. The player is allowed to construct a desalination plant using simple pipes, tanks, and sources of heat. It is a tutorial mission that teaches you that different molecules are affected by heat in different ways.

But as you finish the mission, the chemistry you've done is put in context. You've created fresh water and salt. Some NPCs from the larger world should come up to you and give you game points for your desalination plant. The chemistry you've done is put in a larger context. You understand that you've created water for drinking and salt for... salting... rather than just accomplishing a faceless task.

As you explore the world, you will find new equipment (How about a laser beam? How about a fission reactor? How about an electric turbine?) and new chemicals to start with. Challenges presented by various NPCs can guide you to create specific chemicals for specific purposes, but you are also free to fool around on your own. When you create a chemical on your own, you see a demonstration of what the end product does (perhaps cataclysmically enough to scar the world at large), and then NPCs approach you to talk about potential applications, bid on it, or ask for a similar molecule with different characteristics.

A key element here is that there is a world here, a world you can explore and interact with, however shallowly. The chemicals you create play specific roles in the world, often in specific places. You are not learning in a bubble, you are learning in a larger setting.

I think this is probably the key to teaching games, and one we always seem to overlook. Even a simple world map where you can see your accomplishments is a lot more effective than just being told "good work!" and shuttled into the next task.

Tuesday, May 10, 2011

Why I Don't Use Steam

Every time it comes up in conversation that I don't use Steam, I get asked why. So this post is an easy link to keep me from explaining myself over and over again.

There are three reasons I don't like Steam.

The first is the one that made me actually stop using Steam: the full-price ($60) games I bought from Steam never seemed to work. They crashed my machine, or they required third party spyware that wouldn't install - just a nightmare. Customer service was never any good - they have the standard "did you try rebooting your computer, I don't actually have any power to do anything like refunds" shit.

So I was getting leery of Steam. I saw the newest Civ available on Steam and said, "No, I'll go buy it from a store." With my shiny physical box, I came home feeling giddy and went through the hour-long installation process only to find... yeah, Civ required Steam, even though I had a physical disk.

Well, okay, that's fucking suspicious. Sure enough, a week later Steam force-fed me an "update" that broke Civ. With no way to roll back.

So fuck Steam.

The other two reasons are less severe, but in the long run they would have probably resulted in me using Steam a whole lot less even if they hadn't actively screwed me.

One is that I really hate the bloatware Steam insists on running in the background at all times, especially when you're trying to run a high-end game that needs all your system resources. I love the way that it is part adware, part spyware - I mean, "piracy prevention". It exists solely to screw the customer, rather than be helpful.

"But it helps you search for games! And manage your downloads!"

Yeah, those things can be done with web pages. Try gog.com or GamersGate - they use no bloatware, no ad server, and I highly recommend them over Steam.

The other reason I hate Steam is because of the fundamental problems with "always on" gaming. This is a blight, and creates dozens of issues. Steam is far from the only offender - all three consoles have the same problem. Always-on gaming really deserves its own post, but I'll quickly mention a few things that are wrong with it.

1) "Piracy prevention" that requires you to have an internet connection, the same computer, be logged in, have the most recent patch, have not modified the game I own, and so on.

2) "Dead man switch": when the central server goes down, nobody can legally play the game. Happens far more frequently than you think.

3) "Social at any price": breaking the immersion of the game to keep reminding you who else is playing the game and what their scores are. The number of games I've bought that I wanted to play with strangers? ZERO. This is also responsible for the rise in "trophy rewards"... my life has been much more peaceful since I learned how to turn them OFF.

4) "Paid DLC". This concept is, on its own, a very serious and horrible nasty shitty thing.

Paid DLC has a lot going against it, despite the fact that many people support it. I'll enumerate those, using letters this time.

a) The first playthrough is the most delicate. It's where the user forms an emotional connection to the setting. Added content is great for extended play, but paid DLC doesn't want to wait, and disrupts the initial playthrough with ads and metagame madness. I think this stunts the player's emotional investment.

b) Paid DLC usually means suppressing non-paid (IE fan-created) DLC. After all, it's competition. While it's theoretically possible to support both, I haven't seen many successful examples and I don't expect to see many.

c) It is often an excuse to release less content and charge for extra. For example, the only reason Sony didn't have my credit card info is because they wanted to charge me the price of the full game for the DLC for Disgaea 3. I love Disgaea, but it's being ruined by DLC.

d) DLC fundamentally doesn't fit into the "flow" of a game. Allowing the game to be extended and twisted at any time only works for certain kinds of games. Most games have a beginning, middle, and end. If you add crap in somewhere, you'll end up with the pacing and balance getting screwed up. This seems like a minor problem until you realize you've quit before the endgame because it's gotten boring.

Anyway, that's why I hate "always on" gaming, and Steam in particular.

Sunday, May 08, 2011

Beat-em-up Bombs

This is too hard to make a video about, so I'll do it in text.

In every beat-em-up there are moments when the tactical situation turns bad. So the designers give you the equivalent of a shmup bomb to get out of trouble.

I'm not talking about the emergency spin-kick that costs you 15% of your life. That's an entirely local effect for when you're really screwed. I'm talking about the larger picture, affecting a majority of the screen.

One method is the "magic spell" method, where you are given a tool with a limited number of shots. Whether it's a fireball or SWAT intervention, these serve two goals simultaneously. 1) They deal damage outside your normal range, and often higher than you normally can. 2) They knock down enemies at range and give you a moment to maneuver.

An example of a spell-heavy game would be the old Dungeons and Dragons beat-em-ups (Tower of Mystara, for example).

Another method is "throwing". Throwing locks your target while you act, and serves the same two goals as magic spells. It deals damage to the character you are acting against, and then you can usually hurl them to a point outside your normal range. In the process, they knock down all the other enemies they are pushed into.

Throwing serves the same role as a magic spell, but the restrictions are higher (requires nearby enemy, slower) and you can do it whenever. Also, I feel that using one enemy against another is fundamentally more interesting than just tossing magic death everywhere.

The obvious example of a throw-heavy game is Streets of Rage.

A rare option is the "dodge". This option basically makes you invulnerable for a short time and maybe moves you somewhere else on the screen. In some ways, this is the purest method, as it doesn't magically solve your tactical problem. It just lets you try again once the wave has passed.

Dodging is extremely rare, probably due to the chaotic nature of beat-em-up screens and the fast wind-up of the attacks. The only two that spring to mind are God Hand and Astro Boy.

...

Most beat-em-ups implement one of those methods well, and one shittily.

For example, the Dungeons and Dragons beat-em-ups did spells pretty well, but they also implemented blocking, which is a type of dodge. However, the blocking is shitty.

As another example, Streets of Rage implemented dodging really well. However, they also implemented a 'spell' - the SWAT team backup. Unfortunately, the SWAT team ended up being mostly pointless: the only use it has is to use against the bosses to knock off a bar and a half of their radically over-inflated health bars. Using it during the level is rarely a good option.

Plenty of bad beat-em-ups do two of them, both poorly. This may or may not be what makes them bad, but the correlation is high. Golden Axe implemented both magic and grappling, but implemented both in a very limited fashion. Whether you think it is a good game or not, you will admit it is a rough play.

So, how can you avoid implementing them poorly?

...

To implement spells correctly, variation is good, but not critical. The most critical thing to remember is that it shouldn't have a dominant use.

For example, in Streets of Rage, the only real use for SWAT backup is to soften up bosses. They are so useful for that purpose that wasting them on killing off dudes is considered really crappy form.

While the bosses are also good targets for spells in the D&D beat-em-ups, many spells are only useful in other situations, which spreads the pain around. To be honest, I feel that even these games are too boss-centric. These old games built their bosses to eat quarters rather than be interesting challenges, so obviously your resources will be at least partly reserved for fighting the sure-to-kill bosses.

To do throwing well, you need to have very few enemies (if any) that are actually immune to throwing. In most Streets of Rage games, literally every enemy can be thrown, including bosses. If you make immune enemies, you are sealing away a core move. It's the equivalent of an enemy that magically makes you drop your assault rifle in a first person shooter.

This is somewhat difficult if you want to do a fantasy beat-em-up, because it means the player would have to be able to grab small enemies and large enemies, ground enemies and flying enemies... so fantasy beat-em-ups usually play down grappling.

It should be noted that there's a difference in opinion as to how throws should affect multiple enemies. In classic Streets of Rage, if you grabbed an enemy in a pack of enemies, your grappling attacks would affect all the enemies. The actual throw might not, but the pre-throw head-smashing would.

However, in the remake, you will let go of whoever you're grappling after a single pre-throw attack, and I don't think you can throw them at all when you're grappling in a crowd. This has seriously weakened throwing, and moved my old favorite character (a throw-heavy character) to the bottom tier.

Personally, I feel this is a bad move, because I tend to marshal the enemies into a pack and then crush them with throwing. So, it totally blocks me.

As to dodges, I'm not sure about them. It's rare to see examples so there's not a lot to draw from. It seems like dodge-based beat-em-ups are very different. They're less about a complex tactical topology, and more about timing.

There, a technical post about beat-em-ups.