(Ln(x))3

The everyday blog of Richard Bartle.

RSS feeds: v0.91; v1.0 (RDF); v2.0; Atom.

Previous entry. Next entry.


10:35am on Tuesday, 12th April, 2022:

Conversations

Rant

One of the things that we wanted to do with MUD was to allow players to converse in free form with NPCs (and, because NPCs didn't know that player characters weren't NPCs, to allow NPCs to converse with each other).

We didn't implement it, largely because we didn't have time. We could have put in simple keyword-recognition, but having been inspired by the CC314 AI lectures we wanted to parse the text properly. We therefore did not put in keyword-recognition, because we knew we'd have to take it out when we implemented a natural-language parser (which could be called from the command parser that we did write).

Knowing that players would nevertheless attempt to talk to NPCs in the interim, we kept the number of NPCs that might conceivably be able to understand speech to a minimum (that is, zero). We did have a sleeping beauty and a frog prince, but they weren't around in conscious human form for long enough to hold a conversation.

Changes to the resource limits that programs on the univerity's DEC-10 mainframe could call upon during prime time prompted me to create a smaller world called VALLEY that was an offshoot of MUD. I put a human thief into this, aiming to use him for testing the conversational code I still intended to write. I had an idea to write a separate program for handling communication, but the inability to communicate with it except through (very slow) files put me off from doing this. I also had a PhD to work on (which I undertook in the area of Planning specifically because I wanted smarter NPCs in MUD).

The worlds of VALLEY and MUD were merged together in MUD2. When I eventually did get around to starting work on talking to NPCs, I began with a simple planning system so that the NPCs would be able to make decisions and change their goals based on what they were told. The thief by now had gained a reputation of being a silent, sullen sneak, so to test my ideas I added another human NPC, a little old man who had some magic ability. It turned out that his artificial intelligence was rather better than the natural intelligence of many players, though, and I had to tone him down. This was annoying, because I'd designed him with toned-down abilities already, having learned previously that players didn't like too much AI behind their opponents (I'd added some rule-based decision-making to humanoid mobiles such as zombies that I'd subsequently had to dumb down because they kept thrashing players).

I never did get around to writing the code to allow players to hold conversations with NPCs.

Talking to NPCs in MUDs did not become a thing, and it's not really a thing in today's virtual worlds either. When it does happen, it almost invariably uses dialogue trees with little impact (and sometimes none — you can completely skip the conversations in FFXIV, for example). It doesn't have to be this way, though! Today, we really could create sophisticated parsers that allowed players to speak to NPCs; we could make the NPCs have mental models of individual players and of other NPCs (by shard); we could allow NPCs talk to one another and compete or co-operate. We can do a good many of the other things that would bring a virtual world to life, too. It doesn't need machine learning — Good Old-Fashioned AI can handle it.

We can even extend this for single-player RPGs. There's an Internet: if you say something to an NPC, it can send that to a server to interpret it and send back a response. We can even do it for multiple RPGs: a simple API for sending context and the player's words, which waits for a return context and the NPC's words. Localisation would easily be handled by the server. We don't even need the languages to be real: you could speak to an NPC in English and get a reply in Elvish (er, Elvish being the non-real language). Long term, I could see a company setting itself up to provide this kind of service.

There's so much more we could do with virtual worlds than we are doing. There always has been. Speaking to NPCs is just one example of many. If we restrict ourselves to making incremental changes to established principles, though, we'll never develop new principles. We need creative vision, not recreative vision. There are still plenty of designers out there who have such vision, they just don't get the chance to use it. Augh! It's so frustrating.

Oh well. I have five years before I have to retire, then perhaps I'll get around to writing the code to allow MUD's players to hold conversations with its NPCs (albeit only half a century later than planned).




Latest entries.

Archived entries.

About this blog.

Copyright © 2022 Richard Bartle (richard@mud.co.uk).