Emergence of content in game worlds is a hot topic, here and elsewhere. In an earlier Terra Nova discussion (A virtual world compiler?) John Arras posted a thoughtful and detailed reply. It is worth highlighting here, not only for the benefit of our RSS readers, but also for the provocative points it raises.
John would appear to be interested in capturing the engaging quality of backdrop-scenario based "player quests" in generated worlds (e.g. how to have this "emerge" from the interactions of a simulated society of NPCs). He asks the question, and makes this point:
Is it possible to replace the meaning and context and detail given by handcrafted quests within a static world with less detailed quests in a dynamic world if the dynamic world quests actually impact the state of the world? ...I don’t think it’s been done, but I think it’s possible... I think the main problem is that there isn’t an easy solution, and getting to a good solution will take a great deal of effort and a lot of failures.
John's strategy, in part, seems to be to recast the "lingua franca" of a very large sim-society into an object-based resource "language". It is about crafting with the basis for interaction, reasoning, and transaction between sim-folk. They may manipulate, manufacture, trade objects. It is a grotesquely consumer-based life for these sims, but he claims this crude language is all that is now scalable to vast sim worlds ("I don't believe it's possible to have huge numbers of NPCs that converse at a high level...Instead the meaningful communication takes place in the form of the creation, transfer, and use of objects...").
This would appear to be in contrast to, say, a deeply nuanced societal narrative based on other dramatic flames and desires, ala, say Henry V:
O! for a Muse of fire, that would ascend The brightest heaven of invention; A kingdom for a stage, princes to act And monarchs to behold the swelling scene. Then should the war-like Harry, like himself, Assume the port of Mars; and at his heels, Leash’d in like hounds, should famine, sword, and fire Crouch for employment. But pardon, gentles all, The flat unraised spirits that hath dar’d On this unworthy scaffold to bring forth So great an object: can this cockpit hold The vasty fields of France? or may we cram Within this wooden O the very casques That did affright the air at Agincourt?
If to extend John's work beyond the objects of resources and crafting is to enumerate and formalize the relationships elements of a societal narrative into other kinds of objects and transactions... Then from these grammars we may see horses arise and kingdoms emerge: "A horse! a horse! my kingdom for a horse!" Perhaps, one day.
At the low level, what he describes is very similar to the abstract resource model used in Ultima Online originally (and still present, though much atrophied and underused). My wife and I first put together something along those lines back in the middle of 1994...
...and yet it still doesn't exist. One reason is how expensive it can be run these simulations. Level of detail AI models may yet help on this front, as well as just being smarter about what to simulate. But it's dangerous to underestimate the levels of CPU and storage needed to get an adequate model.
John's societal building stuff is fascinating (and he has working code, btw, for a lot of what he is talking about). We never got that far in what we contemplated.
Posted by: Raph | Jun 30, 2004 at 13:45
Very interesting post Nathan! In response, I must start out by challenging your assertion that relying on an object market to create story complexity in these virtual worlds “is a grotesquely consumer-based life for these sims.” Isn’t that what a huge portion of our RL time is dedicated to, dealing with various objects and information (memes, which are also objects to be bartered and spread) that cue our individual and mass behavior? Our lives are already highly consumer based, but I don’t think it’s all that grotesque. It’s natural for resource based economics to dictate a huge percentage of social behavior. In fact, I believe that we need to base our virtual-complexity-growth efforts on how existing object-based biological and social systems function. We need to recreate elements of bio-memetic systems in virtual settings in order to spur development. (What better developmental model to follow than RL Evolution?) I really like what you wrote in your closing paragraph: “If to extend John's work beyond the objects of resources and crafting is to enumerate and formalize the relationship elements of a societal narrative into other kinds of objects and transactions... Then from these grammars we may see horses arise and kingdoms emerge: ‘A horse! a horse! my kingdom for a horse!’ Perhaps, one day.” I think that day will come very soon, and that the in-world societal narrative will, in large part, be cued by complexity-generating objects.
If we frame the question slightly differently as, “What are the devices that will most efficiently increase the story value of a given Virtual World?”, my answer would be, “Bio-Virtual Seeds, in addition to direct human control of certain environments, are essential for the emergence of story complexity (and complexity, period).” What are Bio-Virtual Seeds? A BVS is any product that by its very existence inside a given VR environment increases the Functional Complexity (Story Complexity is one type of functional complexity) of that environment, usually by relying on programming patterned after a RL based biological structure. These are deeply rooted information packets that are perfectly fit to interact with "sim-folk" because they are imbedded into the environment. I believe that BVSes are going to account for a huge percentage of the self-organizing infrastructure of Virtual Worlds in the coming months and years. And hence, I am starting a BVS Farm in SL and there is room for everyone! ;-)
What are some examples of BVSes? Let's say users start planting trees that allow users to post information leaves onto. They can grow by using a similar forum response program to this one. Some of these trees will be categorized and targeted by specific users who pick and create leaves. How about sea shells which allow users to leave audio messages for passers-by? This would create a more game-like pattern of behavior, increasing the movement of players as shells are strategically placed. Any way you look at it, the mimicry of biological systems using memes as the infrastructure is the key to a more complex world. Imagine those SL butterflies being sent out to relay messages from user to user. Could it efficiently replace the calling card? The post triggers thought that Bio-virtual Seeds will be the way to go. The users will eventually do this and as a result their current self involved creations will become bio-informative tools that cue users to build a new, more complex world with a legible history.
There are billions of possible BVSes just waiting to be created and there are billions of stories to be told. To my knowledge our environment contributes significantly to our own story. Biology holds more complex information so it’s a great model. So to John’s response, yes these things are going to happen, Bio-Virtual Seeds will be made to cue more complex behavior that mimics the biological world we live in. This does affect the world. We are going to see horses arise and kingdoms emerge because Bio-Virtual Seeds are items that enumerate and formalize societal narrative into other kinds of objects and transactions.
Another question to ponder is “Will the creation of this content infrastructure catalyze the breakdown of the current idea-ownership model while empowering individual and small groups, a.k.a. Social Nodes?” Maybe. What do y’all think?
Of course, transparency is another story, which changes the way we look at the whole picture. On a more current time scale, I hope to see the MSN butterflies. Do you?
Jimbob Peltaire F.E.
Posted by: Jimbob Peltaire | Jun 30, 2004 at 20:05
Haven't read the whole of John's paper yet but it looks interesting so far. On a related subject, this might be of interest to you guys (if you haven't seen it already):
http://www.gameai.com/
An interesting collection of AI/genetic algorithm/evolving systems links and resources.
Posted by: Al | Jul 01, 2004 at 06:52
I wrote a series of articles for Skotos explaining one way of getting more intelligent quests from NPC using AI, but again, it's not supported by any code.
The series is here, starting at #23.
Richard
Posted by: Richard Bartle | Jul 01, 2004 at 07:51
Being a huge proponent of dynamic worlds I've thoughts and prototypes that run along much the same lines as what John covers. There is one particular hurdle with dynamic worlds, that I keep coming back to, and John touches on as a great unknown: "will it be enough?" for the results of questing to be dynamic?
The big question, for me, is whether a truly dynamic world can provide a suitable heroic journey to the player. The stumbling point in this, is its ability to provide us with a suitable dramatic context, or any measure of dependability for conflict and resolution.
In short: The narrative derived from a heroic journey through a static world, is somewhat akin to an event-based story. The game world provides an experience that is certain to happen, and guaranteed to contain action, foreshadowing, and story resolution for the character (even if it can't provide resolution for the world). As the characters themselves can leave no mark upon the world, they are disposable and the design fails when the events that occur aren't sufficiently exciting.
At the other extreme, the narrative derived from play in a dynamic world is more akin to a character-based story. That is, more often than not the story is only interesting because of the characters, not because of anything they do. Actions within a dynamic world will not dependably have any dramatic context, nor even an acceptable resolution.
In a static, event-based world, there is no failure when the hero is sent to stop a saboteur. They're always present, waiting to be defeated by the hero.
In a dynamic, character-based world, we can't even depend on the saboteur to be there; even if we managed to code behaviors so one society could send him, and the other could detect the plot and hire a PC to try and stop him. The saboteur may be waylaid by other PCs en route, or simply killed by hungry wolves just outside his door. There is no guarantee for any exciting conflict or fulfilling resolutions. After all, the player may well fail, and the saboteur's target be destroyed.
Similarly, there's nothing to stop an ogre from stumbling across a hero while he's locked in combat with the saboteur -- and decimating the hero in a thoroughly unfair fight.
The average experience will likely be unfulfilling more often than not, unless the character, and those he interacts with along the way, are sufficiently interesting. The onus is on the players, and there's nothing the designer of a dynamic world can do about it (lest they remove a part of the 'dynamic').
That is not to say action and resolution can't, or won't happen - but there is absolutely no guarantee of it. If a player stumbles upon and defeats a group of four goblins in the forest, he may have just inadvertantly thwarted an assassination plot. But the dynamic world has no way to convey the dramatic context of that encounter to the player during the action. At best, we might have generated some sort of rudimentary 'note' that the goblins are needlessly carrying that explains their purpose. But during the fight, the player had no idea he was fighting for the life of a gnomish diplomat. He was just killing goblins, because he was a dwarf, and that's what dwarfs do. While heroic in the end, the struggle itself didn't have the full dramatic context and resulting tension and urgency.
As self-styled storyteller, this is an odd obstacle indeed. The dynamic world may turn out some hugely fulfilling heroic journeys. But there's absolutely no measure of certainty that it will for any particular player. Further, the failure of one player may lead to the failure of others.
To cast another analogy, a static world is much like a single player game: failure is met by reload/retry until success is met, and all necessary conflicts are balanced. A dynamic world is much more like a PvP game: failure is not just possible, but inevitable, and no conflict can have any expectation of fairness.
Trying to provide dramatic context or a fulfilling journey through a dynamic world, is much the same challenge as trying to provide context and fulfillment to PvP.
Posted by: weasel | Jul 01, 2004 at 08:57
Isn’t that what a huge portion of our RL time is dedicated to, dealing with various objects and information (memes, which are also objects to be bartered and spread) that cue our individual and mass behavior?
There is considerable mileage to be had by quantizing problem spaces into discrete object or symbol models. Its easier to compute and wrap-our-heads-around (e.g. devise grammars). Consider "influence", "reputation", "social capital" models... Memes too. However, it seems to me, that just because I invented this object-like construct, say the meme, and furthermore invented a protocol by which its movement through a model society takes place... still begs the magic of what that "meme means" and how it is translated into behavior by its recipients. Or more aptly to virtual world denizens: how that behavior is perceived. John's objects are tangible resources and thus less ambiguous.
It is on this last point - what the "meme means" - that I wonder about the Bio-Virtual-Seed (BVS) idea. While I don't think I fully grasp the nature of BVSs (love to see more!), it sounds like to me that it is a means of amplifying user-provided content, say story/narrative elements, within a virtual world. The question I have, however, is weasel's point: "will it be enough?" It is one thing to identify the objects and the protocol by which those objects are negotiated within the system (vw), but it is quite another thing to have them carry the exact meaning that was intended.
On Weasel's points, I like his framing of the problem in 2 stages, one "logistical", the other "dramatic":
1.) Get the right accumulation of objects (whatever they are) together (right time and place) to act out the scene. A kingdom for a stage, princes to act And monarchs to behold the swelling scene. (Making sure the saboteur is there).
2.) Get the objects to convey the right dramatic context to the user (The meaning of "group of four goblins in the forest").
I think this is hard stuff. As John wrote, we just got to keep trying and accept failures, before reaching a point where we understand the right balance of things.
Posted by: Nathan Combs | Jul 01, 2004 at 10:41
I think I see what you’re driving at there. In a dynamic world, much of what is going on between societies may be happening in a way that it is largely invisible to players. Hence the significance of seemingly incidental events such as the death of your goblin assassins can pass unnoticed to the players since they never appreciated the wider contexts and consequences. I wonder if that is really such a problem.
If the hypothetical goblin assassins were the result of an underlying drive in game for one society to act against another, that drive can remain so that further assassins are sent out. If the society is able to adjust its behaviour in response to past events, the next assassin party may be larger, stronger or sneakier. Sooner or later there will be a visible consequence which will add richness to the world in game. Even without a successful assassination attempt, the response adds to the richness of the game for the murderous dwarf whether or not he is aware of the behind-the-scenes plot. Allow the threatened society to respond in kind and the struggle between opposing structures helps provide a context for the dwarf’s everyday existence in the woods. What is sacrificed is the pre-planned narrative thread of a static world; what is gained is the richness and unpredictability of a dynamic world. My feeling is that richness is harder to bring into a game than narrative thread. Ideally we’d want players to live in a story but for that experience to be compelling it must be rich. We cannot and should not continue to rely on 'top down' storytelling to bring this richness - it must come from the players and the game itself.
If we look at the fiction which virtual worlds have grown out of, we see heros who are not fully understanding of the worlds they live in. That is the human(oid) condition. They may have some contextual understanding through their knowledge of the history and events in their worlds but it will be incomplete. As readers, we have the luxury of omniscience which allows us to travel in time and space and gives us knowledge of characters’ most closely guarded secrets. For our god-like status we must give up the ability to intervene - we are merely observers. Give players that knowledge and it will spoil the experience. If you know all the plot twists before you start, a story loses much of its interest.
At the next iteration, we might consider roleplaying in the D&D ‘pencil-and-paper’ type mould as an ancestor of virtual worlds. Here we see at least some freedom to influence events but still it is up to the Dungeonmaster to drive events and provide the narrative. Where the only dynamic elements are DM and players, someone has to create a narrative flow and in this case it is the interaction between DM and players which keeps the ball rolling. The burden falls mainly on DM because creating and sustaining a story is hard work.
Step forward and we are given the opportunity of virtual worlds where hundreds or thousands of players interact. Because story telling is hard work, we have tried to take the burden away from the DM (now a team). We have the ability to produce NPCs which are relatively autonomous and do not need a DM to drive them. Players interact between themselves in a far more sophisticated way than a DM could ever sustain and in so doing can bring richness and ‘reality’ to their world and take share of the creative burden. NPCs help fill in the gaps and provide the cannon-fodder that many players crave. The main DM role now seems to me structuring the virtual world at a high level and creating the environment in which NPCs and players can interact. Pre-defined quests are a hangover from storytelling and to my mind detract from the immersive reality of a virtual world. Saying “players like to compare like experiences” is not sufficient reason to retain them. Players like to live, hear and tell stories. What better story is there than your own unique experience which hints at a deeper context which you do not yet understand?
How might we re-introduce the narrative element in a way which does not interfere with an 'organic' plot? If important events pass unnoticed, how can we make players aware of them so that they appreciate the richness of their world and the hidden consequences of their actions? Perhaps we could dispense with backstory in favour of history. This is already done with some of the more traditional RPGs and has equivalents in online roleplaying games. Perhaps we could think about ways to generate a textual account of important events to reveal their significance and context by means of an evolving and growing game history. Perhaps a chapter a month written to account for the in-world events of three months ago (so as not to interfere with ongoing events). This would enable characters both to experience the game and to read the story and would provide a means of leading new players into the game. It would add to the cachet of heroic deeds by offering immortality in print and would reveal the significance of unexplained events and the deeper pulse of hidden plots hatched, staged and thwarted.
I think the role of DM is switching away from story teller and towards historian - we should embrace that and relax our control over events in the virtual world. We should avoid trying to steer events too much and use dynamic, evolving systems where we can. Real life is strange and unpredictable and virtual life should be too. That is what will make it compelling.
Posted by: Al | Jul 01, 2004 at 11:02
Al>Sooner or later there will be a visible consequence which will add richness to the world in game.
Indeed -- it will add richness to the world, but not necessarily the player's experience within it.
The fully dynamic world will always be consistent within its ruleset, richly adapting based on interactions. But for a player to connect the events into their dramatic context, they would need a higher scale POV.
As a world, several different groups of players happened upon steadily stronger groups of goblins moving through the woods. Now, the gnomish diplomat is found dead. At the world view, with the aid of history, these events are easily connected.
But players don't have a world-view POV, and they won't have the aid of history. Unless the same player happened across each of those steadily more powerful groups of goblins in the woods, they would be unable to connect the events into dramatic context. They may even correctly assume that the dead gnomish diplomat was assassinated. But they'd have no reason to connect it to the goblins in the forest.
Al>We cannot and should not continue to rely on 'top down' storytelling to bring this richness - it must come from the players and the game itself.
Indeed, this is where dynamic worlds boldly go. There is no other story that can be told in a dynamic world, than what the players provide. They are at once actor, viewer, and storyteller. The trick is to help make the story they tell interesting, by providing as much context as possible so they can turn their day of goblin hunting into a heroic act.
Al>Perhaps we could think about ways to generate a textual account of important events to reveal their significance and context by means of an evolving and growing game history
Exactly. If we can provide tools to help convey history and news, to give players the bigger picture, we can alleviate many of the problems that a lack of dramatic context creates. But now we're dealing with blocks of information, memes, synopses of interaction -- no longer just resources of steel and food. Another layer of tools is necessary to provide this.
Al>I think the role of DM is switching away from story teller and towards historian
Personally, I've come to think the role of 'DM' in a dynamic world is nonexistent. For the dynamic world to be properly dynamic, this history must be generated by the world. In managing it, developers and designers are relegated to being custodians of physics and animal instinct. Occassionally 'seeding' the world with interesting quirks for emerging societies, or kick-starting a stabilized system with a cataclysm of some type, might be the upper limit of our direct involvement.
But again, while we may wish to retain a perfect history for marketing or nostalgic purposes, news and histories should be written dynamically, by the societies in our game.
And so we are left with the the tricky hurdle: defining a grammar for 'news', mechanisms to transmit news, and logic to determine news fitness: what news is of local import, regional import, global import; who would be interested in hearing such news; when should they send news; how should they send news, etc.
Trivially we can say societies will order criers, messengers, and historians to write and deliver the news that players and NPCs report. But the hurdle is in defining information worth conveying, and the logic to deal with it. The same way John has boiled down physical 'things' into a clean conceptual model, so must we reduce information and communication to a concise model.
As an intermediary, we could be historians ourselves. But I think the quantity of information and rate of change will make that an untenable position with any sufficiently large or interesting world.
Posted by: weasel | Jul 01, 2004 at 13:35
Aside from There, what other VWs utilize player-driven quests as the primary quest system, which also helps drive the story? I know There doesn't utilize quests to drive an overarching story for gameplay, but they do have a huge freedom for user-created quests.
Could a VW get away with relying on its users for the majority of the quests? What I'm getting at here is a ladder for those individuals who want to establish quests for other players. For instance, I log into VW_X, and I begin going through my quest ladder. At some point within this ladder, I can decide to go down 1 of two paths:
1. Continue to progress my character in the game by completing more quests and achieving what I set out to achieve (kind of like Bartle's achievers)
2. I can go down a different path, where I can begin creating very small-scale quests for newbies. (I'd guess this would fall into Bartle's social group of players)
So once I have a certain amount of quest experience under my belt, I can receive a basic set of quest-dev tools (very basic here), and create very small quest-type events for single newbie players. Then as i get better with the quest development cycle, I can begin creating 2-3 people quests for other players with these tools. Maybe each of my quests is rated by the people that undertake them, and an internal 'player quest developer ladder' develops, indicating who are the players creating quests, and which players' quests are rated the highest amongst the player-base. At some point, once you have a core group of players who enjoy creating quests for other players, you might bring in a GM to form a small story-arc with these players, who then go back out, develop a larger quest around the arc, then allow players to move through the quest.
You'd still have the professionals at the studio conducting the huge quests and handling those internally, but you could utilize a small player base, who are willing and excited about the idea of building quests, to provide creative content to other players. This starts to get fuzzy b/c it is similar to the lawsuit filed against UO for its volunteer counselor problem. But I'd wager that there are *some* players out there that would like to climb a ladder similar to this one, and provide engaging, creative, and fun quests for their peers and noobs.
Posted by: Bart | Jul 01, 2004 at 13:55
Nathan > John's strategy, in part, seems to be to recast the "lingua franca" of a very large sim-society into an object-based resource "language". It is about crafting with the basis for interaction, reasoning, and transaction between sim-folk.
Yes, this is -the idea, but more importantly at this point I think it's necessary to cast the society as the important object, and the NPCs as the interface into the object. This is to address some of Raph's concerns about the CPU costs:
Raph > One reason is how expensive it can be run these simulations. Level of detail AI models may yet help on this front, as well as just being smarter about what to simulate. But it's dangerous to underestimate the levels of CPU and storage needed to get an adequate model.
The model I am working on at this point doesn't have smart NPCs with their own complex goals. I remember a couple of years ago when Richard posted the series on Skotos that he mentioned. At that point, I think I tried to implement that idea, but it was way too expensive, so I just left the code stub sitting there.
Instead, the NPCs are the public interface into the private implementation of the goals and needs of the society.
I will write this up in more gory detail this weekend, but I will give a simple example of the kinds of interactions I would expect.
A village of NPCs uses a certain amount of food each day to sustain the population, otherwise they get weak and eventually die. The local baker is used by the society to create bread, but when the baker tries to make bread, there isn't enough flour. So the players come by and talk to the baker, and he asks for flour. They find some and give it to him, and he rewards them. He doesn't immediately make bread, but the flour is instead abosrbed into the society's reserves. The next time he attempts to make bread, the flour should be there. And if it's not, then he has to keep asking for more flour. And, if he does bake bread, then those bread items are absorbed into the bread reserves of the society, ready to be used for food.
So the idea is that the NPCs are a thin frontend interface that the players interact with to get at the complex society underneath. The NPCs should be capable of carrying out a "current goal" or task, but they shouldn't each be making massive plans. I think this will cut down on the computation greatly, but I will explain it in more detail by next week I think. Another thing to consider is that these societies don't need to be thinking every second. This is a game that will last for 2 years, not the 20 minutes of an RTS, so the thinking and planning can be done more infrequently. (Maybe one of each of the 3600 societies plans during each second during an hour.)
In response to weasel, I don't know if this can generate things that are dramatic and heroic enough to make great narrative. I wouldn't mind playing in a world where unexpected bad things happened to me, as long as I could accept that those things happened as a natural consequence of the rules of the world. On the other hand, I'm not even sure that narrative a good term to apply to games because of how much baggage it has associated with it, mainly the implication that we should attempt to record patterns of symbols so that when others experience them, we will be able to predict what patterns they experience, and hopefully what kinds of meanings they will give to the patterns. I think it's more interesting to generate patterns and not worry about what kinds of meaning the people who experience them will think.
Al > If important events pass unnoticed, how can we make players aware of them so that they appreciate the richness of their world and the hidden consequences of their actions?
This is also a response to weasel's last post. I've tried to take care of the "news" by using something called rumors. If the societies are the big building blocks of the world, then the important news happens when they do something. It's possible to make a system that records these events on the societies involved, then have the events diffuse in the society hierarchies, and maybe percentage chances that a certain society knows a rumor, and decay rates for the importance of other rumors. So, some things like a fire spread locally, and decay away quickly, but a war spreads globally. Again, it would take a while to write it all out, so I'll have to put that off.
Posted by: John Arras | Jul 01, 2004 at 14:25
John>Instead, the NPCs are the public interface into the private implementation of the goals and needs of the society.
I had a similar prototype for what I called hierarchical AI. The technical goal was similar - to reduce AI strain through abstraction of higher-level 'thinking'. I created an open-ended AI hierarchy though, rather than a single tier society. Mostly because another of my goals was for a 'band' of goblins to be able to function as a group without having to put too much intelligence in each goblin. So each 'layer' has the ability to defer up the ladder.
The other thing I did to alleviate resource strain is to move the higher-level AI processing to a dedicated 'mob box' on the network. The 'planning'-level AIs then send commands and receive events across the network much like any player. This works well enough (at least at my admittedly limited scale) that I am considering moving individual 'peon' AI over to the mob box as well, so I can add better pathfinding, collision detection, etc. -- but that's neither here nor there.
John>On the other hand, I'm not even sure that narrative a good term to apply to games because of how much baggage it has associated with it
I only use the narrative to describe the sequence of events as the player experiences them through play. We, by designing games don't (or shouldn't) write a narrative. But the player certainly is, in his mind as he interacts with our games. My concern is that if we don't consider the POV of the player as he experiences the world, we may wind up with a wonderfully rich world that's just as inadequate as a static one, in fulfilling the heroic journey.
Granted, if that's not a design consideration for a particular project, then this isn't a problem. But that's where I, personally, am at.
John>I've tried to take care of the "news" by using something called rumors.
I had a semi-dynamic quest generation system that worked off a similar concept, also heavily inspired by Richard's Skotos column. The problem I had/have with it (in the fully dynamic world context) is that it leverages the fact that most of the world is static. That is, the rumors and quests are hand-crafted, the factions are constant, certain geographical locations are home to certain creatures, etc.
With the static world, reactions to 'rumors' weren't an issue outside the scope of the quest, and the faction standing of the Hero. Furthermore, the chance of a particular faction knowing a rumor was set down by the designer, knowing full well that it only represented the chance of a particular faction NPC repeating that news to an inquisitive player.
We didn't have to worry about whether the other faction could act on the knowledge; as would be necessary in a fully dynamic world.
It works (mechanically) well enough in its given environment, but the core assumptions make it unsuitable for application in a fully dynamic world.
So I'm just wondering aloud about the problem
of how to best identify and store 'news', and the sorts of algorithms best suited to working upon it, in the hopes that someone else might offer insight, inspiration, or their own personal experiences.
How best do we encapsulate 'Forest fire at X', 'Famine at Y' and 'Skirmish between A and B at Z'? Do we simply enumerate the full set of newsworthy events, or is there a more refined object model? Can we reduce 'Forest fire' and 'Skirmish' to some common 'threat' object to use in the weighting of 'importance' and 'lifespan' of the news?
Do we weight the 'chance to know rumor' based on some heuristic of the level of communication between two societies? (even those societies who don't like each other may share so much blood relation that communication isn't measurably hampered) What problems might we run into if we constrain information flow too narrowly, or too broadly? (Does absolute freedom of information lead the world very quickly toward absolute stability?)
Is there something in the other fields of information study, or in the ivory tower research, that might help?
Posted by: weasel | Jul 01, 2004 at 16:09
Here's a slightly different way to view the problem you're trying to tackle. It might reveal some solutions... (or it might cause new problems)
Out-of-context example:
Companies used to hire real people to answer phone calls. About 20 years ago they started replacing the real people with computers because a real operator costs $15-$20 per hour (burdened cost), and a computer "operator" is more like $1 per hour.
Companies started by having computers ask which department the phone call should be forwarded to. ("To talk to sales, press 1. To talk to marketing, press 2. To press 3, press 4.") One the phone call was forwarded, a real person answered it. This saved some real-person time (and money).
Next, call centers used the computer for simple numerical transactions (such as bank transfers), saving more real-person time. ("Please enter your credit card number, followed by a hash.")
Right now, researchers are trying to incorporate speech recognition and some clever NLP to process queries, saving more real-person time.
The idea is to gradually (over the course of decades) have more and more of a customer's transaction handled by a machine, and at the same time, not annoy the customer so much that they take their business elsewhere.
Virtual-world related example:
Start with face-to-face role playing games from the 1970's...
If you were to write a computer program that made the game master's job easier, it would: roll dice, do combat calculations, and other math or reference intensive stuff.
Next, you'd have the computer program control the dumb monsters, since their attack-until-dead AI is very simple.
Then what? You'd get the computer to take over more of the GM's tasks, the more brain-dead ones first.
Instead of trying to solve the problem all in one go, look at it as a gradual cost-savings process...
A face-to-face GM can provide 6-10 players with a good night of entertainment. That's about $2/hr/player. Thinking of current virtual world technology as a fancy form of lead miniatures and graph paper, what tools can be implimented so a real-life GM can provide 20 players with a good night of entertainment? 40? 100? 500? 1000?
For example:
- Allow a GM to posess a NPC/mobile.
- Allow a GM to lead a group of NPC/mobiles, like a RTS player leads an army.
- Allow a GM to place ideas into a NPC/mobile's AI, so the NPC suddenly decides it want to befriend a PC, or make the PCs life difficult.
- Make it very easy for a GM to see what a group of PCs are doing, and watch their history. This allows the GM to provide better service. (Just like telephone operators can see your details and history when you call them.)
Once you have this mostly working, see how much you can pawn off onto AI without annoying the players. For example: Instead of having the GM role-play faceless villagers, let a chatterbot do it. The GM still role-plays important NPCs.
Repeat.
This approach is probably distateful to most computer people (including me). After all, if you own a hammer, all the world's problems look like nails. If you're a computer scientist, it's very tempting to solve all the world's problems with clever algorithms.
Posted by: Mike Rozak | Jul 02, 2004 at 01:44
Bart>Aside from There, what other VWs utilize player-driven quests as the primary quest system, which also helps drive the story? I know There doesn't utilize quests to drive an overarching story for gameplay, but they do have a huge freedom for user-created quests.
I guess I don't understand the question. If players can trade anything, they can create quests with rewards simply by offering X for Y.
--matt
Posted by: Matt Mihaly | Jul 02, 2004 at 02:38
I am not sure if dynamic is automatically better or more playable than static. One could easily claim that the random quests given out by mission terminals in AO and SWG are more dynamic than the static quests from NPC's in games like EQ and FFXI. But players enjoy the static quests a lot more, especially in FFXI, where they are supported by cut scenes.
Deep in his heart the player is well aware that the static quest is scripted, and doesn't affect the world at all. But as long as the script is good, he can uphold the suspension of disbelief.
With the mission terminal the player knows that the quest is dynamically created just for him, but he doesn't perceive that as being so special. The fact that he can hit the refresh button and get another quest, and another one, and another one, until he finds one where the challenge and the reward are to his liking, makes the dynamic quests totally fungible, and worthless from a narrative point of view.
Books are static, a IRC chat log highly dynamic, but which of the two makes the better read?
Posted by: Tobold | Jul 02, 2004 at 05:47
weasel > So I'm just wondering aloud about the problem
of how to best identify and store 'news', and the sorts of algorithms best suited to working upon it, in the hopes that someone else might offer insight, inspiration, or their own personal experiences.
I can see we share a lot of the same approaches to this problem, and for news, I had specific events that societies can undertake (raiding, patrolling, settling new cities) that generated a rumor. Only the societies involved in the event knew about it first, but then it spread across the societies when MOBs came in contact with each other. I don't think it's going to be the approach I will use in the future. With hierarchies of societies, I think it's just easier to have rumors spread up and down from their starting societies, with chances of spread every N minutes rl. I would make the spread upwards slower than the spread downwards, and within a given society the percentage chance that a person knows the rumor should increase over time. Rumors should also have a base "importance" that decays as they spread from one society to another, and stop spreading noce their importance has decayed enough. Lastly, the rumor should eventually decay after a time.
Posted by: John Arras | Jul 02, 2004 at 08:13
Tobold> Books are static, a IRC chat log highly dynamic, but which of the two makes the better read?
That’s a rhetorical question. It can’t be answered without further information and is in any case loaded towards books (which are designed to be read) and away from IRC (which is an interactive medium). An IRC log is ‘dead’ IRC. In any case emails and logs are creeping into printed fiction.
The static/dynamic distinction is bothering me a little. What do we mean by it? Is an IRC log static because it is no longer changeable or dynamic because it was created ‘on the fly’? Is it perhaps neither and just a record of the dynamic IRC system as it existed in time? Is injecting randomness into quest generation the same as designing a system which generates quests on a non-random basis by responding to the state of the changing game world? I see the output of a dynamic system as being relatively stable in the short term and varying in the longer term as the context develops. As the inputs vary, so do the outputs and there will likely be some sort of feedback loop since the outcomes of quests need themselves to be incorporated into the quest generation system.
I could be restating others here (or I could be talking nonsense), however...
I frame the problem in terms of two main elements: game information generation and mechanisms for transmitting that information. By game information I mean the objects and events of the VW including the behaviours of NPCs and PCs. In printed literature everything is generated and transmitted solely by the author and the reader is the passive recipient. In VWs there is scope to devolve these aspects to code and players and so the GM/DM role is less focussed on this aspect. This moves the DM’s role away from storytelling and direct quest creation.
My thoughts in the previous post were probably mis-expressed. What I was mostly trying to drive at is a suggestion to code a means of extracting invisible game information into a log which can be reviewed and used to generate a static textual account of the dynamic VW. This strikes me as a nice feature as it provides a second stream to the VW experience. I’m thinking here of the transmission of game information out of game rather than in game. A bit like a very sophisticated ladder system I guess. Imagine a professionally produced, widely available history of events in a truly dynamic Star Wars VW and then tell me it wouldn’t be read. The difficulty is that in providing history in place of backstory, you risk telling too much. Thus there would have to be a delay between events and the history of those events in order not to have players playing out of role by acting on information that should not be available to them. Transmission of information in-game presents a different and more interesting problem.
There was a call for input from outside computer science. Despite the conscious importation of “we” in my last post I’m a lawyer not a coder. Before that my background (and my heart) is in biology and psychology. When talking about the movement of information, people have touched on the concept of memes and I’m thinking disease might be a useful thing to talk about at this point. I’m sure no-one here needs reminding a virus is simply information propagating. The spread of rumour from player to player isn’t too much of an issue and I think should look after itself (it should also have the added benefit of encouraging social networking and creating real ‘wise man’ and ‘spy’ niches). Information transfer where NPCs are involved is more problematic. I’m all for disease in VWs but I understand that players don’t like real-world problems like illness to invade their fantasy worlds. I think it has been tried a few times though? Perhaps the ‘rumour’ model can draw on models of infectious disease for the spread of information in-game. Some rumours may be passed from carrier to recipient very easily as part of normal gossip and overheard conversation (think winter colds). Some may be more secret and less likely to be transmitted, requiring a little interaction between carrier and recipient (think STDs). The question is how to model this and create a mechanism to transfer information from NPC to PC. From PC to NPC will presumably be both more and less of a problem since most information will be ‘hidden’ (flowing from NPC to NPC) before it is ‘visible’ (known to PCs) although some rumours (e.g. a bounty announced by a PC) will originate on the ‘visible’ side but should also be able to propagate via NPCs. As for disease, rumours should have a finite lifespan (the analogy being that some infections will be fought off before they can be passed on) and NPCs should be more resistant to old news (the analogy being that their immune systems have adjusted). Thought will have to be given as to how rumours may be ‘crafted’ by a PC - perhaps making this skill-based could help open up politics as an area of gameplay.
To say that the role of GM is becoming that of a historian was an overstatement. However I do think that the storytelling role is fast disappearing (and rightly so). Structuring the world so that players’ actions to have real effects is I think the best aiming point for designers. It seems the best way to create a VW of depth and complexity which requires minimum intervention from the GM. The GM should set and manage the stage and clear up any problems which emerge but most of the narrative should emerge from the interactions between players within and with the game. Otherwise there is just too much housework. Stirring a stagnated VW is to my mind best achieved by influencing the dynamic world in-game in the guise of a GM-created character (think Roman gods here). I can imagine powergamers finding future careers in-game in such a role (providing direction to VW and on the payroll). At the end of the day though, a VW should only start out according to a design and then become what the players make it into.
Posted by: Al | Jul 02, 2004 at 08:53
> Al: I frame the problem in terms of two main elements: game information generation and mechanisms for transmitting that information.
Let me see if I understand this in game terms. Currently people use out-of-game resources like Allakhazam.com to find out which static mob drops which static item. No lets imagine a game in which there are no static mobs with static items. Instead the game generates a rumor "the orc wearing the red bandana in Crushbone has been seen stealing a magical dagger". The rumor propagates from NPC to NPC. Players interacting with the NPCs can hear that rumor. If they then go to Crushbone and slay the orc with the red bandana, they gain the magical dagger. And the orc is gone, not to reappear again with another dagger, so the player has changed the world. But there is a new rumor, about a goblin with a magic ring ...
How would the rumor propagate? It would probably be seeded with just 1 NPC, maybe the one closest to the orc with the red bandana. Would the NPC move and "chat" with other NPC, transmitting the information? Or would the NPC be static, the transmission be simulated, and the rumor just spread in concentric circles? Would the players that hear the rumor but don't act upon it transmit it to the next NPC they speak with?
The most problematic part is probably what happens to the rumor once the orc is killed? It would be realistic for the rumor to continue propagating, but that might discourage players from following up rumors, if most of them are outdated.
Will the orc with the red bandana only appear to players having heard the rumor? Again realism would dictate that the orc would be there for everybody, but if you could get the magical dagger by simply killing all orcs, why bother asking for rumors?
Would only players with an appropriate level hear the rumor? What about players that can't wield daggers? Lots of questions, I know. I guess such a system is simple enough to code with existing AI, but the main problems would be playability. It would only be worth it to code AI if the result was somehow better than the current static quests.
Posted by: Tobold | Jul 02, 2004 at 09:52
Tobold>I am not sure if dynamic is automatically better or more playable than static.
I'm certain that dynamic is not automatically better or more playable than static. In fact, as I meant to point out with my event-based/character-based analogy -- it's outright easier to create an acceptable experience with static design. Making the world dynamic is much more difficult, and the payoff is uncertain.
And even if we are capable of delivering a fulfilling dynamic experience, there is certainly still going to be a much larger market for a static one. A dynamic world implies the probability for inconvenience, and leaves alot of the onus for 'fun' in the hands of the players inventing goals for themselves. Many gamers have no such interests, and the interests they do have are more naturally, and easily met with a static design.
SWG mission terminals, to split a hair for a moment, are more appropriately described as generating random quests -- but they are still static. The parameters of the particular mission are randomly selected from a list, the target dynamically generated, but the context of the mission is still entirely independent of the current world state. When you say 'yes, I'll kill those monsters', the game world will create those monsters for you, without respect to the world state, and your success or failure will likewise have no effect on the world state.
A properly dynamic world will have quests that exist only in response to the world state. And every action would impact it. This type of world is more akin to betaUO, when the ecology and resource systems were still in place. (though the resource system is still there to some extent, it's been so removed from its original state as to be a different beast entirely)
As for randomly generated static quests, I believe they can be fairly well fulfilling. SOE simply chose to implement the trivial system in SWG, as mission terminal seems to have been intended as more gimmicky than the MO for adventuring.
Here, I laid out some examples of quest types my random-quest prototype can handle within a static world. Now, so long as access to these randomly generated quests is maintained in context (E.g. you can't just ask for a 'different' job from the same NPC over and over until you get what you like), I contend that this system can create quests that are fairly well fulfilling. Particularly as this system maintains character-implications for how and which quests are done (via faction changes), even though it can't leverage world-implications.
Al>What I was mostly trying to drive at is a suggestion to code a means of extracting invisible game information into a log which can be reviewed and used to generate a static textual account of the dynamic VW
This could be quite interesting, but it may 'read' a bit dull (merely a log of events and dates). I'm sure players would be highly receptive of it, particularly since historical knowledge would be a valued asset. After all, if you know where the goblins last tangled with a merchant train, you have a better idea of where to find them when you feel like a bit of adventure. Still, such information should also be available in-game: through libraries, sages and criers.
Al>When talking about the movement of information, people have touched on the concept of memes and I’m thinking disease might be a useful thing to talk about at this point.
Now this is interesting. My hesitation with straightforward probabilities for information propagation, is that there should be contextual 'resistance' to information based on distance, race, built-up tolerance, etc. Elves used to dealing with raiding goblins probably wouldn't bother sharing 'yet-another-goblin-raid' news with their human neighbors, nor would they think 'yet-another-goblin-raid' in the human lands is particularly noteworthy. The gnomes living on the other side of the human settlement however, may indeed be distressed by that same information.
In the end I suppose it boils down to nearly the same thing, but the structure of the 'rumor' object itself (imo) would be better served with the modifiers implicit in using a 'disease' model, than a straightforward universal importance, decay, etc status.
Al>Stirring a stagnated VW is to my mind best achieved by influencing the dynamic world in-game in the guise of a GM-created character (think Roman gods here).
I think there's a great potential for a greek/roman mythos-styled game with player heroes and deities clashing. But I think it would be so compelling and important as to overshadow the more mundane operation of the world, and would require that the entire design take such a system into account from the beginning.
Posted by: weasel | Jul 02, 2004 at 10:28
Expanding on my previous post and in response to Tobold. Please excuse the length of this - I would post a link with content elsewhere if I could. As per my previous disclaimer, I’m not a coder - if this is hugely unpractical (as it probably is) please chuckle generously at my naiveity.
I imagine something like this….
What I understand by a rumour
“A rumour” is shorthand for a collection of related data which may be about objects, locations, time, actions, amounts, purposes and so on, and the way in which these values are related. This will eventually be quite an extensive list of possible types of data but I expect some interesting experiments could be done with just a few different types. I am not imagining rumours to be complete sets of these data types (quite the opposite in fact) but they should be complex enough to have basic meaning. I imagine them as being logical data that can be used to create spoken statements which are spoken by PCs and NPCs in-world. I imagine the way in which such statements are generated from the source data to build in a degree of variation so that a rumour heard several times is expressed in a number of similar ways. So far as transmission is concerned, I imagine very rare omissions or mutations in rumour data to cause a gradual degrading of the quality of information and the occasional piece of false rumour. False (as in mutated) rumours should be rare though as there will also be redundant rumour floating around, as has already been observed by posters above. Different rumours may have variable virulence depending on e.g. host species, status of carrier, language barriers, ‘newness’ of the information. All rumours gradually decay in a carrier so that after a time they are forgotten. Also, we don’t want to get swamped by NPC gossip so lets say that ten concurrent infections is the maximum. That way there’s an upper limit to the amount of rumour flying around. A rumour should also contain information as to the identity of the PC/NPC who infected the carrier.
For NPCs
Becoming infected by a rumour results in a Tourettes-like condition whereby the infection causes them to spontaneously speak the information to other NPCs and PCs when they are in proximity. This should be influenced by factors such as location (e.g. marketplace, bar), relationships between them (e.g. faction, language), current topic of conversation (keywords or phrases) etc. On speaking a rumour, there is also a chance that the rumour infection will be passed on to NPCs/PCs within earshot so that they too become carriers. Some rumours may influence the behaviours of NPCs.
For PCs
This is where it could get both fun and hard. PCs acquire rumour through talking to NPCs or PCs or by overhearing conversations. They can fish for rumours by turning the conversation to subjects of interest. They can become infected with a rumour but would have no way of knowing that they are carriers and no way of knowing how resilient the infection is. They can pass on infections to other PCs and NPCs. Under most circumstances, PC carriers wouldn’t get ‘NPC Tourettes’ – it would be too annoying otherwise. However sometimes (e.g. intoxication, tiredness, coercion) they might blab unintentionally. While the rumour is fresh in their mind they will have to be careful not to get into situations where they could spill the beans. They might also find that an unintentional drunken comment about orcs is bad news when you’re drinking in Mordor. They have no way of knowing exactly what the risk of making such a comment is if three weeks ago they were drinking with rowdy Hobbits in the Shire.
How rumours might start
I imagine simple rumours (“dead gnome in the woods”) to start by an event leaving rumour data at a certain location for a certain period of time. This information may decay gradually so that “Goblins killed gnome ambassador in the woods” persists a very short time, followed by “gnome ambassador dead in the woods”, then "gnome dead in the woods" and finally “something dead in the woods”. More sophisticated rumours could be deliberately crafted by PCs to influence the behaviour of infected NPCs. A politician could for instance use a ‘spread rumour’ skill to create a virulent rumour which is available to him as a sort of single use spell. Using it on a receptive crowd would then seed the rumour. The risk of such behaviour is that all first-stage carriers carry information as to the source of the rumour, which may be revealed if for instance a rival politician sends round the goons to “interview” the locals.
In-world example
The gnome ambassador snubs Jeff the Goblin at the Faery Banquet. Jeff uses his skill as a politician to create a rumour that he wouldn’t be upset if the gnome ambassador had an unfortunate accident. “Who will rid me of this troublesome gnome?” It’s a goblin-only rumour at the moment and it is passed around between them. Pretty soon a couple of them decide to take their daggers for a walk in the woods. Meanwhile a bunch of their mates go into town on market day and pass by the local yerg house. They chew a few leaves and get giggly. The owner is human but speaks goblin, he overhears the rumour and the language barrier is crossed. He passes the rumour on in the local bar later that night and one of the drinkers stops off for a pie on the way home and passes it on to the pieman. Tobold the dwarf arrives in town late having had a scrap in the woods. He stops off for a pie and the chatty pieman (it gets lonely late at night when you’re a pieman) mentions the rumour. It sounds juicy so Tobold asks where the pieman heard it. If he wants he can look round town for a drunk local and see if he can find out more. Or he can get hold of a PC who speaks goblin and find a goblin to beat more information out of (by now many of them will have heard and a few might still carrying the gnome-snub rumour from the week before). In any case, Tobold will probably hear a few more bits of information over the course of the next few days and will probably join the dots.
Afterthoughts
Seems like few nice things might happen with rumours:
False rumours could occur occasionally and may result in unintended NPC action (I think this is a good effect) but these will be balanced against more widespread true rumours. In the vast majority of cases, checking up on rumours should clear muddied waters for PCs. Old rumours should gradually die.
Certain areas (e.g. the bar) can be centres for NPC gossip. NPCs can be drawn to them and more likely to exchange rumour in them. This will tend to attract PCs to them. If spending time in the bar increases a PC’s chance of unintentional blabbing, there is a tradeoff for e.g. spies hanging out in these areas – how long do you risk staying until you yourself are drunk and say something you ought not to?
Rumours can be linked to skills and attributes to give an interesting facet to play through spies, politicians, priests, wise old men and the like, who can all have specific abilities in creating, gathering or retaining rumours.
That's it. Sorry again for the length. I'll step well back and give others room to post now!
Posted by: Al | Jul 02, 2004 at 15:14
In response to Mike Rozaks' ideas about using GM's as NPCs, I believe highlevel GM intervention is necessary to create "dramatic" changes in the world that a simulation can't handle. However, I do want to handle most of the mundane dynamics with automated systems. And, the approach that you're suggesting may be a bit like how I've approached the problem. The original idea was to give builders a way to randomly place monsters within a region so builders didn't have to hand place them. And, all of the systems that are used to generate and run the dynamic world have builder interfaces so builders could make new data and insert it into the world at runtime. It just grew from that as I figured out ways to automate pieces that were formerly done by hand. And my attitude is that anything that can't be automated should still be done by hand, but only until we can figure out how to automate it. I don't like ideas by themselves. I like code. Ideas are easy to come up with, and IMO too much time gets spent "Sitting around theorizing how to architect generalized abstract meta -frameworks for doing something", and not enough time actually "doing something". This is why I try not to get too far ahead of my code when I'm working on ideas. I think we may have come common ground in this where I try to build up implementations and extend them step by step.
Mike Rozak > This approach is probably distateful to most computer people (including me). After all, if you own a hammer, all the world's problems look like nails. If you're a computer scientist, it's very tempting to solve all the world's problems with clever algorithms.
Yeah, ok I do find it distasteful. :) Well, at least uninteresting. I think it's attempting to patch over the problem, rather than trying to solve the problem.
Posted by: John Arras | Jul 02, 2004 at 17:01
From John Arras: "Yeah, ok I do find it distasteful. :) Well, at least uninteresting. I think it's attempting to patch over the problem, rather than trying to solve the problem."
I think we're mostly in agremeent. It is a way to patch over the problem...
However, I also view it as a way to learn how to solve the problem. Trying to write the AI to run an interesting world all at once is very daunting, and not likely to be successful.
Writing some simple AI (such as controlling dumb mobiles) and providing tools for a human GM to "lead" the mobiles allows the human to figure out what tasks the mobile-leader needs to handle. This intelligence can be added to the AI.
Over time, the team can write more and more AI, gradually taking the tasks off the real people. Ultimately (50 years from now), the real people are making large decision about the flow of events in the world, instead of micromanaging NPCs.
Posted by: Mike Rozak | Jul 02, 2004 at 19:19
I haven't read up on the whole topic, so I'll just comment on dynamic world, NPC, and AI.
I agree with John and Mike's approach. We can also look at it from the perspective of layering (sorry if you have made this point already) AI agency resulting in more complex dynamic systems.
As for news propogation, what are your thoughts on the rates of newsy events, propogation, systemic neutralization of newsy events (example MOBs killing MOBs), and consumption?
Based on Mark Brockington's article on NWN's reputation system, thing happen all over the world that are hard to debug.
Frank
Posted by: magicback | Jul 02, 2004 at 21:27