Tuesday, July 22, 2008

Social NPCs

I've been trying to write this essay, but it keeps turning into a book. Let's see if I can keep this short...

First, you'll need to read this. In order for a social NPC to be of any interest, they need to have some kind of feedback. It is best to link this into the gameplay - being friends with someone has an in-game effect of some kind. You may also choose to make it social or personal, such as them sharing secrets or childhood wishes. These should not, however, be the only kind of response.

The difficulty here is that the kind of game you're running will, by its nature, limit the kinds of responses you can have. For example, if you're doing a zombie game, the social NPCs are pretty much limited to responses that affect your zombie protection measures. Become friends, they'll share their food, or try to protect you rather than running away, or follow orders better, etc. You can add in the ever-present personal elements too: romance, personal friendship, etc.

This is very limited. In this kind of situation, the "edges" of the simulation, the parts where the players will naturally want to go, will be the parts that don't have anything to do with zombies. It's the "luxury" gameplay: once you've mastered getting people to cooperate with your zombie-protection efforts, you can move on to getting them to kiss you.

Unless you're aiming to make a pornographic game, this is going to be a pretty limited kind of relationship... so let's consider what kinds of feedback (what kinds of things the NPCs can do) would make the social situation "deep" enough to allow for "deep" social gameplay?

To me, the basic idea is the same as in every other form of gameplay. You need to have nested feedback loops. Once the inner one is learned, the next one out starts to spin, modulated by how the player is using the inner one. When that one is learned, you spin up the next one... just like a first person shooter where you learn to move, learn to navigate, learn to shoot, learn to fight, learn to use different weapons, learn to manage ammunition...

There are also side-loops that aren't directly in the chain, such as hacking or other 'mini-games' that don't directly involve the chain... and the chain isn't usually quite as clearly nested as I'm pretending... but overall, it's more or less like I describe.

Most games stick to only one "social loop", and a very one-dimensional loop: how much the character likes you. Once you learn how to make them like you, you get whatever useless reward they offer and then never see them again.

We can think of this linear scale as a first element, much like being able to move left and right in a Super Mario game. If we want to clone the same nested loops that Mario has, we have to implement a "level" (the "mental and social terrain" of the NPC). Moving left and right (being nice or cold) can't get you to the goal, because there's stuff in the way: just being nice all the time will make you fall down the pit because he or she gets suspicious of your cloying nature. Or you hit a wall: they don't mind you being nice, but it's not going to make them like you any better.

Navigating this terrain is important, so we add "jump" functionality, just like in Mario. Once you can socially "jump", you can navigate the terrain left and right - sometimes having to be cold instead of nice in order to get over some blockage.

What does the "jump" represent? What kind of social action "jumps"?

I would probably say "hanging out". Doing some kind of activity together, whether it's slaying monsters or watching a movie or whatever. Spending time together "jumps". We can make different kinds of hanging out have different effectivenesses on different characters: If you're trying to jump in a warrior's social world, watching a movie with them is just a little hop while fighting demon dogs with them is a big leap.

Continuing on the Mario framework, it's not simply jumping and walking around a still level: you have to navigate enemies. Some enemies can be stomped, some enemies can be stomped and give resources (shells), some enemies cannot be stomped and must either be evaded or fireballed.

The fireball would, I think, be a gift. Again, the size and speed of the fireball would depend on the kind of gift. If you're trying to be friends with a Star Wars geek, giving him a basketball would not produce much of a fireball.

At this stage we've built a complex level and method of navigation, although we're kind of pushing to the side any idea of representation. These nested feedback loops are guaranteed to make our social gameplay more interesting, so long as it's possible to see what we're doing. Unlike most games with social elements, we're not dictated as to exactly what we do, we're just dictated as to the kinds of challenges we encounter. How we deal with them is up to us.

In-world rewards are kind of scarce and boolean with this, though. What does beating a level get you, exactly? You win, they're your friend, you get their useless little thing, and then you never see them again?

Instead, I would have it so that every time you wanted something from them, a level is generated that you have to navigate. If you want them to give you their cool sword, you face a difficult level that will require a lot of being cold, being nice, hanging out, and giving gifts... You would get a different level (but the same general idea) if you wanted them to vote against the Orc Party in the senate...

Some situations would have time pressure - can you convince them to vote before the senate meets? Others wouldn't. But time would be measured in terms of "real-world" time rather than "Mario-level" time.

Anyway, I have lots more thoughts on the matter, and there are a lot more games I want to clone and demonstrate (particularly ones that don't start with a 1D navigation), but this is already long enough.

Do you see what I'm getting at? Do you understand? What do you think?

Sunday, July 20, 2008

Amber Alert Commentary

This is totally off-topic

Today I was taking a break in Starbucks when I read an article in the local (Boston) paper about the Amber Alert system. I was surprised.

For those of you who aren't up-to-date on paranoid mothers, the Amber Alert is when the government posts state-wide panicked messages about kidnapped children to every media available.

I don't like it.

Not because of what it is, but because of the fact that it doesn't work efficiently. It just makes people feel good about themselves and their politicians. Lemme explain.

The Amber Alert was designed to help find children who are kidnapped by deranged strangers with bad things in mind. However, most deranged-stranger kidnappings resolve (usually poorly) within a few hours, long before the Amber Alert is issued.

Along the same lines, the Amber Alert is usually issued for children kidnapped by family in custody battles gone awry. This is because deranged family members are far more common than deranged strangers. Unfortunately, the Amber Alert is not designed to help in these sorts of situations, so it's not very effective.

You may have seen the apologist ads for the Amber Alert. They generally say something like "95% of Amber Alerts end with the child being found." This is a little like claiming "95% of my blog posts end with the internet still being operational". The Amber Alert almost never has anything to do with the safe rescue of the child: it's usually the police tracking down the deranged family member who kidnapped the child.

I also don't like the way that Amber Alerts are posted, because they imply that the child was whisked away by a deranged stranger. This lets moms get all worked up about the number of kidnappings... but it's just a distraction. Your child is at more risk from people you know than from strangers, and thinking otherwise means your worry will be pointed in the wrong direction. (Your child is probably not even at any significant risk from people you know, either. But if you're going to worry, worry about the right things!)

Anyway, I like recovering children from kidnappers, I think it's good. But I don't really like the Amber Alert: it's just theater. It has successes, but a more carefully planned and researched system would have more successes. With, you know, less panic and misinformation.

...

I was reading this Boston paper and... they said the same thing.

I was absolutely stunned.

Okay, they didn't say the same thing. They presented a "fair and balanced" view that aired both sides of the question. But that they even mentioned my side is astonishing. It's pretty rare for a paper to question theater because, let's face it, news media is 99% theater.

I was... surprised.

Of course, the rest of the paper was basically fluff. I guess they have a quota.

Saturday, July 19, 2008

The Nature of Cool

This has no spoilers.

So, like most of you, I've been watching Dr. Horrible. One thing I'm curious about is the last five minutes (from 12 minutes) in episode three. By now, it's probably off-line, but it's the part where he starts to sing his long final song, the one that mutates several times. Specifically, the high point at 12:53 (walking into the board room) makes me curious.

That scene was really cool.

I've written a few essays in this space, but I keep deleting them. It's very hard to talk about "cool", especially since most people think of kung-fu fights, explosions, and giant robots. The kind of quiet, cold, long-term cool you get from the last scene of Dr. Horrible is unusual.

There are only a few things I can work out for sure. One is music: without the music, the scene is much weaker. Actually, the music is most of the cool. The images punch it up and focus it.

But I was thinking: imagine a Dr. Horrible Puzzle Game. Pretty stereotypical third-person action-puzzle game starring Dr. Horrible, except that the cut-scenes are all at that level of cool. Doesn't have to be coherent: just kind of a "rock opera" interspersed with levels of puzzles. A bit like Portal, perhaps.

Don't you think that would be fun?

Sunday, July 13, 2008

Fairy Tales

I've been thinking, and I've come to the realization that most of our games are very childish.

I don't mean that in a bad way. I mean that most of our games are based around achieving the same kind of experience that we had as children, hearing fairy tales. A game is often trying to get that same sense of excited wonder... except, of course, we're adults now.

Sure, there are games that arguably aren't trying for that. I don't know that match-three games or go are trying for it. I don't see how football tries for it.

But the kinds of games I like to play - RPGs, shooters, weird indie games - they all have the same smell as a fairy tale. Not just the stories, but the gameplay itself is like a fairy tale on crack. In a fairy tale, the hero would get his father's sword, or the mightiest armor in the land, or whatever. In our video game fairy tales, that just happens over and over and over... but it's fundamentally the same basic event. Similarly, our endless fights are the same basic events as the fewer fights of fairy tales.

For a while, I've been basically, unconsciously, trying to figure out how to make a game more like a fairy tale. Make the fights more unique, the pacing more... like when we were young.

But let's look at what the experience I'm talking about is. What is the experience of a child hearing a fairy tale?

There are several elements at work, but one of them is that, at least if you used to be me, kids don't let tales die. You hear the story, but then you spend a long time thinking about it. Going over it. Admiring it. Perhaps thinking about different ways it could have turned out. If you were me, you spent more time doing that than the story could possibly have taken to tell.

This was not during the story, though. During the story, you'd be too busy listening (or reading) and imagining. If the story was broken up over several days, the intervening hours could be sheer pain waiting for more story, even if the story really wasn't very good in the first place.

Another element is that feeling of newness. These days, a story has to be really spectacularly interesting to get a flicker of that old feeling. I've just seen too many elves firing arrows at too many orcs.

But here's the thing... I picked up some fairy tales from other cultures. Japan, middle Europe, and the classic "Arabian Nights". Reading these fairy tales gives me that feeling, even though they aren't any more complex than, say, Rapunzel's or Loki's stories.

As far as I can tell, those are the two main components, and that started me thinking.

It's a fragile situation. Over the years, I've started to read differently. The stories I read these days try to make up in length what they lack in newness - not their fault, exactly, I just have seen a lot of stuff. But this has made me read in a very different way, a way not suitable to fairy tales.

I find that, reading these foreign fairy tales, the effect is strongest if I slow way, way down. Even read aloud, or pretend someone is reading it aloud. And then, when I reach the end of one or two tales, I stop. I find that they whirl around in my mind for hours, just like they did twenty years ago.

Looking at it, games are the same way as the books I normally read.

So... what if we decided to treat it like a fairy tale?

I was playing Persona 3: Fez. It's a rather spectacular game, but I'll never finish it. It's toooooooooo looooooonnnnnnnnnnnnggggggggggggggggg. The ideas are excellent and rather fresh for me (since I haven't played much of the other Persona games), so it starts off by hitting the right "fairytale notes".

But they bloat it up with gameplay.

"Ahhhh! What is this fool saying? Gameplay is what a game IS!"

Well, yes, but there's such a thing as too much. A steak is nice. A whole cow is not, even though it contains many steaks and is more deeply complex.

If you think of gameplay like food, then playing Persona 3 is like sitting down to dinner at a sushi restaurant. It's great, a lot of subtleties. Except that the chef keeps serving you sushi and sake and won't let you leave. Hour after hour.

How much sushi can you eat?

Apparently, I'll eat sushi for 43 hours.

But that's not what I want. And although the story is fairytale-ish, the actual experience certainly isn't. The fairytale-ish experience would be that the sushi chef shows you a hundred platters of sushi, but you can only taste three of them... They taste so good that you can't forget, and you can't help but stay awake at night, wondering how the other rolls might have tasted.

For a child hearing a fairy tale, there is a kind of half-comprehension. There are big ideas, they are fascinating and interesting, but there's also this feeling that there's a lot more to it, a lot more you can't quite see... but maybe if you think about it for a while, or maybe if you hear the next fairy tale...

To me, a game is a fairy tale PLUS the ruminating you do afterwards. Except that instead of hearing the fairy tale and then ruminating, you're asked to ruminate while you hear the fairy tale. That's not right!

In the end, what this ends up doing to me is the "endless restart syndrome", which I'm sure you're all familiar with. I'll play the game for a few hours, then I'll restart as a different character. I'm ruminating on the experience of the game... except that I haven't finished the game, haven't even seen the depths the gameplay can reach.

I'm really, really bad about this. I've played Oblivion for at least a hundred hours since it's release, but I've never played any character for more than fifteen - usually five or six. It's gotten to the point where I generally decide to ignore whole chunks of potential, just so I can finish the game. IE, I'll decide to play as a wizard and never, ever even think about how the game might have gone if I was a warrior or a thief.

This isn't good. That's like reading a fairy tale and saying, "okay, let's skip all the parts about Mordor so I can finish the damn thing."

In the past, I've been very hesitant about my opinions on length of play and replay value. I've always felt, in my heart, that short games (6-15 hours) with high replay value are better than long games... even if the long games also have high replay value.

I've always been a bit hesitant to say so, because a lot of people seem to hate the idea. They want to be able to play the game once, get everything there is to get out of it, and then throw it in the trash. And I could never place my finger on exactly why that's such a shitty way to do it. I always blamed it on artistic aspirations on my part, even though that didn't quite fit the bill.

The reason I want short games with high replay values is because I want to ruminate on them. I want assisted rumination: once I've finished the game, I want to be able to say, "wow, that was cool... let's see that again, from a slightly different angle."

With a long game, I don't get ruminations, either assisted or the more ordinary kind. There's simply too much, and too much of it is bland. I might say, "woo, that boss was cool!", but I'm not going to sit in bed unable to sleep because I can't forget that boss.

With short games, I do. Katamari Damacy... it's kept me awake. I've also had dreams about it, which is really how I judge whether a game is a classic or not. If I dream about it or it keeps me awake, I can write a truthful review: This was a triumph. I'm making a note here: "huge success". It's hard to overstate my satisfaction.

Perhaps it's just me. Perhaps there's nobody else out there who feels the same way.

But I want short games full of fascinating ideas.

Stop force-feeding me!

Geeks Are Dangerous!

Something that's happened in the past few days is a weird and overblown fiasco with Pharyngula. Today, he published a few of the death threats he got, including the headers.

Scanning down the comments thread, I'm reminded of an alternate reality game, such as I Love Bees. Except, in this case, the puzzle the geeks are solving is not an alternate reality: they've more or less torn someone's life apart.

I guess I'm supposed to feel sorry for the guy after writing something so somber as that, but I don't. Instead, I'm just reminded of the newest holy grail in game design: using humans to do Useful Things while they play their games. There's a few examples out there, all very polite, very clever, very harmless.

But geeks are not harmless. In this world, we have a tremendous amount of power, and it is not terribly limited by any kind of civilized force.

So it strikes me... using players to accomplish Useful Things... what if it wasn't polite or safe?

It used to be that the impolite, dangerous people were largely disorganized. If you had a stalker, it was bad... but it was just one stalker. Even if you were Madonna or something, all your stalkers would act independently. But if there's one thing geeks are good at, it's organizing... we can even do it without any leaders. We can do it anonymously (and Anonymously). (Of course, we're basically pacifists in the real world, no matter how brutal we get on-line...)

So if it was built right, a project could grow exponentially and out of control as long as there was still something to do and a reward to be achieved. ARGs are limited because they require writers. Games like the new galaxy-detection system or visual pattern definition systems are limited because they have no real rewards...

Can you think of anything that could be arranged more perfectly? Dangerous and impolite? Self-propagating, self-rewarding?

Useful?

Think of it as this: Griefers for Progress. How would you do it?

Thursday, July 10, 2008

Cheap Computing Means...

One thing that always amazes me is the way that people can't understand that "more" does not necessarily mean "surplus". The cost of computing is getting so cheap that any punch-card programmer teleported to the modern era would be unable to comprehend how we could use a cell phone's processor at 100%, let alone a desktop's. But we do. Constantly.

It's only going to get cheaper, of course. What are we going to do when computation gets so absurdly cheap it is close to free?

I like this silly idea, and I'd love to see you comment with your own ideas. But remember: no miracle breakthroughs. Just the ever-present doubling.

My idea is this: a mesh network made out of super-cheap nodes. Yeah, pretty tame. Probably be here in five years. So let's kick it up a notch.

Let's give every node a speaker that can pump out high-hertz pulses, and a mic to pick up the same.

So, the first step in this mess is that the mesh network tries to map itself out. By sending out a wireless notification and a sound pulse at the same time, other nodes can calculate by the time elapsed between wireless and sonic reception to determine how far away the node is. With at least three nodes in sounding range, they can compare numbers and come up with exact relative positions.

This is obviously messy when we're talking about, say, inside a house. However, by measuring sound quality we'll probably be able to at least tell that we're not on a clear path. (Sound that echoes from walls and is channeled through doorways/windows is going to be much "fuzzier" than the same sound going straight through the air.)

If you have enough nodes, it's actually possible to map out the blockages by who hears who at what resolution... but let's skip that, because it's not required.

Okay, who cares? Why do we want a mesh network that knows its own physical locations? How POINTLESS!

Ahhh... what we've actually built is a distributed sonar system.

A node sends out a sonar pulse and receives back a mess of echoes. Because a node is not a wide array of mics, it cannot personally interpret these echoes. (It probably has two mics, one on each end, but that's not really enough to be able to tell much.)

However, all of the other nodes within sounding distance hear the pulse, and also get a wad of echoes. Different echoes, because they're in a different location.

What we have is a wide array of mics. We know their exact location. By sharing their information, we can calculate what echoes originated where, and we can build a sonar map.

By originating from different nodes, we can get different angles on our sonar, and clearly see "behind" and "through" things that any given node can't handle.

By changing the frequency of the ping, we may even be able to tell what kind of materials any given surface consists of.

So, what we have now is a mesh network that knows the world around it. Because these are intended to be pathetically cheap, this is not a real time sonar analysis: it has an averaged map because it pings maybe once every few minutes. So if every street lamp had one, the street would be mapped but cars and pedestrians would be "traffic blurs" rather than "this car is moving at 60mph down main street".

Okay, this is starting to be kind of interesting. If done right, it would be the ultimate traffic system, able to tell how bad traffic is, whether there's construction happening, and so forth. Hell, because the speed of sound is slightly different depending on temperature and moisture, you might actually be able to tell what the weather is. You can certainly hear rain!

Let's keep going.

The point of a mesh network is that you can drop new nodes in. So let's say that you carry a portable node with you. Using the locater ping (not a full sonar burst, just a ping like we talked about first) you can easily be tracked if you want to be. So the mesh network not only allows to you connect and do data-stuff, it also knows precisely where you are.

There are some interesting uses at this stage, but let's push it further.

Your node has headphones. You wear the headphones.

Suddenly, there's a "sonic world" around you. All of the nodes know precisely where you are (perhaps even specifically your left and right ear), so they can tell your headphones exactly what kinds of sounds it should play.

This intermediate step would allow for some interesting "phantasmal presences"... but let's push on to the big finish.

Assuming a slightly greater amount of computation, let's make your node have a camera and playback system. Slim little VR goggles, for instance. The nodes all know where you are and where you are looking. They know exactly what you can see, or should be able to see.

They can map what you ARE seeing to that. They can build up a full internal representation of what the world should look like, and they can play it back to you.

This would allow for a lot of interesting things. For example, they could tag other augmented-reality users, make them glow. They can highlight a path you should take - a big step up from "in 300 yards, turn left" of today. They can "clear up" bad weather and let you clearly see where walls and curbs are even in the dark. They can allow you to post messages on any surface, using any kind of grouping: "tag" a bus with something only your friends (or internet group) can see.

Virtual pets are, of course, a given: able to run around the physical world, they are rendered with loving care by the mesh network, realistically interacting with things from that world.

Advanced uses might include "virtual makeovers": interactive mirrors that let you see yourself dressed in whatever the shop is offering (or you've found on line). Custom displays for various surfaces, such as windows that display a view of mars, or a street that is tagged with the locations of every accident in the past five years... cars that are "souped up cyber-rides" - take off your specs, it's a Pinto. Put 'em on, it's half batmobile, half pneumatic main battle tank.

And this is all with the mesh network not being able to get moment-to-moment sonar data. If we were to upgrade the network to use something more continuous, it would be able to do a lot more things!

These are just the uses I can think of... I'm sure there are a lot of others. I'm sure that, in fifty years, augmented reality will be as important as real reality in the same way cell phones are often as important as real conversations...

What sort of future-shock do YOU see cheap computation accomplishing?

Sustainable Farming + Genetic Engineering, Redux

I've mentioned before that I like the idea of sustainable farming, but hate the woo that goes with it. So this makes me happy.

Obviously, care must be taken. But, just as obviously, the science and advancing technology of genetic engineering is not fading away. And that's good.

Persona's Personas

(Apologies in advance for the pluralization. It's not my fault, I'm following the source material...)

I'm playing Persona 3: Fez. I've been playing it for 915 hours, so I'm about halfway through it.

Overall, it's a very good game, obviously made by a team of experienced, polished professionals who know their vision inside and out - both for gameplay and story.

The part I'm disappointed about is, surprisingly, the personas.

For those of you who haven't played, personas are (unsurprisingly) pretty much the core of the gameplay.

In most RPGs, you equip a weapon and some armor, and you permanently learn spells and techniques. In persona, you equip a weapon and some armor, but you also equip packages of spells and techniques. Sort of like Final Fantasy Tactics' job system, except you can switch between rounds of combat.

Each persona is some mythological personality, like Jack Frost, Lilim, or Cerberus. They are not simply packages of abilities: switching to a different persona is more like swapping out a character. Although they inhabit your body (getting your HP, MP, and equipment), you inherit their affinities, weaknesses, statistics, spells, techniques, and abilities. You have no stats of your own.

The personas also gain levels, although not as fast as the main character (that's important). As the personas gain levels, their stats improve and they gain new abilities. So the personas really are characters, certainly more interesting than the bland, statless, abilityless main character. (I tried to name him "Basil Exposition" to give him the right feeling of being bland, but there wasn't enough space for the characters.)

What this means to me is that I fall in gamer love with specific persona. Exactly the way that you tend to favor your favorite characters in, say, a Final Fantasy game. I want to keep using specific persona. But you'll be thwarted because as the main character gains levels, he can create new personas.

Let's use an example. Let's say you've got two personas you really like: Jack Frost and Lilim. You gain a few levels, and you combine them to make a new persona: Cerberus (no, this isn't a feasible example). This removes Jack and Lilly from play, and to pull them back into play costs a small fortune. Although they don't lose levels, Cerberus will start between 3 and 8 levels higher than they are just due to the way this works. That's not so much "significant" as "insurmountable".

The more advanced personas are simply flat-out better. If I leveled Jack Frost and Cerberus both to level 99, Cerberus would be far more powerful: Jack Frost's most advanced abilities are about on par with Cerberus' middle abilities.

To make it worse, every level there are more personas you can build and more slots you have to store them in. I have a hard enough time remembering all my personas when I only have room for six... now I'm carrying around twelve and have fifty more in the bank? I can't even remember their NAMES any more, let alone feel some kind of connection to them.

As a specific example, my powermongering gamer heart fell in love with one persona in particular: Lilim. An early spellcasting persona, I accidentally built her to have five of the six elemental attacks.

This made her invaluable. I could fill the rest of my slots with anything I happened to stumble into without worrying about balance. If I had nothing but five fire demons and Lilim, I was all set: I run into something that absorbs fire, I switch to Lilim.

She was even an expert against the "brutal" encounters where they set you up against several enemies with conflicting weaknesses. I could use lightning against half the enemies, air against the other half, and wipe the floor with them.

However, even Lilim's horrible broken-ness could not resist the eternal march of levels. Even leveled as high as I could, she was still half the level of the newest generation of persona. Her abilities were all learned: she had nothing else on her docket, while the newest generation were learning spells that were more than twice as effective.

More importantly, her multi-elemental approach was itself becoming obsolete. It was hard to keep six elements and a healer all available when I only had six slots... but now that I had twelve, simple mathematics keeps them covered pretty well.

So, sadly, I retired Lilim (I had to retire her, she was so low level she couldn't be combined with anyone to make a useful persona). I haven't really gotten attached to any others since. I occasionally feel a twinge of interest at an interesting character, but why should I bother? In two missions, I'll have replaced him with something five levels higher. Probably two somethings.

To me, this is really saddening. Disposable characters always make me feel sad.

Did anyone else feel this way?

Tuesday, July 08, 2008

Review: Dennou Coil

I'm watching the fansubs of an anime called Dennou Coil. It's interesting enough that I want to talk about it here.

Most of you are probably too young to be fans of the "old anime" superstars such as Captain Harlock. Hell, I'm supposed to be too young to be a fan. I know that when modern audiences try to watch those old styles, they tend to get immediately turned off: the pacing is wrong for a modern audience, the animation is jerky and sometimes hard on the eyes, and a lot of the themes are a little weird.

I really loved those old things, probably because they're proper scifi: technology always plays a major role, but the focus of the story is on the people who use the technology. That's really how scifi should be, but it's rare.

When I started to watch Dennou Coil, I didn't even have a screenshot, let alone a good description. Something about a children's detective agency. Yeah, whatever.

So I was a bit surprised to find that it's the best anime I've seen in years.

It's exactly as if the talent that made those old animes came forward thirty years and said, "hell, let's do it again, but with modern topics."

The animation is oldschool, full of squashes and low framerates, but hugely detailed and convincing even so. You can easily see the influence of that old era of anime in the character designs and in how they all move: similar to the way that Miyazaki animates children. They also interact in the old style, with the wide variation in maturity and age, always including an irritating four-year-old, a precocious old lady, and some kind of cute pet.

But this is no Miyazaki film. It's by the guy who did RahXephon and Roujin Z.

It's about a children's detective agency, yeah. It's also proper scifi. Proper scifi! Not like Lain's (or RahXephon's) irritating mysticism. Proper scifi.

Instead of space ships and giant laser cannons, this series explores augmented reality. Literally every character on the series has glasses (usually, goggles) that display augmented reality.

So far, it's fascinating!

If you liked Porco Rosso, you should probably watch at least the first few episodes of this! It's really interesting.

Monday, July 07, 2008

Landscapes and Level Designs: The Boring Part

Well, I went and wrote the little blurb, but then Matthew Rundle went and requested all the boring stuff. Here are some of the nitpicky little details about line of sight and terrain.

One thing you have to keep in mind from the start is that there is no fundamental difference between designing motion and level design (in considering vision). WEIRD. Lemme sup up.

Most games focus on controlling player vision by putting up walls and doors and other large, opaque barriers. The player is then allowed to move as he sees fit. Well, not entirely: he's channeled into various halls and cannot proceed unless he opens specific doors and so forth. But he's allowed to progress at his own pace.

Some games (especially old "rails shooters") focus on controlling player vision by the simple expedient of controlling every aspect of player movement. Sometimes they mix in some opaque stuff, but it's just to break things up a bit: the same basic level of obstruction could be done by simply having the bad guys peek in from the side of the screen.

The two are mathematically equivalent.

Even in situations where the player is given complete freedom of movement (a minimum of funneling and forced door-opening), they are still equivalent. Because the player line-of-sight calculations only care about how long a player has to meaningfully react to a newly spotted challenge.

It doesn't matter whether you spin their camera to reveal a bunch of guys standing in a field or whether they turn the corner of a twisty maze manually and see a bunch of dudes hiding behind rocks. In both cases, the challenge is the same.

... well, according to the simple formula:

challenge = player_response_time / required_reaction_time

However, both player_response_time and required_reaction_time are complicated beasts.

In a game where you control your own progress, how long a player takes to notice an enemy is going to usually be fairly low, because they know what areas they are revealing and therefore can focus on them. A lot of free-moving games like this shake things up by having "forced forward" challenges: you fall through the floor, the door seals behind you, wolves jump through the walls around you... anything to keep you from always being in control.

HOWEVER, in free-moving games, actually reacting to what you've noticed generally takes longer. You can aim and shoot a lot faster with a gun controller than with two thumb pads and a trigger.

Do they come out equivalent, then? Rail-shooters having longer reaction times but shorter response times?

Hell no! There's no equivalence! It all depends on everything!

Many free-movement games have auto-locking, for example. But even more importantly, a "response" isn't necessarily "shoot the commie bastards!" Although that's the only response in a rails shooter, in a free-movement shooter maneuvering is pretty important. If you see a bunch of guys as you turn the corner, you can UN-turn the corner (unless you're "forced forward").

That response is a whole lot faster than trying to aim, to the point where it's barely above your reaction speed itself! In fact, in many cases, I've ducked back around corners without even seeing an enemy - you can say that the response in those cases is actually faster than my reaction speed.

Of course, once spotted and run from, the rules change... let's not get into that.

At this point, we're only considering the simplest half of the formula, but there's a few more things that need to be mentioned:

Games that aren't shooters - such as RPGs or roguelikes - tend to be "on your own time" - usually turn-based or, at least, not bothering to have the enemy engage in real time. In these situations, the first half of the formula is broken up funny.

Usually, player_response_time = reaction_time + response_activation_time.

However, we've already seen that, in a free-motion game, you can dramatically "squish" player_reaction_time and take panicky, effective responses before you would have reacted at all.

"On your own time" games simply take that a step further and squish it to zero, leaving you with only the response activation time... which is usually measured in game units (turns) rather than seconds. This is often further simplified to be ONE. One turn.

Iteration will make a mess of this sort of thing, so we'll ignore it for now.

Required_reaction_time is simply how long the player has to react before something goes south. Before he gets shot. Before the timer hits zero and he explodes.

Already we can start to see our nice, simple formula falling apart. Required reaction times are not cement. If you don't achieve them, you usually don't die: you simply lose some resources. This is true in virtually every kind of game.

Similarly, the required_reaction_time can't simply be listed by enemy in a free-movement game. What about the enemy you backpedal to delay? There, you can backpedal until you run out of level. When you run out of level isn't determined by the enemy! The enemies' options may also be constrained, such as an archer stuck on an island, or a horde of fat blobs trying to squirm across a narrow bridge.

Well, that's pretty detailed... and I'm not really trying to replace common designer sense with formula. So let's just use common sense: if it matters, it matters, screw the formula.

However, formula are handy for focusing our minds, so lets return to ours.

What we have is actually an iterative situation. We have two cyclic elements, not a simple formula.

murglflorp = (Player Response Cycle) ~ (Enemy Response Cycle)

With the first iteration in both player and enemy cycles involving how long it takes you to notice and orient on the target.

The formula is meaningless, because how do you compare cycles? Well... you can always frame it in DPS:

player_DPS = Player_Average_Damage / Player_Cycle_Speed

Except DPS is notoriously bad. "Front-weighted" DPS, such as a barbarian hitting someone with an ax and then having a four second recovery, is much more effective than a wizard who does the same DPS over the course of four seconds - because the enemy won't be stabbing the barbarian as his HP dwindles.

Also, of course, unless you're in an "on your own time" game, usually you'll have to aim and hit, which changes your DPS... and it's important, because some enemies are easy to hit (large, slow blobs) and some are hard to hit (fast little insects).

player_DPS_simple = Player_Hit_Chances * ( (Player_Average_Instant_Damage + Player_Average_Slow_Damage * constant) / Player_Cycle_Speed)

Obviously, the player's average slow damage only counts over a single cycle: if the DPS from, say, poison triggers once per player cycle, it counts as instant damage... BUT it deals free damage next cycle! (We'll call it "bleed".) So...

player_DPS_complex = player_DPS_simple + cycle_number * (Player_Average_Bleed_Damage * Player_Bleed_Likelyhood)

Not all bleed lasts forever, so...

if cycle_number > max_bleed_length, cycle_number = max_bleed_length.

All of this stuff depends heavily enemy resistances and so forth, but we'll skim over that.

The enemy's half is exactly the same equation, just replace "player" with "enemy".

So, we end up with

player_DPS_complex vs enemy_DPS_complex

but we need to add a bit more...

average_time_to_kill = enemy_HP / player_DPS_complex + player_reaction_speed

attrition = enemy_DPS_complex * (average_time_to_kill - enemy_reaction_speed)

And that's it. We can stack the enemies up, in which case the player reaction speed is judged as excruciatingly low because he has to shoot each enemy unless he switches to a grenade or something.

Except... what do these formula leave out?

LINE OF SIGHT AND TERRAIN, yeah. Remember those?

We've calculated out all of this stuff, but we didn't bother to take into account the max range of engagement for each side, the level of cover available, and so forth.

To some extent, the reaction speeds rely on this sort of thing: a player surprised from behind will have a worse reaction speed, an enemy who doesn't see you will have a terrible reaction speed...

But it's still very loose, very improper. It's important to consider the level as its own living, breathing thing.

So, let's presume we assign attrition values (and ranges) to each enemy (with each of the player's weapons and error bars for good/bad players). From there, we can plug THOSE values into something level-based.

Levels have the unfortunate tendency to be two or even three dimensional, with a very wishy-washy "time" dimension tacked on. (Remember, we're not talking about a specific play-through, which has concrete time, but a potential play-through or the aggregate of all our player's play-throughs.)

If you picture a map from above (we're not actually doing this, but pretend), you'll see all the various rooms and hallways and hills and trees and so forth. Now, if you were going to try to build a heat map of danger, how would you do it?

Aside from running testers or bots through it and recording it all, there's really no useful way to do so. The real problem is that the progression of the player is so important: enemies do not exist for all time, they only exist from the moment they are created until the moment they are killed, at which point the player frequently uses whatever terrain advantage they held against whoever's next.

This means that any analysis you use has to take into account how the player proceeds through the level!

... Ahhhh... but... Instead of treating the level as a contiguous, three-and-a-half dimensional beastie, let's break it down into a series of challenges. After all, that's how they face it.

Thinking of it this way also negates any need to try to take actual timing into account. If the player dallies, or runs off and explores a side area, your planning is undamaged. They will EVENTUALLY reach this challenge, at which point it will begin.

Of course, the challenge may react differently to characters with various resources, and if they go off and explore a side area, they may very well have different resources... but we'll get to that.

After any given challenge, the important thing to know is how many resources were used - ammo, health, etc. To do this, we can't calculate quite as simply as we would like, because things like cover, numbers, range, and so forth will change our calculations dramatically.

So we'll use what is basically Feynman's approach: we'll add up the probabilities, starting with the simplest path through the challenge and moving to the more complex (less likely) paths.

To do this, you need to make sure you're dealing with single, tiny challenges. While in your mind you might be lumping a series of conflicts through a twisty passage as a single challenge, to add it up you should really split it up and add the results (and the error bars) together. Otherwise it gets too complex too quickly.

As an example, the player emerges into a room. On the far side are three soldiers who are, for mysterious reasons, idly smoking near an explosive barrel.

Adding up the paths we take is pretty simple. Most likely path: player shoots the crates, soldiers die. Expenditure: 3 bullets (machine gun or pistol) or 1 bullet (anything else).

Next less likely path is the player not having quite that much speed, and so a few of the soldiers get shots off at him before the barrel goes up. Expenditure: as above, plus 0-15% health, as calculated from the enemy's advanced DPS formula.

Next likely path is one of the soldiers managing to get away from the barrels and engaging in a typical attrition combat - use the attrition values calculated above. Next likely, two soldiers. This means the first soldier is standard attrition level, but the second soldier is standard attrition level PLUS enemy advanced DPS * average time to kill.

All three soldiers escaping death by barrel means the same thing, with another standard attrition level plus enemy advanced DPS * 2 * average time to kill.

Let's assume that EADPS (enemy advanced DPS) is 5% per second. Let's assume average time to kill is 2 seconds. Therefore, average attrition is 10%. We'll also say that the barrel late explosion time is 1 second, giving each soldier 5% if you don't blow the barrel up immediately.

This means that in the end we have (in average, no error bars, not including ammo expenditures):

No damage (all soldiers die instantly)
15% damage (1 second delay)
25% damage (ditto plus one escaped soldier)
45% damage (ditto plus another escapee that gets 2 extra seconds)
75% damage (ditto plus another escapee that gets 4 extra seconds)

Adding them up isn't really necessary, but if you want to, make sure you weight it towards the first value - so our final score would be around 10-20%, depending on your weighting scheme. That last score is very unlikely, after all.

These soldiers are serious business, you can see: an enemy that takes two seconds to kill is a significant enemy. But we've used standard attrition values. If there's any significant cover, all the attrition values would be reduced to half or even lower, especially the "extra seconds", during which a soldier may be completely blocked from attack by good maneuvering.

To account for this, we could reduce non-engaged enemies ("extra seconds") to half or even a quarter effectiveness, which would end up reducing those high-attrition, unlikely results considerably.

Now, let's do the same basic thing, but no barrel. Instead, the player has a rocket launcher.

The first values are the same: kill all the soldiers instantly with a rocket launcher, or kill two but not the third. In addition, the low probabilities are the same: kill the soldiers one at a time.

But there are probabilities in the middle where soldiers escape, but are killed more than one at a time, much reducing their number of free seconds. Except, of course, that your rocket isn't going to work out the same because it runs with a different average time to kill (probably much faster than the machine gun). Chances are high that, unless you set up the initial situation to avoid insta-gibbing, having a rocket with no barrel will actually result in less attrition than having a barrel and machine gun.

Of course, rockets should be a significantly rarer resource than machine gun bullets... and if the player has a rocket launcher and a machine gun, which will he use? It's not instant-switch: he'll probably use whichever he has equipped...

This adding-up of probabilities doesn't have to be exact. It just has to be good enough - everything will be tweaked on QA anyway.

The idea is, however, that you can string these things together. More importantly, you can string their error bars together.

So, for example, if you had three of these exploding-barrel groups one after another (each unique enough to be more than snap and shoot), you would say:

30% attrition, error bars at 100% and 0%
20 bullets, error bars at 140 and 0
0 rockets, error bars at 15 and 0

(people could do worse than this, but they would be considered outliers...

By tracking the "edges", you can contain the experience to things which are numerically interesting. You see that they could have used up 140 bullets, so you make sure there are only 75 bullets available. They could use 15 rockets, so make sure they only have 8.

This means an expert will get by sticking to bullets and rockets, because he's not going to use very many. The average player will use up a fair number, but have enough left to feel safe. The weak player will be in the dregs.

You can add in negative feedback systems if you like, giving weak players more stuff, but generally I find that a player-chosen difficulty system works fine for that.

If you were doing a boss encounter or a more harrowing experience, you'd want to restrict them to near the labeled average, rather than halfway between the label and the maximum. So if this was meant to be harrowing, you would give out 25 bullets and 2 rockets.

(It's not a very good experience to make harrowing, though: the error bars are too large. For bosses and other harrowing experiences, you want to make the error bars as small as possible to allow you to more accurately predict the player's resources. Therefore, you need to avoid chaotic elements such as exploding barrels (unless they are the only thing that can kill the boss).)

You can add any number of challenges together, so long as you keep the error bars intact. Eventually, you're going to have to face the fact that your error bars are way too big. You need to fix that either by fiat (new level, lose your weapons, etc) or by handing out so many resources that everything is always pegged at max. (Not such a good idea.)

Still, once you have the overall challenge rating, you may like to see what the overall LEVEL's rating is. You can get this by repeating the process for challenges: add together the most likely progressions through the level, then the less likely ones, and so forth. Weight the exact same way you did before, although you may have to take into account certain things - like the player who picks up a rocket launcher vs the player who doesn't. That skews your stats, but it's not hard to handle: just recalculate the challenge using the rocket launcher.

Anyway, there are a lot of other things you should also take into account, such as pacing (ah, my article on pacing is gone with my hosting space...) and aesthetics and variation. These formula are really just interesting doo-dads, not some kind of actual solution.

...

Told you it was boring.

Sunday, July 06, 2008

Landscapes and Level Designs

So, I was in Ireland for a bit, and one thing I noticed was how well its levels were designed.

There's a strong aesthetic to Ireland which doesn't actually come from the fact that it's green. It comes from the fact that it's got lots of different sized hillocks all over it, and is spotted with lakes and cliffs just for kicks.

As you're driving along - or even just walking along - there is a very strong, panoramic parallax. Much of the time, the stuff in front is large but not totally obscuring the view, so as it parallaxes in and out you gain or lose significant chunks of the scenery behind it.

More interesting to me than that was the way that the roads would hug a hill. Coming around a corner would reveal a whole new vista as the hill falls towards one side.

These are pretty basic ideas, and I'm certainly aware of these kinds of things when I design levels. But not, perhaps, as much as I should be.

Terrain and line-of-sight are very powerful factors in any game, whether you're playing a space marine or a jellyfish or an elf. Recently there's been a tendency to disregard these things - especially in RPGs or MMORPGs... which I think is because this kind of thing takes player skill to handle, and those kinds of games generally don't much like requiring their players to have any skill. But it's critical, it's immersive, it's good juju.

That's why most of the best levels have a mix of open areas, enclosed halls, twisty passages, lookouts, rubble... lots of things to change how you can see and how you can move around the level. Wise designers make the lee sides of walls, doors, and rubble dangerous - that's where smart enemies tend to hide and wait for you. Some games focus on controlling your movement (Sly Cooper) while others focus on controlling your vision (Gears of War).

...

I guess this is really just a reminder. I actually worked out a lot of formulas and suggestions for various kinds of games and players, but they seem pretty boring now that I'm looking at them.

So... I guess that's it.

Friday, July 04, 2008

A Technophile's July Fourth

Okay, I'm an American. Can't really be anything else, even if I wanted to be. Many of the values we Americans are supposed to have, I have.

But there's a particular undercurrent in America, a belief that progress is inherently good. Even people who are anti-progress, such as the zealots poisoning our research and education, are only selectively anti-progress: they're still very happy to buy the latest cell phone and take the latest cancer treatments. As much as they may deny it on the surface, they share the belief that progress - at least, the parts they can't clearly see - is good.

Sort of like the way most of us eat beef, but don't like how cows are treated, let alone actually being willing to butcher one.

America is inherently a culture of dissatisfaction, and technology plays a big part of that. It's where you find me: the American Technophile. Perhaps we're the same in every country.

I believe progress is inherently good.

There is a saying that technology (any power) is neutral and can be used for good or for evil. I think that's crap. I think that technology is inherently good.

Bad things have been done with technology. Atom bombs are bad. But that same technology was used to build atomic reactors and medical treatments. Forward on the same scientific basis we find advanced materials, next-generation medicines, and freakishly small miniaturization. Do they outweigh atom bombs?

Well, I suppose you could argue it either way - especially if you're Japanese - but nuclear theory has always been the "big example" of "when science goes wrong". At worst, it's actually pretty close to breaking even.

Most science and technology is just flat-out beneficial.

Whether this is because progress is inherently constructive or whether it's because the human appetite for good things is larger than the human appetite for destruction... I can't say. But even before we take into account that most of the problems we attribute to technology aren't technology's fault, technology still comes out well ahead.

So, yes. That's me. I believe progress will cure cancer, put us in space, fix the climate, stabilize Africa...

Despite the way we're inhibiting it.

How can I be proud of America, celebrate my 'mericanniness, when half my country believes in creationism? When people avoid inoculations and medical treatment in general in favor of prayer and voodoo? When people argue against genetic manipulation instead of simply arguing against the way it's being abused? When people have such a shallow understanding of science that they can't tell you if Jupiter orbits closer that Saturn, or further away. (Let alone locate France on a map.)

So, no, I'm not running around gleefully cheering on our nation. Because our nation fucking sucks.

... is yours any better?

Wednesday, July 02, 2008

Design Specifics: Star Knight Prototype

(This is mostly me thinking to myself, but if you don't understand something or - definitely! - if you have a better idea, post.)

The prototype name is "Star Knights" or, in full, "Star Knights: They're Not Jedi".

This post is about early thoughts while designing the game. Please note that this game is intended to be a Flash game with minimal graphics, so animations are not a concern.

Instead of allowing the player to control the Star Knights moment-to-moment, the player controls the Star Knights by playing various cards. The opponent (the computer) also plays cards against the player.

Thinking in terms of combat, the Star Knights are armed with light sabers beam swords. These "beam swords" are pretty much instantly fatal if you hit with them, or at least instantly chop-off-your-freakin-arm-al. So the classic kinds of combat using "HP" are right out.

Instead, we use these "combat cards" to create a dramatic combat situation. Out of a deck of combat cards - perhaps as many as twenty - we draw four or five. Play one, draw one, etc. Exactly how effective these cards are is not entirely dependent on the card, but also upon the context.

Let me explain (although if you've been reading my last week of posts, this will be familiar): every fight has a tension pool and a level of imbalance. The tension pool starts at zero, the imbalance starts at (player power level - challenge(r) power level). The imbalance will generally run between 5 and -5: those numbers are basically insurmountable.

The combat cards you play will, by and large, add to the tension and seek to give you an imbalance advantage. If you already have the advantage, it's to your benefit to boost the tension up as high and fast as possible, because cards are more effective (and therefore more likely to end the fight) as the tension increases. If you're on the losing side, you'll want to try to keep tension low, perhaps even "spending" it down with a few, rare cards that radically change the flow of the fight.

As an example of this: You get in a fight with a fallen Star Knight - a Meteor Knight. A-har-har. You have a disadvantage, and there's no tension. Since you have the disadvantage, that guy gets to go first (that's how it works, dramatically).

He plays a flurry of blows, which looks just great but doesn't change the advantage any (or maybe just one point). Since it looks so exciting and great, though, it adds two points of tension rather than just one.

You respond with something that can even the odds a bit: a close clench, saber sword to sword. This evens out the odds regardless of your original odds, because a close clench puts the two fighters on pretty even terms. You're still down one, because it doesn't completely even things out: the Meteor Knight still endangers you in the end, forcing you to jump away rather than get cut in half. It's not quite as dramatic as the flurry, it only raises the tension by one.

The Meteor Knight needs to regain a bit of his advantage now, since there's actual risk developing. He can't play his flurry again: he already played it. So now he plays the "telekinetically throw shit" card, which gives him one point of advantage and raises the tension one more, to four.

Four is getting up there. You have a "disarm" card in your hand, which costs four tension to play. You could play it. But you're at a disadvantage, so it would disarm you. That's not a terribly good idea, so you play "gymnastics", which gives you two advantage points if you're at a disadvantage, as well as adding a point of tension. This brings the two of you to even, as you leap across the debris (some still flying through the air) and land, disconcertingly, right behind him - that classic "rear block" foils you, of course. The fight isn't over yet, so he can't be killed like that!

It's even now, and at five tension. It's pretty much up in the air... if it comes around to you and you're not at a disadvantage, you could play that disarm card...

...

The combat game is somewhat interesting at this level. It's certainly dramatic, but drama isn't a valid replacement for gameplay. And, frankly, the gameplay here is pretty shallow.

The problem with this kind of gameplay is that, inherently, a card is a small piece of content. It is, fundamentally, only a little bit of gameplay. It is shallow.

In CCGs they get around this by building up layers of cards. Card A requires 3 of card B, and you can cast card C on top of it if you like, although it might be better to sacrifice card A for card D... land, creatures, enchantments, instants... a lot of different types of cards that all have various durations, requirements, and applicabilities.

The only CCG I'm aware of which tried to be more focused was the Highlander CCG, which was pretty much strictly a sword duel. You've probably also never even heard of it, let alone played it: it wasn't very interesting to play (although it's interesting to study).

It's possible that we could create a lot of different types of cards and play them in complex layers. After all, there are layers of mysticism in a duel between Je... Star Knights.

But that robs the duel of a lot of its drama. From a drama perspective, duration is a very risky business, because drama is about ignoring the humdrum crap in the background. That's kind of the whole point of drama, and if you think it through, most CCGs aren't terribly dramatic. There are moments of drama when things come together just right, but it's not usually as dramatic as a fight between two Star Knights even though it lasts far, far longer.

So that's not really an option. We have to give the cardplay a level of depth without lowering ourselves to too much duration or layering.

One sure way is to give the player control over what they put in their deck, of course. By having an "outer game" involving acquiring cards and swapping them out, you can create a lot of investment. "Yesssss, my 'throw crap' card finally came up!"

Not enough, though.

For more, we can give the combat itself a level of variety. Today, you fight a Meteor Knight. Tomorrow, you fight a dozen vicious woobie-snooks. The day after, you're fighting barehands against the Proctor of Elen. Then you fight a horde of war droids, an invisible man, a giant lizard, this time you're poisoned, this time you don't want to kill him... add in the various kinds of terrains you can fight on, which have significant dramatic potential...

But, again, while these make fights more interesting, they don't make a fight more interesting.

So here's a trick: let's plug it back into itself.

All that stuff about making fights more interesting, lets allow it to be part of the fight!

Let's say that, over the course of the fight, every card played subtly changes the dynamics of future fights. Not the current fight - we already have that written in. Of course cards played in a fight change the fight. But future fights.

So, if I play the "acrobatics" card, it makes future fights more likely to take place on flat land or in tight tunnels, making acrobatics worthless. If I play the "disarm" card, then my enemies have that card added to their stock. If I play the "flurry" card, then it makes it more likely that I will run into large numbers of guards in future fights, while if I play a card with bad combat effects, maybe it makes future combats a little easier... if you play that card, you will be in a political disaster, if you play this card, enemies will get by you and get to whatever you're holding as valuable (a starship, for example)...

The actual long-term effect of a card is almost irrelevant, as long as it's balanced. We can choose to balance things dramatically, or make them statistically interesting. We can also make a wider potency of combat cards by making a wider potency of side effects. Similarly, the effects should probably make some kind of sense, but it can be in a cosmic kind of way, since we're talking about cosmic kinds of people. Also, it can reverberate to other Star Knights or the surrounding terrain!

The idea here is that you have to consider any given moment in combat holistically. The best card for the moment may not be the best card overall. Similarly, you may actually want to lose in combat in order to reap massive rewards...

Now, the way I am thinking about side effects is related to the idea of falling.

...

In Bastard Jedi, I use 6-7 axes of emotion. The character can use an emotion to draw large amounts of force power. It's a bit more complex than that, but the end result is that players tend to actually feel the pull to fall, instead of only inserting it as dramatic fiat.

I think it would go well in this kind of situation. What if we allowed our Star Knights to use emotions (or emotional connections) as backdrops? What if our "emo cards" are used for layering, the same way that creature cards accept enchantments, or land is required to put down cards.

If our character is angry, then the actions he takes both in executing the cards he plays and in reacting to the cards the enemy plays are different. For example, the "close clench" card. If you're angry, the close clench has a very different feel than if you're, say, feeling forgiving or depressed. Similarly, against the oncoming flurry of blows, you'll have a slightly different reaction.

This difference can be quite pronounced. For example, against a flurry: if you're feeling pretty zen, defending against the flurry will be mostly a matter of scooting backwards with some easy, smooth blocks. Yeah, you're being pressed back, but it's not bothering you. If you're angry, the flurry is going to leave a much larger impression: you're going to continuously want to counterattack, but he's not giving you room or time. So you're going to get a bit more carved up, things are going to be a bit more tense.

In short, the flurry card is more effective when played against an angry person than a calm one!

On the other hand, the acrobatics card will be less effective against an angry person, because he's got his eye on you and he's perfectly willing to chase you around. The zen character will play into your hands by holding his ground, even though you are outmaneuvering him...

There's also the matter of lures: once we have this in effect, we can actually put in cards that try to change the emotion of the enemy, or permanently increase the active emotion!

So you'll put down an emotion (or go gray - no emotion). This will give you a bit of an advantage if you're particularly strong in that emotion - perhaps some cards can only be played if you are a specific emotion or at a specific level in that emotion. What emotion you play is important because it is a tactical choice: some enemies will be very good against certain emotions, and some situations will be better approached feeling specific things.

In theory, it's possible to have a much more complex emotional system, but I don't believe it is necessary. This simple system is adequate, although it is hard to tell whether "emotion cards" should be mixed in with combat cards, separate from combat cards, or not even in existence (cannot be changed mid-combat, or can always be changed to anything).

...

This is the combat.

There's also an adventure layer and a character layer.

Tuesday, July 01, 2008

No More Hit Points!

I'm trying very hard to make this as short and simple as possible, but it's kind a complicated idea. Bear with me.

Imagine a game where a barbarian warrior rushes into a village of orcs. What we would play through would be a large number of combats with small numbers of orcs. First we would attack, then they would counter-attack, then we would attack again.

If it was an action game, there would be some maneuvering involved: stay out of arrow-fire, try to find nice ambush points, fight in some place where they can't come around to your back...

But compare this to a movie where a barbarian warrior rushes into the village of orcs. You get a level of variety and tension that you don't find in a video game.


The barbarian's sword is stuck in an orc, so he resorts to punching them in the face for a bit until he can pull one of their rotten swords from their hands. He grabs one by the leg and throws it into a pack of them. There is a moment of quiet while he is ringed by orcs, all of whom are armed but none of whom are willing to attack the scary human. He is partially entrapped by a thrown bola, he is injured in the arm, but he keeps fighting. He leaps from orcish rooftop to rooftop to stay ahead of the snarling pack, and throws one of them into a firepit. He staggers out and lights the whole village on fire...

Not only is the actual combat more interesting, but the context is more interesting. If the barbarian does go into a swing-swing-swing repetitive killing mode, the camera slowly zooms back and we see the landscape crawling with orcs, all slithering and leaping towards our hero. The whole hillside is on fire. There are a pack of child and woman orcs you accidentally run across. An orc shaman attempts to parlay... one of your party members is taken down by nets and carried into a hole in the ground...

In a video game, this is basically unheard of. In order for any of those things to happen, you'd have to cut out to a cutscene or, at best, have some kind of scripted situation.

Well, perhaps not.

...

In a game, the primary play loop (usually combat) has to be extended so it lasts a while. If the primary play loop is over too quickly, the player will be able to explore it too quickly and get bored too quickly.

So the game designers stretch it out by making it iterative. And they do that by giving everything hit points.

Hit points fundamentally make absolutely no sense. They're just an arbitrary way to make fights last longer, to give the player something to worry over. A resource for them to control.

In terms of gameplay, it works fine. But... does anyone else find it stupid and boring that the werewolf takes exactly thirteen sword hits and the soldier takes exactly three full-auto bursts from a machine gun to kill?

That's pretty... immersion breaking! The only reason we put up with it is because we haven't really seen many alternatives worth talking about.

...

Let's take it away.

Let's say... the player's primary play loop is not the moment-to-moment combat. Let's make that just visual fluff.

The primary play loop would be... quicktime events?

All of those moments in an action game where you're in the middle of a combo and they flash a button up on the screen and you're like, "X A Y, super-skull-cleave-combo!" and it's like "NO! You were supposed to press B to go to a cut scene and stab him in the head! Since you didn't, you lose half your life and he gains half his back!" and you're like, "what? I didn't even see the goddamn cue!"

Yeah, those. Except, you know, not shitty.

As the years progress, game designers are putting more and more "non-combat" stuff into fights. Quicktime finishing moves are basically standard fare these days, the equivalent to the "big glowing spot" that we had in the old days. Even when the player doesn't get to actually do something to cause that interesting event, it still happens: Kratos stabs the sea dragon through the tongue, nailing it to the deck so he can wade in and pull its eyeballs out. Really, that's not exactly tied to the "B" key, but with the number of times he does it, it might as well be.

What if we made those meta-combat events the real gameplay?

What if we collected them like cards in a CCG? What if the player actually has a "Stab tongue to floor" card, which can be played so long as you have a weapon and it's got a big freakin' tongue?

Anything - sea serpent, dragon, giant llama, mutant crab - anything that has a big tongue, you can stake it to the floor by using that card. What effect it has depends on the current level of tension in the fight. If the fight's been going on a while, it's a good finishing card, because it will automatically finish up with some gory Kratos-Rips-Something-Squishy-Out moment. If it's played in the beginning, it will very much upset the enemy as he rips his tongue in half trying to get it free.

It's more complex than that of course, on both ends. On the play side, you need to have some way to make it balanced and interesting and iterative. On the development side, you have to come up with some kind of meta-animation that can be applied to anything with a tongue...

But, on the other hand, think of what you save. No need for an advanced, pathfinding AI. No need for combat balance. No need for combat-worthy physics.

All of that is replaced by a large number of meta-events that make for an interesting set of fights.

Yes, you need to map out a "jump on his back and try to stab him through the neck" animation for everything larger than a breadbox. Yes, you need to make any given fighting arena know how to display "both of us run sideways until we clash together at the last moment". And, yes, you have to know how to do more interesting camera work. Since we're no longer bound to the moment-to-moment character actions, we can do zooms, pans, establishing shots, slow motion... any kind of fun, movie-like effect we please.

So, if you take this path (and assuming it's a visual game), you would need a kickin' animation engine. But you WOULDN'T need kickin' physics or kickin' AI. Is it more expensive? Less? Harder? Easier?

I guess that depends on how kickin' your systems are/would have been... I do know that you can't use most middleware - Torque cannot handle mixing animation, let alone animating things on the fly.

But... the real key here is that your meta-combat game has to be very interesting. You are creating an interesting, dramatic fight, it's true... but more than that, it has to be just as crunchy as the fight itself would have been. It has to have resource management, attrition, luck, counterattacks...

But it doesn't have to be boring.

Hooray!

Banning Fringe

I will never watch Fringe. Not because it's bad, although it probably is. But because Fox is advertising it with "banner" ads that drop down and cover the whole page. You cannot see through them, you cannot click through them... you have to find the little close button at the top of the page to get rid of them.

Even if you were interested, it turns out that you have to wait a full five seconds before it retracts up into the banner, then another second before the ad actually allows you to click on it.

Oh, and at no point is it clear that the ad is for Fringe. It's not mentioned anywhere.

Which is probably a good thing, as it reduces the number of people who know who to be angry with.

This may not be the most inept ad of all time... but it's up there.