I've talked about using the computer to generate content for an MMO in the past and addressed different ways it can and has been done to certain degrees. That conversation has always revolved around generating the physical world and adding things to it to make it sufficiently interesting that it provides worthwhile entertainment to the player. What about other aspects of the game though? Are there other types of content the computer can generate that will add value to the game and give the players a more natural and less restrictive environment?
There are really only a few components to an MMO game world. There is the physical world that the player moves through and explores, the npc's that populate the world, and the stories that are told that bring it to life. I have written a fair bit about the physical world already but so far nothing has been said about the other two areas. It isn't too difficult to picture how a landscape can be generated, our own world was created by forces beyond our control with little influence from us and it isn't hard to draw parallels between natural processes creating terrain and computer algorithms approximating the same but when we start to think about applying software to the more personal interactions the problem appears intractable.
Luckily some people enjoy tackling impossible problems. There has been a quiet community of programmers and researchers working in this area for a very long time. When it comes to creating interactive fiction there are two problems that need to be worked on. The first is enabling the machine to understand us and react in seemingly natural ways. The second is to use those interactions to create or reveal a story over which the player has some influence, where their actions have both an immediate effect on the current situation and a persistent or global effect that will be used to determine reactions and outcomes in the future.
One of the earliest computer games I ever played was Zork. Zork was unique. It was entirely text based and you interacted with the game by typing your commands in plain english. If you wanted to move you would type 'go west' or 'climb the stairs'. To pick up an item you would type 'get the torch' or 'get the red potion from the chest' and the game was able to determine what you meant (most of the time). This created a great foundation for puzzle and exploration games. With graphical games, by design, the UI exposes what actions are available at any given time. Any puzzles that are encountered must be solvable within the set of actions provided. In the text genre the UI reveals nothing and your actions are limited only by what you can imagine and what the game is able to understand. This was accomplished through the use of a Natural Language Processor (NLP). Possibly the earliest example of NLP is a program developed in the 60's called Eliza. Eliza was developed by a researcher at MIT that mimiced a psychoanalyst. The program was able to fool many people for at least a short time into believing there was a real person at the other end of the conversation when they used it.
Some MMO's have made attempts at using NLP in their games. Ultima Online was designed such that many NPC interactions would require people to actually 'speak' to the NPC's as if they were real people. You would get an NPC's attention by hailing them or saying hello then do such things as tell trainers to teach you skills or ask the banker for your current balance. Everquest also had a very limited form of NLP included at release. You could hail NPC's and they would greet you. Then by incorporating words or phrases they used you could form questions for them and sometimes discover quests or hidden information. Overall however NLP was not well received in these games as most players found it to be more of an obstacle than a feature. The parsers were notoriously crude and difficult to work with. Everything had to be typed perfectly and there was no feedback that would let you know if you mistyped or mis-phrased something or if the NPC simply was unable to respond. I think this is an area that deserves more attention. We know that parsing natural language is possible and there has been a lot of progress made since research first began. Interacting socially with NPC's would go a long way toward bringing the world to life and making the environment more immersive. I wouldn't go so far as to make routine actions such as buying or selling items or using NPC provided quests or services require the player to type commands but other interactions such as learning more about the world and what was going on in it are natural fits for the system.
What of the story though. Surely a computer is incapable of creating compelling fiction. Well, if you believe the researchers at RPI and MIT among others that may not be true at all. There have been a number of projects that attempted (with some success) to turn the art of writing stories into algorithms that a computer is able to execute. Brutus, developed by Rensselear, is able to create brief works involving deception and betrayal. Tale-Spin, created at MIT, is able to write short compositions that relate Fable-like lessons. Most recently a free game was released called 'Facade'. Facade has been called a great advance in artificial intelligence and the future of all video games. A gamasutra article said it was "one of the most important games ever created, possibly the most important game of the last ten years".
Facade doesn't play like a computer game. Instead it is like being put on stage with two other actors in the middle of a play without a script. The other two actors know the story but it is up to you to reveal it to the audience. You do this by interacting with them in a very natural way and their responses can be quite surprising. The plot of Facade is that these two people, Trip and Grace, are old friends of yours whom you haven't seen in some time. You are invited over for a visit and it soon becomes apparent that there is some strain in their relationship. You are free to act as you choose, move around the apartment and speak to them by typing out your thoughts. As you interact with them the story advances. Unlike a canned novel the story follows no strict plot. There is a fundamental premise that is stuck to and each character has their own motivations but exactly how the situation progresses and is resolved depends entirely on what actions you take. Even how the characters react to each other can be heavily influenced by how you choose to conduct yourself. The program took roughly 6 man years of development and some aspects of the program were never as fleshed out as they could have been in favor of actually getting the project completed.
Facade clearly illustrates that computers are capable of far more than we typically give them credit for in the arena of story telling and character interaction. The leap needed to advance this technology to the point where it can go from managing two characters in a very limited setting to running hundreds of characters in a large and complex world is great indeed but is eclipsed by the benefits that would be reaped. I don't expect to see any games using NLP or Facade-like character/story management in the near future but if there were an ambitious developer out there looking for a way to set their game apart from the rest this would be an excellent avenue to explore. It is conceivable that through these methods a significant portion, if not all, of the canned dialogue in the game could be dispensed with. If this were backed by a system for generating story elements within the world it is feasible that a game could be written with the potential for nearly inexhaustible machine generated content in which players had an undeniable influence on the progress and outcome of events.
rec.arts.int-fiction newsgroup, wiki summary
2004 article on the potential range of virtual fiction.
Topics related to computer generated drama on the Association for the Advancement of Artificial Intelligence website.
Topics related to Natural Language Processing
Sex, Lies and Video Games
Memoirs of an AI hacker
Facade Post Release Comments
Facade sample dialogue
Programs that use/demonstrate computer generated fiction:
Brutus: developed Rensselear Polytechnic Institute. Overview / In Depth
Mexica: Rafael Pérez y Pérez Download Squad write-up
Tale-Spin: James Meehan Lisp source code
Racter: Wikipedia Entry
Facade Download page (800Mb torrent)