1
General Discussion / Re: The Quest system
« on: October 06, 2006, 09:08:24 pm »
Hi,
Can you define "as real as possible"?
Human languages are unstructured and rely on context. Computers lack "intelligence" in any real form, and are generally unable to work with unstructured things. A computer can remember context, but only within the limits of their programming, and general have huge problems detecting which contexts are important and when contexts cease to apply.
Given this, "as real as possible" typically equates to a structured language consisting of keywords and formal grammar that the programming is capable of dealing with. If you're familiar with the "old fashioned" text based adventure games, MUDs, etc, you'd be familiar with formalised commands like "get <item>", "give <item> to <player | NPC>", "go <direction>", etc.
This approach can be improved with the addition of a built in thesaurus (so that, for e.g., the words gem, jewel, gemstone and diamond can be accepted equally; the words give, assign, deliver, donate, grant and supply are all treated equally; and the words have, take, acquire, obtain and receive are all treated equally). It can be combined with support for alternative syntax (so that, for e.g., "give <NPC> <item>", "give <item> to <NPC>" and "let <NPC> have <item>" are treated equally). You can also have some generic rules (like ignoring the word "the" when it occurs before an item, ignoring case and ignoring punctuation). With the examples shown, this would give 136 different combinations of words that could be used to give a diamond to the NPC - for example, "donate gem to <npc>", "let <NPC> obtain the diamond" and "supply <npc> the jewel" would all be equivelent.
With a large enough thesaurus, a large enough set of alternative syntax and enough carefully selected rules it could be reasonably effective. Is something like this what you refer to as "as real as possible"?
I can't help get the feeling that the current approach is to have N strings which are mapped to M responses, where the user must type one of those N strings exactly without any formal grammatical rules to guide them. Given exactly 7 specific words (e.g. cat, mat, hat, pat, dog, log, fog) in any order, there's over 5 thousand different possible combinations. Given the english language (tens of thousands of words) with between 1 and 10 of these words in a sentence, the possible number of combinations (even when you filter out all sentences that don't make sense) is difficult to comprehend. If I'm correct about the current approach your server will probably run out of memory before you can have a string for every "free form" sentence that a user could reasonably expect to work. Given limits on the developer time needed to find and enter these strings and the lack of flexability of the end result, thiis approach would be "less than wise"...
I'm also curious if the developers have considered keeping a log of all of the things players say to "quest NPCs" that aren't understood by the NPC - the variety of things typed in by new users would probably be quite revealing...
Cheers,
Brendan
Perhaps you took my words more literally than I did. We're looking for an "as real as possible" scenario. And it can be done, and we will be able to do it.
Can you define "as real as possible"?
Human languages are unstructured and rely on context. Computers lack "intelligence" in any real form, and are generally unable to work with unstructured things. A computer can remember context, but only within the limits of their programming, and general have huge problems detecting which contexts are important and when contexts cease to apply.
Given this, "as real as possible" typically equates to a structured language consisting of keywords and formal grammar that the programming is capable of dealing with. If you're familiar with the "old fashioned" text based adventure games, MUDs, etc, you'd be familiar with formalised commands like "get <item>", "give <item> to <player | NPC>", "go <direction>", etc.
This approach can be improved with the addition of a built in thesaurus (so that, for e.g., the words gem, jewel, gemstone and diamond can be accepted equally; the words give, assign, deliver, donate, grant and supply are all treated equally; and the words have, take, acquire, obtain and receive are all treated equally). It can be combined with support for alternative syntax (so that, for e.g., "give <NPC> <item>", "give <item> to <NPC>" and "let <NPC> have <item>" are treated equally). You can also have some generic rules (like ignoring the word "the" when it occurs before an item, ignoring case and ignoring punctuation). With the examples shown, this would give 136 different combinations of words that could be used to give a diamond to the NPC - for example, "donate gem to <npc>", "let <NPC> obtain the diamond" and "supply <npc> the jewel" would all be equivelent.
With a large enough thesaurus, a large enough set of alternative syntax and enough carefully selected rules it could be reasonably effective. Is something like this what you refer to as "as real as possible"?
I can't help get the feeling that the current approach is to have N strings which are mapped to M responses, where the user must type one of those N strings exactly without any formal grammatical rules to guide them. Given exactly 7 specific words (e.g. cat, mat, hat, pat, dog, log, fog) in any order, there's over 5 thousand different possible combinations. Given the english language (tens of thousands of words) with between 1 and 10 of these words in a sentence, the possible number of combinations (even when you filter out all sentences that don't make sense) is difficult to comprehend. If I'm correct about the current approach your server will probably run out of memory before you can have a string for every "free form" sentence that a user could reasonably expect to work. Given limits on the developer time needed to find and enter these strings and the lack of flexability of the end result, thiis approach would be "less than wise"...
I'm also curious if the developers have considered keeping a log of all of the things players say to "quest NPCs" that aren't understood by the NPC - the variety of things typed in by new users would probably be quite revealing...
Cheers,
Brendan


). Get something fixed? That I could do, or at least I thought so...