Advertisement

Writing for Emergent Gameplay

Started by October 16, 2004 03:44 PM
12 comments, last by onyxflame 20 years, 3 months ago
Quote:
Original post by onyxflame
Now, a word about talking to NPC's. It drives me nuts when you run into one who knows nothing. Ok, maybe what they know isn't applicable to your quest, but should they all be like the townsfolk in Link for NES who just say "I know nothing" all the time? Yuck. So...say you find a farmer named Fred. You talk to him and do icons for "ASK FRED ABOUT KING". Fred says "Ehh, he's a decent enough fellow, I guess. He always buys my pumpkins for Ghost Day." Now, this could either be just random useless info, or maybe you decide "Ok, I'm gonna hide in the cart carrying the pumpkins to the castle and get in THAT way!"

Now I wonder...is a game like this actually doable? :)

/edit: I also hate looking at something and seeing "That isn't important." If it's not important enough to at least get minimal info about, why is it there? I loved in FF2 (US) how even the books had names, heh. Say I'm looking at a simple vase of flowers. I want to either be able to take a flower and give it to some chick, or at least see "A vase full of daffodils." Who knows, maybe daffodils turn out to be important later on.


First off, yes, it's doable :) I'm a linguist, and I have a few ideas that I'll eventually get around to implementing that deal with parsing arbitrary strings. The key to parsing isn't the syntax (the sentence structure) or the morphology (the word structure) or even the semantics (meaning), really. It's logic, and it's character knowledge. The linguistic aspect can be done, and it isn't that hard. Character knowledge is the same: tedious, but doable. The real kicker is naturalistic logic.

The thing is, it might take up so many system resources that the only interface you could afford is 7-bit ASCII. I don't know for certain; I don't know if there exists a parser as comprehensive as the one I envision.

But if I can manage to create something like that, and it actually runs efficiently, then all I have to do is slap a text-to-speech system with a number of voices on top and slather that on top of a conversation decisionmaker system. I have one partially thought out, at present, named Alexis; I haven't started coding it yet. No time. Once I do, I'll probably release the bulk of it under an open source license, so you'll be able to use it. In about ten years.

An RPG like the one you describe, though...it would be massive, even with a simple interface. And how would the player distinguish between an individual NPC's quest and his own? That's his choice, I suppose. Can you code every little sidequest into the game? Again, the only practical method is to use a text interface. There's not much of a paying market for those, and a project of this magnitude would be costly.
That's why I think most of my ultimate dream games are too far in the future to worry about. We simply don't have the technology to be able to do them yet. Maybe when true conversation-capable AI exists...but who knows how long that could take?

For an example of something similar to what I think you're talking about, you might check out www.personalityforge.com (I can't get links to work properly for some reason). It's not true AI, but it can come up with a large variety of responses based on keywords it recognizes, and can incorporate a large degree of randomness (I *feeling verb* you, for instance). It even has a basic form of emotional responses, or used to. (I haven't visited the site for a long time, it might not even still exist.) The guy who runs the site has a rather high-end setup, although I imagine a lot of that is because there's hundreds of bots there. So I don't know how feasable doing something like that in a game would be.

At any rate, I'm sure a more simplified version of the ideal would be workable somehow. You don't need to make the thing know what every word in the language means.

Update of previous post: I've found a 3rd person view game that has almost as high an "oh crap" factor as Metroid Prime. There's a part in Tak 2 where you control a catapult, and have to go through a nightmare world which includes tentacles that shoot at you, and platforms you have to jump across (some of them moving) while accelerating the proper amount and hoping you don't slide right off of the tilty ones. Let's just say you get to hear a LOT of death screams. :P
If a squirrel is chasing you, drop your nuts and run.
Advertisement
I checked it out. Some of the bots are more equal than others. But if they're going by keyword searches, there's a ton of room for improvement. Syntax can alter meaning significantly, the simplest way being what's called bracketing errors:
I [saw [a man] in the subway]. = I saw a man. This action took place in the subway.
I saw [a man in the subway]. = I saw a man who was in the subway. I might have been watching via closed circuit television from halfway around the world.
[I saw [a man] in the subway]. = I saw a man. I was in the subway when I did so.

The ambiguity there isn't significant; there's no terrible difference between the three. However, replace the same sentence with one in a similar form:
"I saw the Amulet of Yendor in the witch's hut."

In a closed world, one that's rather carefully controlled, that's not a problem. If you have an open world, that's potentially important, especially if the NPC you're speaking to is seeking the Amulet of Yendor.

You might have the computer look through the possible interpretations and see which is true. On the other hand, you might be lying. Perhaps you saw it in Corneria, sitting in a lofty tower. Which interpretation should a character choose? Which would a human choose?

And if you're to move from speech to knowledge to corresponding action, you really, REALLY need actual parsing. Keywords can do a lot, but they can't do everything. Alexis should be able to handle things of this nature, and may be easily adapted to the decisionmaking process in a closed system.
Well, if you use icons for words/concepts, maybe the problem wouldn't exist. For instance, say Joe asks you where this amulet is. You could say something like "TELL JOE WHERE AMULET IS", or "LIE TO JOE ABOUT WHERE AMULET IS" or something of that nature. Possibly even have it set up so the computer detects bad order of words and prompts you to change it? I dunno.
If a squirrel is chasing you, drop your nuts and run.

This topic is closed to new replies.

Advertisement