Game Development Community

Another take on MMOs? MMODRPG

by Bil Simser · in General Discussion · 07/19/2004 (6:18 pm) · 34 replies

Okay, silly acronym I know but thought it would grab someone's attention.

I was reading an article about revisiting the state of some MMOs and how they might have changed (they really haven't and the next generation of MMOs seems to be City of Heroes but that's a whole 'nuther thread). It got me thinking about problems with MMOs, challenges people have and a systemic behaviour that we see here all the time.

I was thinking architecturally about MMOs and the fact that they're usually one single server (or a farm of servers, or a shard/zone/whatever) controlled by the publisher. Okay, this has proven to work but one thing that bugs me. Why can't I, as an indie game developer, put up my own little piece of a MMO and be part of a bigger system, reaping the benefits of a structured multiverse but allowing me creative freedom in what I can do with it. Okay, so walk with me on this one.

Uber game creator comes up with an idea for a massive multiplayer game (let's say it's an RPG as we all know what those are). He/She comes up with the idea for the world, the genre, rules of the world, etc. and works out all those details. They then produce a master server that doesn't run any one part of the world but instead hands out metadata to servers that connect. This metadata can be rules about how the world works (races, classes, magic, whatever). It can also contain items or rules around how to create items (think of it as producing base classes for your OO system that you can extend). As well the master server is responsible for slotting you into a large map where your server lives and is responsible for.

You as a server owner manage your own persistence in your own little corner of the RPG universe, making it as big (or little) as you can handle. You're bound by the rules of the land (unless maybe there are provisions for breaking away from it) and there's a data exchange between you and the master server. You provide information about your little corner of the world and what's happening (which the server will publish out to other servers for them to do what they want with it, maybe like a small server publishing a newspaper on events happening in the land). You also provide the server with your whereabouts (IP address) when you connect. It in return gives you a chunk of territory from a larger map it maintains of the entire world. It also provides you with a set of destination points which you can use for letting your users navigate to other worlds.

So you're running your server. You have some kind of set of objects in your world (like a road sign) that is dynamic (and some code to populate it). When you hook up to the master server, it drops you into a giant map it maintains (maybe giving you that part of the world so nobody else can take it, even when you're offline) and sends you a list of other systems you can connect to (name, IP address). Your users will wander about, doing whatever they want on your server and perhaps they'll decide to go on a journey. They arrive at the crossroads (the edge of your land) and click on one of the road signs that you've generated when you connected with the server (and updated whenever needed). Now people can move freely from server to server, exchanging goods and services or whatever (since all servers abide by the same rules, etc.)

Okay, someone has probably done something like this before because I'm not that smart. However I thought it was an interesting approach to building an MMO. Rather than building a large monolithic system that nobody can afford to run, you distribute it (the "D" in MMODRPG) out and let people build their own systems modding it with the tools you provide and rules you create. Think of every server in the land as a Torque mod.

Ideas? Opinions? Bil has gone off his rocker comments?
Page «Previous 1 2
#1
07/19/2004 (6:28 pm)
Good idea
#2
07/19/2004 (6:35 pm)
Whoa, that is just what would be awesome for a "Endless world" "Hella lota quest's" feel. But first i must make my Grafical MUD! Then i will program this and end up homeless, eating rat's to live! I am pretty sure this hasn't been done in the likes you have put it. All though most MUD's let user's add item's and content and such.
#3
07/19/2004 (6:44 pm)
This is similar to the approach I'm going to take with our ORPG, Infinity. This is why I prefer Online RPG, because it's based on client servers connecting to a distribution server, using that to connect to rule servers (called God Servers). The distribution server covers map/location data on it's own, like you mentioned, and each client has a predefined 'home' on the game. This is also used for client verification purposes as well. All other data is cycled to the specified god servers.

Infinity is still a ways off though, but I think a setup such as this would decrease lag and data loss dramatically.

:)

- Christopher "Ronixus" Dapo
#4
07/19/2004 (8:21 pm)
Not being a game programmer I may be completely off base, but I can't help but think about the cheating potential. If someone can create a server and whatever happens on that server affects every other server, then isn't there a large potential for someone to spoof a server and send fake information? They could then artificially buff up their characters with levels and items.

Maybe if you kept track of what server the information was coming from, then if you found out it was fake you could retro-actively undo what was done. It's something I had thought about, though, for a game idea I have.

Nycto
Caldel Developer
#5
07/19/2004 (8:39 pm)
@James: With *any* game, there is *always* the potential for cheaters. It really boils down to how much time/effort/money you're willing to invest in trying to prevent someone to do it.

I would see the characters being kept centrally here and some kind of mechanism (again, how much are the creator is willing to invest) to verify servers and server activity. With the central characters, I would probably see the creator putting on some kind of alert system if a character went up too quickly (if that were something they measured or cared about) or if an item was introduced into the world that was too powerful. Given the ability to create say a weapon, obviously someone will just create the uber weapon that kills everything instantly.
#6
07/19/2004 (9:10 pm)
One problem with this theory is that not all mappers are good ones. Would you approve of custom maps beforehand? And, would each land have a single map, or a whole set of maps?
#7
07/19/2004 (9:14 pm)
@Eric: Don't think of maps as even being on the server. They're just a logical chunk of the world that the master server "reserves" for a server that connects. How good, bad, or otherwise the guy running his own part of world is at making maps it up to him and his users. Each land would have it's own map(s) and connection information to external servers (based on where their chunk lives in logical terms on the master map). They can either signup for a chunk (maybe through a web interface that the server provides) or they can take whatever the server sends them.
#8
07/19/2004 (9:44 pm)
Having people responsible for their own little piece of the game world (aka maps) is something that has been around for much longer then MMO's. Several MUDs allowed people who had attained a certain level to create their own piece of the game, and maintain it as they saw fit.
#9
07/19/2004 (9:56 pm)
While I'm not a big fan or MMOs at all at the moment (everyone seems to want to do one), it's a similar idea to what I've been planning for one of my projects (with a few differences). It's a good idea, and I'm really surprised no MMOs have implemented it yet (at least, that we know of).

I'm planning to have the option of creating your own maps or have the game generate one automatically, which is different to what you suggest here, but then it's a different type of game (and 2D as well, so maps won't be anywhere near has hard to generate).

The thing is though, while it does divide the load, it doesn't affect gameplay all that much. If you could work it so this system affected gameplay in a way, you might have an interesting dynamic to work with.

Another idea that comes to mind is by making the game 'hostware'... let's say you're still the only host, and only have a limited amount of space. Implement content that requires the player to eventually travel to a different part of the land, and at the crossroads, have a little sign that says "To continue, you need to help us find someone to host the next section". Hostware as opposed to shareware.

That would probably piss a lot of players off, but if you have good enough content, you may get people looking to host. :)
#10
07/19/2004 (11:22 pm)
This is sort of what I am using in my game, instead of a giant world, lots of little ones split up which you can port to by using either a tunnel or something. The only thing that bugs me is that i have to have something to stop the player getting out into the next repetition of the terrain so all my maps at the moment have big cliffs surrounding it, which is ok for my mountainous areas but as soon as i get too flats it looks kinda dodgy!
#11
07/20/2004 (3:41 am)
@Harold: Yup, I'm a big fan of MUDs (been playing them since the 80s) so this is just a distributed graphical inter-MUD system.
#12
07/20/2004 (6:39 am)
@Bill

Along those lines is something I been keeping in the back of my mind is something similiar to what your doing. I know I posted it in the network section:

Anyway since torque can be ran as a dedicated server I dont really see why a heavily modified torque server can be assign the sole task of serving up MMO goodness. The way torque handle datablocks and terrainblocks and missions.

This server simply waits for clients and deals with those clients like they are really playing one big mission.

@Daniel

You know I been playing FFXI online I must admit that Iam impressed with what they do with very small maps. A standard torque mission map is about the size of each area in FFXI. A little digging revealed that they hand-built each area. and you can tell not Pre-fab but something took their time and put a little pride into it LOL. Like you mention about tunnels and areas for transition. They do that as well. But since everything looks good and feels normal going from one to the other its the only zoning game I like :)

TSE looks as great. If a bit of time was spent creating a TSE-MMO engine I would buy it a blink. Its no-doubt in my mind that one-day a modified or programm MMORPG version of Torque will come out for developers after all TSE came out to compete with the current engine why not a MMORPG developers version. Maybe but not now.

@Bill again heh

I would modified your idea that let people create thier own areas but the rules for the world must remain intact. The master server will provide gateways kinda like Riftworlds Phase GATES.

Anyway got some thargoids to create

John H.
#13
07/20/2004 (6:55 am)
I think one of the bigger problems to solve is not whether you can pull something like this off or not-it's definitely doable. But the problem becomes: How do you vette what's being shown on your network?

Basically, you're putting in unknown people's hands the ability to create whatever content that they wish, and to display that content to others using your network and services. That brings up several bad scenarios. Now, I'm not saying that someone who wants to do this idea shouldn't go ahead with it, but it's very important to weigh the risks/rewards and try to find ways to cope with and even solve some of these issues.

I had had an idea for my PW early on that people could be able to create unique geometry and textures for their characters, but would have to submit them to review by the support staff and wait for approval before they could be used in the game. Of course, this is because of both liability, and because I wanted to keep the visual integrity of the game and the suspension of disbelief.

The up-side was that it gave the players a bigger stake in their characters, allowed them to be creative, and because the geometry and textures submitted would become part of the game, it would also effectively help us expand the game.

Unfortunately, the down-side was that it increased the cost of support for the review process, gave the player a bigger stake in the character(an up-side, but also a down-side because we have permanent character death in the game), and it could also become a point of contention among some players if we rejected unsuitable designs that they felt that they had the right to use.

It was a close call and I finally decided to shelve it for now, but I think that in other contexts it can work, but it has to be done in a way that fits the universe you're in, or else it kills that suspension of disbelief.
#14
07/20/2004 (7:12 am)
This sounds somewhat similar to Americas Army, except they don't connect their maps.
I think you should run with it, and iron out all the bugs/concerns as they appear. Don't let the spoilsports tell you why it won't work :)
#15
07/20/2004 (7:38 am)
Like someone said, this sort of idea actually has been around a while. There used to be Mud's with "Portals" that would connect you over to other muds. Heck, I think BBS' used allow you to go through doors to connect to other BBS' that might have been outside your local call range, but not outside the call range of the BBS you could connect to.

The biggest problem with this is cheating. How do you keep a common set of rules across a world that you don't have control of. If I can create my world that hands out money for nothing and connect it to everwhere else it's going to unbalance the whole thing.
#16
07/20/2004 (8:32 am)
@Chris: Yes, BBSes, doors and MUDs all had a portal like functionality to them that let you connect between sites. This is similar and there is one master game server (could be a dedicated Torque server, think of it as a web or application server really) juggling information.

As for the common set of rules, it's exactly that. YOu create base rules, datablocks, whatever, that enforce whatever rules you expect the mini-servers to follow. You don't have complete control in creating anything as you have to follow the meta-rules that the master game server provides.

To give an example, there's an old rule in AD&D 2nd edition that said "Wizards cannot use edged weapons". This was pretty basic and can be considered a meta-rule in your universe. So basically you'll never see a wizard-type character running around with a knife, sword or axe. They can of course use blunt weapons or staves or whatever. This enforces the rule that the game system imposes.

You could do the same like "no character can possess a weapon +5 levels higher than his player character" or "no character can advance +3 levels at a time" or whatever the rules to enforce balance are. Yes, it's an art to get the right balance because you're designing a game system not just a game and you won't get it right first time out. And of course this has to be translated to some kind of code using structures, classes, and whatnot.
#17
07/20/2004 (12:19 pm)
A couple of thoughts:

One way to keep the integrity of characters started on one server and taken to another is to limit the progression possibility on other servers. So the portals that allow players to pass from server A to server B take a snapshot of the character and then when they return they 'feel a jolt' and all of their increased attributes or special items on server B revert to their value when they first left server A. If they ever go back to server B maybe they reclaim those stats and items.

As long as you force all original characters for the entire universe to be created on a server under your control, then the only exploitation could take place on servers which allowed it, and it would only be while the character was on that server.

Another possibility is to scale down the expectations and allow player-made housing servers or player-managed pub and inn servers or commerce servers -- places where players can interact with one another but not train or level. So you can allow tons of people with really small server space to host their own little piece of the game.

-Michael
#18
07/20/2004 (4:56 pm)
Bil, there's a guy who's working on something like this. Let me dig up his info and I'll get it to you.

J

edit:

The guy's name is Crosbie Fitch ... crosbie@cyberspaceengineers.com ... Search the MUD-Dev archives (www.kanga.nu) to get a copious amount of information about his thinking on this topic.
#19
07/21/2004 (2:53 am)
Putting limits on progression in each world still won't work due to the number of worlds (if you limit it to +3, it only takes 10 unbalanced worlds to jump to +30). There needs to be a common set of rules (like any RPG) and each world can have custom rules that don't affect the common rules or any other worlds. High quality worlds will soon build a strong reputation (like good mods do) and they could be reviewed by admins and allowed more freedom to play with common rules (and would only make up a small proportion of the user created worlds, just like maps and mods).
#20
08/03/2004 (1:23 pm)
I wish I were working on something like this.

Unfortunately, very few will invest in uncontrollable p2p technology.

It is one thing to convince techies that the idea is feasible, but another idea entirely to convince business types that there's any money to be made here.

So, I've been spending most of the last couple of years trying to figure out how to rustle up enough money to fund this myself.

Don't hold your breath.
Page «Previous 1 2