Friday, June 09, 2006
More Interesting AI
Raph Koster has posted a GOLD MINE of information on the ecological / economic systems of Ultima Online (see part 1, part 2, and part 3), and a discussion on the "dumbing down" of NPCS in MMORPGs.
Raph's comments go on how these sophisticated plans for Ultima Online and Star Wars Galaxies were eventually deep-sixed in favor of maintainability and simplicity (not to mention catering to players who value predictability). Definitely great goals, I admit. But it's sad that there have been so many missed opportunities - sacrificing the potential for greatness for the merely adequate.
I've been on both sides of that fence. I remember arguing against the complex, hard-to-maintain physics system in Jet Moto. But that was partly because the physics for the player's bike was so expensive that it left me with no cycles left for doing AI, Physics, and Collision Detection for the 19 OTHER bikes in the game. But that's another story...
The one thing these deep, detailed, UGLY simulations have is what Noah Falstein refers to as Emergent Complexity --- which means Emergent Gameplay. You can end up with a lot of great features and playability that occur "for free" as a result of the interactions between these competing systems beneath the game. But you also end up with a lot of unintended features (bugs) the same way, which are really scary-hard to track down and fix. It's especially scary to console developers, or MMO developers who live in terror that something unforseen will throw the entire game balance out of whack.
Perception IS Reality In Games
There's a point Raph brought up in the Ecology articles that is absolutely critical, though. And that is that it's the player's perception that is key. If the player doesn't see it, it didn't happen. Most of the time. It doesn't matter that the dragon appeared near town because it was hungry and was responding to a complex chain of events, or because some script told it to spawn there. From the player's perspective, it's the same thing. Unless he's somehow privy to the causality of the dragon showing up.
For example: I'm playing Oblivion. When I meet a stranger for the first time in that game, I have noticed that they don't all start with middle-of-the-road opinions of me. Some start disliking me, and some start liking me. Sometimes the reason why is obvious - they may be a member of a guild I belong to, for example. But much of the time, I don't know how their initial attitude begins.
Now, this could be the result of some complex set of relationships. Or it could be a random dice roll. Or some setting they scripted into the game initially (maybe this is a person who's not supposed to like ANYONE). The thing is, I DON'T KNOW and I have no in-game way to find out. There are no conversation options to find out how they feel about other characters in the game, too see if I honked off a close friend of theirs in another town. So if these different starting-opinions actually are a result of some deep, detailed behavioral model, Bethesda wasted their time developing it. I can't tell the difference.
However, if (as a game developer) you give the player some visibility into that model, and some ability (and incentive) to mess with those parameters, you can keep many players entertained for hours and hours, and stun them with your advanced, interesting AI. Just look at how many people enjoyed playing The Sims just to mess with their sims' heads and get them into really twisted relationships.
That's not saying that you should lay bare the entire guts of your simulation. But exposing some of that causality is important. At the very least, give some strong hints (remembering that for the most part, players do not get 'subtle'.)
Raph, in his articles, notes the problems with this. How do you expose these sorts of things to the players? And how do you give the AI the perception and understanding to see what kind of changes are happening in their world that would change their reactions? And then how do you turn that into entertaining gameplay?
Or as Raph puts explains it, how do you get the farmer to turn the fact that rabbits really are eating his crops into a rabbit-hunting mission for the player?
Okay. I've got an alternative point-of-view on this based on an old CGDC talk that I'll have to share later.
Labels: Game Design
