Page 1 of 1

Distributed persistent online game worlds

Posted: Tue Mar 29, 2005 5:54 pm
by Jonathan
I had an idea for maintaining a persistent online game world using a "worse is better" approach. Distribute the server program with the client and let people register their personal dedicated servers with a central tracker (or you could design a P2P discovery mechanism because the number of servers is low, probably ~1k). Each server admin is responsible for cracking down on cheats and hacks. If they choose to run a server that is full of dupes and twinks, so be it. However, the currency of each server is distinct from all the others, so there are a thousand different currencies. The exchange rates are determined by the market of players buying and selling goods. The currency of a reliable server with a reputation for honest dealing, good uptime, and decent players will be valued higher than that of a server some chump keeps in his basement on a modem, churning out copies of a rare artifact armor.

If you restrict the transfers between servers to currency and players, then that is it, that is my idea in its entirety. If you want to allow the exchange of goods, you need some way to throttle the flow. My best idea is import tariffs, payable only in the currency of the destination server. Each server admin sets his own tariff rates.

The fundamental point is that people will cheat and there is nothing you can do to stop them. The most you can hope for is to segregate the cheaters from the non-cheaters.

Posted: Tue Mar 29, 2005 9:44 pm
by George
Yeah, that's a pretty good idea. However, I'd let the server admins decide about import restrictions. That way, admins that are really serious can run a series of several servers and allow people to migrate freely between them (with all their equipment). However, they can reject imports from servers outside their control, unless they trust the judgement of the other admin. I'd avoid trying to tax transfers; if you don't trust the balance of someone's server, don't allow imports from it at all.

Now that I think about it, it might be cool to manifest the importing in-game with portals. Want to move your character from server X to Y? You just go to the nearest "Portal to Y" and step in. Or, if not portals, whole boundaries. If you go west from server X, you end up on server Y. This kind of thing would allow a single "world" to be constructed in pieces by several different administrators. It might be complicated to manage a guild conflict that spans multiple servers, but if you make the guild system less formal, it should still work.

Distributed serving also allows for third-party content creation. The server developer can provide some basic content, possibly adding new stuff at intervals. But if an admin wants to be a content author too, they can. They're not necessarily constrained to match the server developer's vision of the world. Also, third parties (or the server developers) could get a piece of the pie by selling, renting, or licensing their own content plugins to the admins. I'm thinking back to Legend of the Red Dragon, which had a single core set of content, but was different on every BBS because admins could add any plugins they wanted.

Posted: Tue Mar 29, 2005 10:32 pm
by Jonathan
Actually, I like your idea about per-server import restrictions better than my tariff idea. I'd extend it further with a trust mechanism. You have a list of servers that you trust fully, a list you trust marginally, and a list you don't trust at all. You then have import restrictions for each level of trust.

Once you have this kind of functionality, it allows you to manifest all these ideas you just mentioned, and others besides. I think it could be popular.

Posted: Wed Mar 30, 2005 12:51 am
by quantus
I'm just being nit-picky here, but don't restrict servers to two or even three classes. Do the user admin thing and allow the admin to set up as many different group settings as they like and just require every server be assigned to a group. I think this is what really hurt puzzle pirates as far as management goes. There was a rigid system and it just didn't work for everyone. Like, only 5 people could be a manager of a shop at once. If those people were offline, then the shop couldn't be managed which just sucked. For this case, I could easily see micromanagement of which server is allowed to import certain levels of equipment at a certain rate and other things are banned. Also, an "ALL" group is nice if you want to apply certain blanket changes to everyone.

Posted: Wed Mar 30, 2005 12:58 am
by Jonathan
The advantage of fixed trust levels is it allows admins to make judgements about servers they know nothing about. If you trust another server fully and it trusts a third server fully, your server can trust the third server even though you don't personally know that third server's admin.

With your method, I guess the community could distribute lists of known good servers. That might suffice.

Posted: Wed Mar 30, 2005 4:15 pm
by George
I'd say all unknown servers are should be automatically considered untrustworthy until the admin moves them into a more trusted group.

Automatic trust (A trusts B and B trusts C means A is automatically trusting of C) would be pretty complex if you have a tariff system or admin-variable import restrictions. Without the automatic trust, a character on C could get to A by way of B, passing through the C->B restrictions, then the B->A restrictions. This is potentially annoying if the transfer points are far apart, but requires no extra software to support it.

If you allow the character to bypass B implicitly, then A must compute a new set of restrictions for C->A transfers. Worse, what if A also trusts D who trusts C? The C->D and D->A restrictions may not match and you need complex logic to figure out what restrictions to place on the character.

Instead, I'd propose allowing the admin to manually import and merge trust settings from another server. That way, the admin is responsible for resolving any conflicts.

Also, I was thinking that as a third alternative to tariffs and import restrictions for limiting transfers from moderately trusted servers, you could also give admins/ops an option to manually approve transfers.

Posted: Tue Jun 07, 2005 10:32 pm
by Peijen
How about some sort of validation rule on top of trust? Maybe something as simple as value/hours played.

Also if money is involved, I think the core developers can run some sort of certification service. Publish a set of guidelines and certify that you meet the standard for a given level. That way serious player/admin can allow only character that came from certified world.

An other idea to build on top of certified servers is to have centralized character database. When player logs onto a server the character is 'checked out' and when the player logs off, the character is 'checked in.' Based on what type of servers you played in (certified vs none certified) the character is assigned a compliances score. Of course it only take one trip to load up a character, but some kind of validation rule can be adapted.

Posted: Tue Jun 07, 2005 11:27 pm
by Jonathan
Regarding validation rules, I think their utility varies depending upon the game designer's goals. If the goal is to provide a fair playing field, then a validation rule works very well. If the goal is to provide a seamless fantasy world with immersion, then I think players would be able to subvert the spirit of a validation rule without violating the letter.

Anyway, it is clear that there are many possible topologies for such a distributed game world. Why is no such system in place for a game like Neverwinter Nights?

Posted: Tue Jun 07, 2005 11:33 pm
by Jonathan
To answer my own question, I can't think of any games with an in-game interface for connecting to remote servers. Is that the only thing holding this back?

Posted: Tue Jun 07, 2005 11:52 pm
by George
I had assumed that most MMORPG "servers" were actually clusters of servers that dynamically handed characters off to one another as they moved through the world. I can't believe that an entire MMORPG world with thousands of active participants is run on a single machine. And if my assumption is right, then the leap to a distributed game world is not a technological leap, just a paradigm shift.

But you're right in that no game out now has any in-game ability to jump between third party servers.

Posted: Wed Jun 08, 2005 12:02 am
by Jonathan
Agreed. I believe your intuitions are correct.

Posted: Wed Jun 08, 2005 12:24 am
by Peijen
Yep, even UO has multiple server. The so called server line is where many wacky things happend.

Posted: Wed Jun 08, 2005 1:36 am
by George
Thinking about it now, I could swear I remember some game advertising the ability to jump between servers in game, but I can't remember what it was. Maybe it was vaporware, or maybe it was one of those crappy online games I played for a day and forgot about.

Approaching it from the opposite direction, in the early 90's Unlimited Adventures* gave you the ability to chain otherwise self-contained modules written by different people. I'm not sure anyone ever used that function, but it was there. In theory, it would have allowed for a world to be created by binding several people's work together, although the game itself was purely single player. I don't remember ever trying it, so I'm not sure how seamless the transfer between modules was.

*Unlimited Adventures was the last of TSR/SSI's "Gold Box" AD&D RPGs. It included a pretty crappy module, but was primarily intended to allow you to create your own modules, which could then be distributed to other people with UA, kind of like NWN. But since this was before the Internet gained popularity, there really wasn't any good way to distribute the modules so it pretty much flopped. RPG Maker for the SNES (and later PSX) was more of the same idea, but distribution was even harder.

Posted: Wed Jun 08, 2005 4:59 pm
by Jonathan ... l+vault%22

In prelease FAQs and interviews, NWN was supposed to have all this stuff we have described, including the official character vault Peijen mentioned.

In the revised FAQ, portals appear to have made the cut. The official vault seems to have been officially axed.

However, it does not seem that server admins are using this feature for the sort of distributed world we are discussing.
5. Where can I find a list of PWs that are accepting players?

Start the game in Multiplayer, and select the Join Internet Game option, and look in PW Story/PW Action rooms for any blue (non password) server. Also go to NW Vault to their game database to see PWs listed.

You can also use BioWare’s Guilds and Registry Server Search to look for PWs.

6. Where do I get my character? Do you create it, or do I? Can I use an existing character I have?

Almost all PWs require you to make a new character on their vault using their rules.

7. Where is my character stored when I am finished playing for the day? Do I get to save my games?

Almost all PWs use a server vault they control. The world is not saved, as it is persistent, but your character is saved for the next game session each time you log off.

8. Are there quests?

Yes, but the number and quality vary from server to server. The best ones are run live, by a DM.

9. Is there some sort of DM or is everything already scripting into the world?

It varies from world to world. Some are heavily automated, some have no scripted quests; many have a mix.

11. What are some special considerations (problems, things to look out for etc.) for playing in a persistent world?

NWN does not support Persistent World projects very well, so there have been a number of kludges and work arounds. Pretty much every PW is essentially a beta right now. Some of those beta's have a lot of content and DM involvement, and are a lot of fun to play, while others are still heavily testing. Be ready to test, put up with crashes, changes and downtime. Also be prepared to deal with other players, not all of whom will be to your taste to play with.