#29: The Dynamic Dilemma, Part Three

April 12, 2001 -The Story Thus Far: Achievement-type games face a dilemma. Players use up the resources that the StoryBuilders create by killing monsters, looting dungeons, and removing all the drinks from the bar. StoryBuilders need to figure out how to replenish these resources without going insane. Part One of this series discussed these overall issues.

One traditional solution to this problem of dynamism has been to constantly recreate the same or similar objects. This has typically involved the dreaded "reset", but also could be implemented by increasingly sophisticated systems... ultimately resulting in complete simulations. Part Two of this series discussed the strengths and weaknesses of object recreation.

There's another route: you can create new and different objects as players use up the old ones. Having StoryBuilders do so by hand is crazy, but there are other possibilities. Part Three of this series, which is what you're reading right now, offers some suggestions on this method.

As you'll see both of the methods I suggest here take out the necessity for StoryBuilder interactivity. They instead depend on characters to take active roles in the creation of new things. Because of this limitation this isn't a complete solution... but it's a great start and a wonderful adjunct for a system primarily based on object recreation.

Letting Players Pull the Trigger

So if you don't want a StoryBuilder to build a new room every time those darned players clear out the old one, what do you do? My first suggestion is to create an automated system for new object creation that's ultimately triggered by players. This whole system has some similarities with the quasi-random resets I mentioned last week (reset by event) and some similarities with simulations. However I think it has some unique features as well.

The basic idea is this: you give players the ability to create things in the game. What gets created, thus, is totally within the hands of players; the activities that they take in the game directly produce results that they see as new objects.

At the simplest level this could be a crafting system. Players can create swords, armor, food, whatever. Suddenly you have an inflow of objects into the system and so you don't have to worry about resetting old objects that get destroyed.

I can imagine a similar system for repopulating monsters. If there are players who are villains they could have direct ways to create monsters. They might whip them up in their vats or release them from underground lairs or engage in negotiations with monster leaders which ultimately result in more critters being created.

We're considering developing a semi-automated player-triggered system like this for creating new rooms in The Bane. (Let me carefully underline the word considering. Our design for The Bane isn't sufficiently developed yet for me to make any promises... or rather it's not sufficiently developed for me to make any promises and not suffer the wrath of The Bane's lead game developer.)

Anyway, I don't want to spoil any of The Bane's background, but let me say that due to part of the backstory there will be ways that players can cause new "rooms" (really, outdoor areas) to be created. When a new room gets created it will be mutable  at first. The room will be relatively barren land, the exact type of which is influenced by nearby land types and by the patron deities of the players who helped to create the room.

In order for the new room to actually become a viable part of the local ecosystem certain rituals must be done over the land. Seeds must be planted, songs sung, that type of thing. As a result of this the previously barren land is filled with trees, plants, and wildlife. Certain critters might be set to appear in the room; certain events might regularly occur.

And this is where my idea of a semi-automated player-triggered object creation really differs from the good 'ole object reset. By allowing objects to contain a number of different properties, and by allowing those properties to get set based on player action, you suddenly are creating objects that are arguably new, not just copies of the same things.

In my room creation example there might be a total of 7 different land types, each of which can have three different descriptions based on the patron deities of the players involved in the land creation. There might be 20 different wildlife types and 20 different plant types, leading to a total of over 8000 distinct combinations; we tie some of those possibilities to different object and critter creations and those numbers multiply even more. With 10,000+ total different rooms that can be created it suddenly does appear that we're creating new and unique objects.

Players in Marrach will realize that this is very similar to the new alteration system we've introduced into Marrach, where players can take garments and set colors, fits, etc. Again it's a case of allowing players to create mostly new objects by taking actions.

So, really "new object creation"? Kind of. And probably the best you can do without really having StoryBuilders make totally new objects. And, there are ways to expand it...

Expanding the Player Possibilities

One way to expand a semi-automated system of new object creation is to allow more player input into it. Basically, you let players contribute totally unique information to an object that's being created.

The safest way to do this is to grab information from the environment and use that information when creating the object. The player chooses the environment, and thus helps to contribute to unique information. Some examples:

A player erects a signpost on a road. As he does he gets to decide things such as what the signpost is made of and where it points. The player may also contribute the names of certain nearby locales, which are verified by checking the environment and appear on the signpost.

A player creates a book for a specific player and is able to emboss that player's name on the cover.

A large amount of information is probably available in the game environment, but it's still a finite amount. If you really want to introduce an infinite amount of information you must allow players to enter arbitrary text.

For example, a player creates a new shop in town, using the semi-automated system to determine the type of shop (he chooses restaurant), the quality of the shop (mediocre because he doesn't have much money), and the furnishings (he chooses large, central tables). The shop is already pretty unique because he's produced 1 of the 10,000 shops possible (or whatever). But, the player also has another option: he gets to choose the name of the shop, which he writes on the hanging sign out front (after careful thought, he chisels "The Spare Rib"). His shop is now utterly unique... or at least as unique as a shop named "The Spare Rib" would be in real life.

Technically you could expand this out to the extreme and just let a player totally describe an environment that he creates  his house, his castle, his shop, whatever. This is a pretty dangerous route, however, because you chance totally destroying the integrity and coherence of your game world.

My suggestion is to limit player entry of new text  to a sign, a label, or something similar. You'll even want to limit how much people can write. There's some opportunity for the same problems, but you've minimized them, and you get a big win in new object uniqueness.

As a side note, let me say that you don't even have to restrict these techniques, which I call "player tagging", to newly created objects. You might give players the opportunity to tag existing objects. Thus objects which were once totally standard become unique. Citizens of a town might be able to rename the town hall or choose what to plant in an empty field.

With StoryBuilding on Top

Thus far I've described a system where new objects are created in a semi-automated way, with player input making those object fairly unique. Player tagging of textual phrases can make those objects entirely unique. There's one more level: you can have StoryBuilders hand modify objects that have been automatically created.

A StoryBuilder can look at which newly created objects (be they rooms, monsters, items, whatever) are the most popular. He can then hand modify them based upon how they're actually being used.

The big wins are: the StoryBuilder doesn't have to initially create the object and he only works on the objects that are very popular. Thus automatically created objects become true parts of the ongoing storylines.

A Solution to the Problem?

I think the system I've described here has a lot of potential for introducing new objects into Achievement-type games. In addition it ensures that they're quite unique. We've already used it to good effect in the Alteration system for Marrach and I expect it'll allow for the new creation of interesting new rooms for The Bane, provided we're able to introduce that system there.

The question is, however, does it totally fix the dynamism problem?

I'm not convinced it does, but I think it can expand a lot of systems in an online game. By combining it with object recreation mechanics, you can insure a lot of creativity.

Here's a quick rundown of my thoughts on how new object creation works for different item types:

Rooms. There's very good possibility for creating new rooms with this system. Players can make unique castles, shops, and houses. Depending on the complexity of the system you can also allow for the creation of new wilderness/dangerous/quest areas depending on players actions, as I described in my notes on The Bane.

Items. Again, object creation works well. You can allow players to build lots of new and unique items. This can help balance out an economy. You probably link this into a full crafting system, possibly working on top of a simulation, so that you can make these items from raw materials.

Monsters. Critters, of course, are one of the most important things to reset and, conversely, they're one of the places where it's hardest to get players to contribute to the object creation. My only real thought here is the one that I described above, where you have villainous players contributing to that creation. More likely in a good system you'll have an ecology system churning out monsters, and in turn players will be having important effects on that ecology.

Treasures. Finally, we get to treasures. Some of the need for these will be relieved by numerous new, player items being introduced into the economy. Again, you can have villainous players making the difference  technically you could even have some heroes effecting what treasures monsters have by allowing players to bribe monsters or the like.

So, not a slam dunk, but I think the ideas I've described here for new object creation are an excellent adjunct to the concepts I described next week, for making object recreation more interesting.

What Does This Mean for You?

So, you're a Skotos StoryBuilder and you're now trying to figure out what the whole issue of object dynamism really means to you. Our engineers at Skotos are going to be the ones creating the fundamental reset or simulation systems, and so you won't have a lot of ability to make changes at the system level. But, you should think about the entire issue.

Here's a few lessons to be learned from last week's article on object recreation.

You should be aware of the dynamism issue, so you'll know what might makes your players happy or unhappy.

You should know why you might want to take advantage of any random elements possible in resetting  or any more complex simulations you can provide.

And here's some stuff to be aware of from this week's article on new object creation:

Using BILBO, our in-game programming language, you can create systems that react to player actions, possibly creating new objects. Be aware of this and consider how you can take advantage of it.

You'll always have the ability to hand-modify objects that have been automatically created, so keep track of what players are doing and figure out how modifications to automatically-created objects can increase players' enjoyment of the game.

That's it for this week. I hope you've enjoyed this investigation into one of the many big issues affecting online game designers. My goal next week is to write something self-contained. In the meantime, I'd love to see more comments on this topic.