View Single Post
Old 02-11-2010, 10:23 PM   #17
silvarilon
Member
 
Join Date: Dec 2009
Posts: 144
silvarilon is on a distinguished road
Re: Advanced AI in MUDs

One of the biggest sins of game design is when you create content that isn't used. Half-life had this great mechanic, where some creatures could track by the smell of blood. That means that if you get injured, and they come across somewhere you've been, they'll follow that trail back to you. And if you flee, they'll be able to find you again, while the other creatures wouldn't. But know what? Who cares. No players knew that feature even existed! I only discovered it because I was reading the source code documentation. Why? Because whenever you see one of the creatures, you shoot it until it's dead. To make that mechanic meaningful, the game designers would have needed to make me aware of it, and give it a use. Maybe if I left a blood trail, and there were animations of the creatures specifically going to the trail, and sniffing it as they followed. And if I had some way of hiding, so I could see them doing that. And then some puzzle that makes use of it (maybe a network of air vents, with grates, so I can see where they are and what they're doing. And have a need to get the creatures to somewhere specific. So they could then "lead" the creatures with their blood)
THEN it's meaningful. Until that point, the programmers wasted their effort. They might as well just had the creatures run towards the player.

So... if an NPC needs to pee... how does that affect me, the player?
If I'm talking to the NPC, will they walk off to pee? If I walk into the bathroom, will they continue talking, or chase me out? Will they make comments about needing to go to the bathroom? Can I collect their pee in a jar, and use it for something? Can I booby trap the toilet?

Unless your NPC is going to do something with their pee, or unless you're able to do something with their pee or the fact that they're peeing... please... just leave it out of the game. All it can do is distract the players.

I'm not saying that the NPC shouldn't pee. I'm saying, if you put that code in, *make it meaningful*

Making the NPC less predictable is fine, if that is worked into the game. For example, instead of the miner always standing outside his mine, he might wander around, or be inside digging, or whatnot - as long as the player has a way of finding him, then it's fine. If I can walk up to any other NPC and say "ask about miner" and they say "Oh, he's probably at the bar right now" or "He'll be in the eastern mine" then I can still find him. But does this unpredictability add anything? In some cases, yes. Maybe I can try mining gold while he's not there to spot me, and knowing where he is can let me guess how much time I have. Or maybe NPCs can report crimes, so if I'm fighting someone, and the miner walks in, I get jail time. Or maybe he helps out friends, so if I'm friends with him, and I'm fighting someone and he walks in, he pulls out his pickaxe and joins the fight. But if he does none of these things? Then the only reason not to have him just standing in the same spot would be because it seems silly that NPCs never move. In that case, just having a few random locations where he can be found would achieve the same goals. During the day he's at the mine. In the evenings he's at the bar. At night he's nowhere (and we assume he's at his house) - we don't need to know how thirsty he gets, we can *assume* he gets thirsty from mining.

Exactly.

Depends on the mud, but yes. Nobody wants a vending machine to move.

Mmmm hmm. Although in more social games, there are other ways of making things meaningful. A very simple example, in Ironclaw we had a plot about how there was a lot of crime happening lately in a certain section of the city. The "NPC vending machines" started vanishing at night, rather than staying in the same place, and some of them moved to new, safer locations. The NPCs couldn't actually be hurt... but that's not the point. The players feel like evenings happening in the game have an effect on NPCs - and also an effect on themselves. They have a 50% chance of not being able to use the vending machines until the current plot is resolved (and it gets resolved by player action, not by staff deciding that it's gone on long enough)

Yes. But they can solve other roles. For example, a guard on a door. No player wants to stand there stopping anyone from entering 24/7 - but it's ideal for an NPC. What's more, if the NPC is placed there by a PC, it becomes a meaningful PC action. A player can protect the door by choosing to put an NPC guard there, without having to stay online. Presumably their supply of guards is limited, or costs them something.

NPCs are also good for things like running shops (the player might be able to hire an NPC and give it items to sell) delivering messages (an NPC runner could send an in-game letter, rather than having some game paging or chat channel) reacting to PC actions (they might clap and cheer if a skilled PC plays the violin, or laugh if a PC fails an acrobatics roll) and the like.

NPCs can also help set the tone. If it's winter, having NPCs that make snowmen and throw snowballs at each other sets a very different feeling than if they shelter around burning barrels trying to keep warm, and moan about how they don't have enough food to last the winter. In Ironclaw, for that "setting the tone" we cheat quite heavily - in crowded areas there are general, random emotes describing passer-by actions like that, but we don't actually put an NPC object into the room. That makes it very easy for us to just edit the list of random emotes when things change.
silvarilon is offline   Reply With Quote