Using AIML for NPC conversation
Posted 24 June 2006 - 10:05 PM
The bartender approaches and engages you in conversation. Since he is directly within your targeting range (imagine 2.5 ft radius) the chat also appears in your chat reader. You can clearly hear his words over the crowd.
Basically, the tech design here would require realistic 3D sound emitters, a text to speech engine, and a localized AIML set (dynamic, of course, so that the NPC's aren't totally stupid.) Real-Time phonetics emulation would be an option to turn on/off based on performance... but having realistic conversations with NPC's (not perfect, AIML is dumb sometimes) would be awesome.
It seems to me that running an AI server to handle all the 'Chat' AI functionality would offer one helluva lot to the immersion. All that's needed is a script that handles efficient conversation targeting and a "Text In/Sound Out" script that reads the chat from the AI server and tags the source. Everything else would be fairly standard for MMO NPCs.
I'm thinking of adding phonetics based "Voice Styles" and different voice types, for accents, customization, and a real feeling of having A Person on the other side of the pixels.
I understand the limitations of AIML, but the overall structure makes it ideal for NPC chat, and I was wondering if anyone has looked into this at a serious level. Are there games out there utilizing this approach, or is it too bandwidth consumptive/CPU draining?
I'm still in a conceptual process, but the idea seems sound. Anyone see any glaring errors?
You could also allow players to submit ideas for additions to the AIML. Combine this with a relatively large community (5000+) and you're guaranteed to snag some obsessive compulsive gamer who will devote dozens of hours developing perfect conversational AIML sets for your npcs.
Ok, that would be unwarrantedly taking advantage of a sick person for coroporate gain. :whistle:
Anyway, what are some thoughts?
Posted 25 June 2006 - 06:28 PM
Posted 25 June 2006 - 08:48 PM
Make a little avatar demo and post it :)
Posted 25 June 2006 - 09:19 PM
My goal is, at this point, a realistic virtual tavern. Something like John's, if you've ever read Feist's Serpentwar series.
Anyway, aiml seemed to me to be the easiest route to realistic conversation. On a MMO scale, it would require a huge database, and a server all it's own, but for my purposes the CPU usage shouldn't be bad at all :)
Check out www.Alicebot.org to learn more of AIML.
Posted 25 June 2006 - 11:26 PM
AT&T Natural Voices and some other company sell very high quality voice packs. I honestly thought they were very convincing from their demos. It might be worth investigating if you go along with this.
Posted 30 June 2006 - 06:43 AM
I ran a basic bot voice into one of the microsoft avatars just to test out the voices I could find (I'm not yet willing to put money into this if there's no good voice collections out there.)
It's standard bot text-to-speech, and it r sux.
Hiring people and recording their recitals of AIML sets with proper inflection is the only way to really get this idea to work.
Word to the wise: 15 chat bots talking in a virtual room with text-to-speech sounds like crap. Especially if you are unfamiliar with sound programming :P
A project like this requires more time and effort than is worthwhile to me at this point. I'm still keen on the idea of AIML driven NPC's. Just not having them speak. Btw, AIML set conversations are really stupid, as well.
How are you?
I'm great, how are you?
I'm great, how are you?
The day is looking fine.
The day is.
Is the day is what?
It's probably my implementation that sucks, and I only used the standard ALICE brain, although if you've played with AIML at all, you'll have come to the same conclusion I have: ALICE is pretend-AI.
Maybe I should leave this idea in the attic to collect dust until such a time as we have real (or real enough) AI to deal with something of this nature.
Or until I have $20,000 to shell out to voice actors to record huge AIML sets :P
btw, I discovered CyN, which is an aiml integration with OpenCyc... very interesting case for developing a so called strong AI out of aiml.
Posted 12 July 2006 - 10:08 PM
Do you guys think we'll have talking NPC/Mobs/pets in MMOGs by 2010?
Posted 12 July 2006 - 10:55 PM
Once you had the library of responses built up, you could build up a believable conversational system. It would probably cost upwards of $15000 to complete it, but once you did, you could not only use it directly in a game, but you could apply learning algorithms to it and have the computer generate it's own voices.
It's an aspect of immersive game technology that hasn't yet been developed because of it's complexity. The question comes down to this: is it worth the time and money to invest in the technology, or do we let it advance on it's own until voice libraries are as developed and freely available as graphics libraries?
Linguistics is far more complex than graphics. In fact, I'd say that it's by far the most complex system short of strong AI that relates to gaming.
2010 might be possible, but I'd say we will definitely have it by 2015.
Check out Cyc, for an example. Each piece of "common sense" knowledge is hand-fed into the knowledge base to verify it's accuracy and pertinence. The system is very specifically designed to allow the engine to infer things about context. A similar system would have to be employed in order for a voice-chat program to be believable and accurate.
Anyway, the first company/person that develops it is going to make a killing, because once one game has it, every game will need it. Just like 3D graphics. And there will be lots of crappy spinoffs and imitations that will lead to further discoveries and improvements in the field.
This has given me another idea for a thread, I'm going to develop it in another thread.
Posted 13 July 2006 - 01:37 AM
Well, it's good to know that someones moving on it.
Posted 24 August 2006 - 10:04 PM
I prefer Cyn, however, and have actually had some decent conversations with it, which it remembers. Hal always forgets me :(
Posted 25 August 2006 - 07:11 AM
I mused about replacing the typical adventure game dialogue tree with code that actually simulates the conversation, taking into account factors such as the NPC's emotional state and knowledge base, and generates his/hers sentences on the basis of the actual grammar, but then I've realised that:
a) The algorhithm would be too complex for such an amateur as myself to ever conceive, and
b) I've had to create at least one full vocabulary of any given language for the thing to work. Given that typical vocabulary for any given language is several thousands of nouns at best - good luck typing them all into the computer.
As you might imagine, I no longer even consider this possibility.
Posted 25 August 2006 - 07:10 PM
Fun stuff :)
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users