Plan for Owen "WDA" Ashcroft
by Owen "WDA" Ashcroft · 09/14/2004 (4:10 am) · 3 comments
I've been looking at the idea of persistent worlds, I'm trying to shy away from the word MMO, as frankly, and I do not believe most indie outfits could possibly create one in the same way as say Turbine or Everant could, the resources simply aren't there, instead I'm looking more simplistic organic approach. There isn't much technical stuff in here, just a list of ideas and concepts that I think work.
Torque provides a number of interesting aspects that lend itself to a possible persistent world, the first is that it can handle 100+ players per server, depending on bandwidth; of course, this means that by linking together a series of servers you could create a "shard" based world with minimal effort, capable of supporting quite a few players simultaneously. If you built in checks at "zoning" points to see if the shard ahead was full you could close off areas before a player entered them.
The approach I am intending to take is a login/authentication server -> patch server -> world controller -> shard. The idea being that a single login & patch server deals with all clients, then depending on where their characters sit they would be handed off to a world controller, which would then pass them onto the shard their character is currently residing in. The world controller would essentially be the bridge between servers holding zones, so by zoning from one to the other you would be passed back to the world controller, which would save your character state to the database, then hand you to a seperate zone, this allows you to be sent back to your old shard, if the new one is full. It would also track who is and who isn't online, even if they are zoning, and how many players are in each area.
I've have spent some time reading up and the main complaint against shard based worlds is simply that they break the immersion, in my experience with MMOs and other persistent worlds the immersion is broken far more by resting and the monotony of certain "grind"-like tasks, infact zoning points provide a whole slew of other benefits, such as knowing when that monster really is going to stop chasing you, and often, a nice break where you can go grab a coffee, so I wouldn't discount distinct separate areas as a bad thing at all, just a different way of approaching the problem of preventing servers from having too many players. Continuous worlds are nice, but, frankly aren't practical without a significant re-write of how Torque handles things, and are far from the be all and end all of the experience.
If I were making a persistent world what approach would I take to building one, well I'd use shards, Torque already has an excellent client/server network and by creating distinct shards I could leave that mostly intact, database access is also far from an issue, there are already many resources available that provide solutions for that, I'd also take a look at the code for the chat client/server as it provides a way of really stripping a lot out of a server, and an interesting basis for login/patch servers. You could, because of the resources available simply on this site build a C&P persistent world with pretty minimal effort, its taken me 2 days to get quite a bit of this in and working from a server point of view (authentication, zoning e.t.c) and I only started to approach this out of curiosity of could it be done, and what would be required. The complex bit is, as has been stated over and over content, but I don't believe for something to be successful you have to big (A Tale In The Desert springs quickly to mind) if you create a flexible expandable system a game could be built up slowly, but I think to attempt to create something like Everquest straight off the bat simply isn't going to work. In ATITDs they had an excellant road map and slowly rolled things out during the beta, and during actual live play, they have been very successful, where many major MMOs e.t.c have been canned, so hats off to eGenesis. Afterall that's one of the joys of a persistant world, unlike single player ones, is that when it goes live everything doesn't have to be there, as long as there is enough to keep people occupied the system is robust and flexible people will happily wait 5/10 mins whilst 2 new zones and a few new missions download before having a go at them, and regular additions would add continued reason to keep playing.
Another rule with this system, in my opinion, would be to create the world around the technology, make a world where the zoning is a little more natural, for example islands, city blocks e.t.c. I would also suggest people take a look at existing pen and paper RPGS, those that decide everything on a dice roll are the best, as they are 100% mathematical, GURPS, AD&D, Innominae even Paranoia have few wishy-washy rules that require the human element, basing a system on one of these tried and tested will lower your work load, copying it verbatim is probably a bad idea (copyright and such).
As someone more interested in the technology the chance of actually getting to the point where I use what I'm building now is slim, but that's how I would approach it, I'd let others make my life easier when it comes to building the various systems, if you can base it off someone else's work then you're already 2 rungs up the ladder, yes it's not as nice as programming everything from scratch, but when it comes to the crunch if you're going to make a persistent world work you need content, and no one else is going to do that for you. I'd look at the resources available, base systems on existing RP materials that have been around for decades, build a world around my technology and then approach content with all of that in place, I'd also start small add zones as required, add missions as required, there's nothing wrong with building 4 zones, 10 missions, 3 monsters, and only 1 type of character as a start, if you throw yourself in the deep end, try to build 50 zones, 200 mission 150 monsters and 4 character races, and its you and 2 to 3 friends in their spare time nothing will ever happen.
The upshot of this ramble is I 100% disagree with people who say that Indies don't have time or resources to build a persistent world, and even eventually an MMO, I do agree with the comments that say you can't build Everquest in your spare time, but you can have a good go at it.
Once I'm done with what I'm doing technology-wise I'll make it available so anyone can use it, as I'm sure there are plenty of better programmers who can make it work more effectively, and those with the real drive to build content who can make it something.
Don't throw away your ideas because somebody says it's going to be hard, few things worthwhile are easy.
Owen
Sorry for the junk in the text, I think I've got them all, they should be ' and that's MS Word being reliable as per usual....
Torque provides a number of interesting aspects that lend itself to a possible persistent world, the first is that it can handle 100+ players per server, depending on bandwidth; of course, this means that by linking together a series of servers you could create a "shard" based world with minimal effort, capable of supporting quite a few players simultaneously. If you built in checks at "zoning" points to see if the shard ahead was full you could close off areas before a player entered them.
The approach I am intending to take is a login/authentication server -> patch server -> world controller -> shard. The idea being that a single login & patch server deals with all clients, then depending on where their characters sit they would be handed off to a world controller, which would then pass them onto the shard their character is currently residing in. The world controller would essentially be the bridge between servers holding zones, so by zoning from one to the other you would be passed back to the world controller, which would save your character state to the database, then hand you to a seperate zone, this allows you to be sent back to your old shard, if the new one is full. It would also track who is and who isn't online, even if they are zoning, and how many players are in each area.
I've have spent some time reading up and the main complaint against shard based worlds is simply that they break the immersion, in my experience with MMOs and other persistent worlds the immersion is broken far more by resting and the monotony of certain "grind"-like tasks, infact zoning points provide a whole slew of other benefits, such as knowing when that monster really is going to stop chasing you, and often, a nice break where you can go grab a coffee, so I wouldn't discount distinct separate areas as a bad thing at all, just a different way of approaching the problem of preventing servers from having too many players. Continuous worlds are nice, but, frankly aren't practical without a significant re-write of how Torque handles things, and are far from the be all and end all of the experience.
If I were making a persistent world what approach would I take to building one, well I'd use shards, Torque already has an excellent client/server network and by creating distinct shards I could leave that mostly intact, database access is also far from an issue, there are already many resources available that provide solutions for that, I'd also take a look at the code for the chat client/server as it provides a way of really stripping a lot out of a server, and an interesting basis for login/patch servers. You could, because of the resources available simply on this site build a C&P persistent world with pretty minimal effort, its taken me 2 days to get quite a bit of this in and working from a server point of view (authentication, zoning e.t.c) and I only started to approach this out of curiosity of could it be done, and what would be required. The complex bit is, as has been stated over and over content, but I don't believe for something to be successful you have to big (A Tale In The Desert springs quickly to mind) if you create a flexible expandable system a game could be built up slowly, but I think to attempt to create something like Everquest straight off the bat simply isn't going to work. In ATITDs they had an excellant road map and slowly rolled things out during the beta, and during actual live play, they have been very successful, where many major MMOs e.t.c have been canned, so hats off to eGenesis. Afterall that's one of the joys of a persistant world, unlike single player ones, is that when it goes live everything doesn't have to be there, as long as there is enough to keep people occupied the system is robust and flexible people will happily wait 5/10 mins whilst 2 new zones and a few new missions download before having a go at them, and regular additions would add continued reason to keep playing.
Another rule with this system, in my opinion, would be to create the world around the technology, make a world where the zoning is a little more natural, for example islands, city blocks e.t.c. I would also suggest people take a look at existing pen and paper RPGS, those that decide everything on a dice roll are the best, as they are 100% mathematical, GURPS, AD&D, Innominae even Paranoia have few wishy-washy rules that require the human element, basing a system on one of these tried and tested will lower your work load, copying it verbatim is probably a bad idea (copyright and such).
As someone more interested in the technology the chance of actually getting to the point where I use what I'm building now is slim, but that's how I would approach it, I'd let others make my life easier when it comes to building the various systems, if you can base it off someone else's work then you're already 2 rungs up the ladder, yes it's not as nice as programming everything from scratch, but when it comes to the crunch if you're going to make a persistent world work you need content, and no one else is going to do that for you. I'd look at the resources available, base systems on existing RP materials that have been around for decades, build a world around my technology and then approach content with all of that in place, I'd also start small add zones as required, add missions as required, there's nothing wrong with building 4 zones, 10 missions, 3 monsters, and only 1 type of character as a start, if you throw yourself in the deep end, try to build 50 zones, 200 mission 150 monsters and 4 character races, and its you and 2 to 3 friends in their spare time nothing will ever happen.
The upshot of this ramble is I 100% disagree with people who say that Indies don't have time or resources to build a persistent world, and even eventually an MMO, I do agree with the comments that say you can't build Everquest in your spare time, but you can have a good go at it.
Once I'm done with what I'm doing technology-wise I'll make it available so anyone can use it, as I'm sure there are plenty of better programmers who can make it work more effectively, and those with the real drive to build content who can make it something.
Don't throw away your ideas because somebody says it's going to be hard, few things worthwhile are easy.
Owen
Sorry for the junk in the text, I think I've got them all, they should be ' and that's MS Word being reliable as per usual....
About the author
#2
Games like Horizons have tried an approach similar to this and it would have worked except the game was rushed out the door too quickly. There were so many bugs and problems at release time that the dev team spent all their hours fixing/optimizing/patching instead of expanding the world. By the time they got a decent stable game up and running the players were bored with what content they had and were angry that promised content wasn't in yet and were leaving in droves. Horizons is barely hanging on right now, less than a year after release.
My philosophy has always been (and it's the way my "project-that-will-most-likely-never-see-the-light-of-day" is planned) that if you give the players something fun and interesting to do, a stable environment to to do it in, and a chance to help expand/build the world, they'll play it.
Give players chances to build a ship to cross an ocean. Once they do that, they another continent to explore. Give them the ability to make and run their own in-game quests, or set up a shop to sell items that they craft. Let them build and furnish a home and have their character get some benefit from doing so.
Forget all the "kill 55 spiders to get to level 6" and just play a game that's fun :)
I think the Torque engine could easily handle a persistent world game, even with only 100-150 people per server. A small environment like that would make for closeknit communities of players and in an on-line game it's the friendships you form that keep people playing long-term, not so much the game itself. I played Everquest for over 4 years. The last 18 months I hated the game, but I kept playing because I was in a good guild with a great bunch of people who were fun to be around.
Just my random 2 cents :)
09/14/2004 (5:51 am)
I like the idea of that approach, but I think it has to be planned thoroughly (good design doc/roadmap) for it to work. If you involve the players in the actual building/exploring of the world, so much the better. Also, you *must* have a pretty stable client/server release when the game goes live or you're going to have problems.Games like Horizons have tried an approach similar to this and it would have worked except the game was rushed out the door too quickly. There were so many bugs and problems at release time that the dev team spent all their hours fixing/optimizing/patching instead of expanding the world. By the time they got a decent stable game up and running the players were bored with what content they had and were angry that promised content wasn't in yet and were leaving in droves. Horizons is barely hanging on right now, less than a year after release.
My philosophy has always been (and it's the way my "project-that-will-most-likely-never-see-the-light-of-day" is planned) that if you give the players something fun and interesting to do, a stable environment to to do it in, and a chance to help expand/build the world, they'll play it.
Give players chances to build a ship to cross an ocean. Once they do that, they another continent to explore. Give them the ability to make and run their own in-game quests, or set up a shop to sell items that they craft. Let them build and furnish a home and have their character get some benefit from doing so.
Forget all the "kill 55 spiders to get to level 6" and just play a game that's fun :)
I think the Torque engine could easily handle a persistent world game, even with only 100-150 people per server. A small environment like that would make for closeknit communities of players and in an on-line game it's the friendships you form that keep people playing long-term, not so much the game itself. I played Everquest for over 4 years. The last 18 months I hated the game, but I kept playing because I was in a good guild with a great bunch of people who were fun to be around.
Just my random 2 cents :)
#3
"The last 18 months I hated the game, but I kept playing because I was in a good guild with a great bunch of people who were fun to be around."
This hits the nail on the head, what really people are after in MMORPGs is the sense of community and good game play.
I think that you can succeed using Torque as the engine for a MORPG (Multiplayer Online Roleplaying Game) and why I don't use the Massive is that if you start small and create a flexible game environment that you can add content to easily, you garner support from players who then descibe the game to friends who then spread it word of mouth.
This is the approach my team is taking. Stealing a line from Field of Dreams and modifying it slightly
"Build it right and they will come"
My 2 cents (4 total now ! :-)
09/14/2004 (6:09 am)
@Rodney"The last 18 months I hated the game, but I kept playing because I was in a good guild with a great bunch of people who were fun to be around."
This hits the nail on the head, what really people are after in MMORPGs is the sense of community and good game play.
I think that you can succeed using Torque as the engine for a MORPG (Multiplayer Online Roleplaying Game) and why I don't use the Massive is that if you start small and create a flexible game environment that you can add content to easily, you garner support from players who then descibe the game to friends who then spread it word of mouth.
This is the approach my team is taking. Stealing a line from Field of Dreams and modifying it slightly
"Build it right and they will come"
My 2 cents (4 total now ! :-)

Torque Owner Eric C. Tomlinson
Create a through design document.
Define all races.
Design/document backend systems (login, master game server, 1 zone server - design this to be flexible that can add and increase zone sizes as needed).
Create 1 small zone designed initially for 100 people.
Beta the single zone.
Release frist zone.
Start next zone.
I hope you have success with your endeavour.