Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Networking The Internet Games

The Problem of Shards, Servers, and Queues In MMOs 253

An editorial at GamesIndustry takes a look at a couple of problems many MMOs have failed to solve as the genre has evolved over the last decade: log-in queues and a split player base. The most recent example is Aion, which launched in Europe and North America a few weeks ago. Players on some of the game's servers had to deal with lengthy queues until enough people left the starting areas and spread throughout the game. To NCSoft's credit, the queues are mostly gone already, and it wasn't simply launching with too few servers that was the problem (nor was simply launching more servers a perfect solution, as Warhammer proved). In fact, several servers had no queues at all, but many players had set their sights on the more popular ones — a problem facing other MMOs as well. At this point, it becomes a matter of programming — how can the developers for these MMOs build the networking aspect of the game such that more hardware can easily be allocated when it's needed, and also make it easier for people to play together without the restriction of different shards or servers? EVE Online has done well with a single game universe, but it's not clear how far that model can scale upwards.
This discussion has been archived. No new comments can be posted.

The Problem of Shards, Servers, and Queues In MMOs

Comments Filter:
  • Champions did it too (Score:5, Informative)

    by Locklear93 ( 1285700 ) on Sunday October 11, 2009 @12:21PM (#29711911)
    Champions Online has also launched with a single world architecture. Each zone has multiple instances, dividing the population in dozens of copies of each region, across which players can freely move if they wish to do so. Zones with friends, supergroup (guild members), and party members have priority, of course. These instances CAN fill, but if they do--just get your friends and all go to a new one.
    • Re: (Score:3, Interesting)

      by sopssa ( 1498795 ) *

      I rather wouldn't play a game which world is "instanced" like that on zones. You're basically in the same world, but you're not. It just complicates things, and in that case multiple servers would be better.

      EVE Online's one world model would be the ideal and it seems to work good there. Of course its also divided into zones and most popular ones can get laggy if theres lots of players and stuff going on - but its still the same world where everyone is.

      Having one single world would also make the areas with f

      • Re: (Score:3, Interesting)

        by Locklear93 ( 1285700 )
        I fail to see how multiple servers is better at all. With an architecture like Champions', if the people with whom you want to play aren't in your zone, you go to them. With traditional server separation, such as WoW's or Aion's, your only hope is that server transfers or the like are allowed. I'm also not sure that it complicates things in any significant way. What's complicated about clicking "Change instance," and looking at the top of the list--which is where the instances in which you have friends,
        • by Nylathotep ( 72183 ) on Sunday October 11, 2009 @12:51PM (#29712083)

          the complication is its impossible to meet people because they are scattered amongst a hundred shards. Multiply it by the different zones and you never see the same people. Add to it the drop in drop out nature of grouping and the social aspect suffers. Having seperate servers like WoW have their own issues with having friends who play but are not on your server, but at least the people who are on the server you see day in and out.

          I'm kinda stalled at 29 because of the group instances, but I don't know people. I don't even know where to go for lfg grouping (ala IF). The built in lfg tool seems to be ignored, to the point that when I tried it, trying to send a message to the people in the list showed noone was online. Maybe they were on an alt, I don't know. You would think the interface would send the message to the currently online character.

          I suppose I could join a random supergroup recruiting but I like to actually meet people before joining a group.

        • by theantipop ( 803016 ) on Sunday October 11, 2009 @01:33PM (#29712315)
          As the above poster describes, it's the social aspect. I appreciate the camaraderie being part of a well defined realm brings. And adding hundreds of personalities to a friends list isn't really the same thing. The most prescient example I can think of was the gate opening event for Ahn'Qiraj in classic WoW. Realms competed to be the first to achieve a collective effort of quests in order to open their gate first. My realm was neck and neck with another to be the world's first, resulting in one of the most exciting atmospheres I've ever been a part of in a game.
          • Re: (Score:3, Interesting)

            by poetmatt ( 793785 )

            read the anon's post. Eve is the only game to be able to handle tons of people in one area. Wow horribly crashed during AQ opening...do you remember the >3000 MS pings during the event? That thing was beyond laggy both for the pc's and the servers.

            population maximums (single server)
            Eve: ~45K players at once

            Wow: ~8K players at once

            Champions online: less.

            Basically, nobody can handle the parallelism of eve, mostly because they actually had open instances within the cluster that people could go to (deadspace

            • Re: (Score:3, Informative)

              by Grail ( 18233 )

              Strictly speaking, the server maximum for EVE Online is about 1000-2000. Each star system is a different server, with travel between systems happening through a "loading screen" cunningly disguised as a star gate.

              Effectively, each star system in EVE Online is a "continent" from WoW, with each "zone" in WoW scaling to a "grid" in EVE. Except that "grid" is a local construct, not a fixed geographic location: you can join the same "zone" as another player by simply walking over a line in the sand, to join the

              • by cloricus ( 691063 ) on Sunday October 11, 2009 @07:39PM (#29714481)
                Close, though a little inaccurate.

                The solar maximum is still unknown for EVE as Jita has yet to push it to its limits. Systems on reinforced 'supernodes' can handle 1,500+ players with little to no lag at all. Those same servers have been able to sustain hours of fleet combat involving over two thousand players with acceptable lag (10 seconds to 2-10 minutes on module activation). Normal nodes that haven't been reinforced can handle limited fleet combat of about 700 pilots before lag sets in and 1,000-1,200 with no combat. A normal node will also host a handful of solar systems.

                In regards to each solar system being like a continent that is a conceptual divide. WoWs 4 continents are still considered to be a contiguous 'world' as users are all acting towards the common goals of the world and interacting with the same player set. So EVE has 5,300 odd continents in its world compared to 4. Also note that you can 'walk over' the line between two grids by simply pointing your ship in the direction of another grid and flying to it. Like in WoW you also have the option to warp between grids, this would be comparable to flying a gryphon there. Grids are better thought of as a dynamic draw distance of the world around you.

                Excluding technical differences like these the defining factor of EVE is that your actions effect over 300,000 players in the only (heh) instance of this 'world'.
                • Re: (Score:3, Insightful)

                  Those same servers have been able to sustain hours of fleet combat involving over two thousand players with acceptable lag (10 seconds to 2-10 minutes on module activation).

                  Your definition of acceptable is interesting.

        • Re: (Score:3, Interesting)

          by srmalloy ( 263556 )

          NCSoft did it both ways with Aion; there are multiple servers, but "inside" each server, a zone can have one or more "channels", each channel being a separate instance of the zone. The starting zones have ten channels, but the other zones typically only have 3 to 5, with the number of channels being managed to prevent players from being scattered too thinly across a zone or crowded too close together. NCSoft responded to the load at launch by adding two more servers; I think they would have done better to a

      • by Blakey Rat ( 99501 ) on Sunday October 11, 2009 @03:50PM (#29713057)

        Ditto. It's really annoying, from my experience with Tabula Rasa (which uses the same schema.)

        "Hey where are you?"
        "City A."
        "I'm in City A too, meet near the bank?"
        "I'm standing in the bank."
        "Oh, I am too but I don't see you..."
        "Which City A are you in?"
        "City A3"
        "Oh damn, I'm in A6, let me find a portal so I can move from City A back into the other City A."

        There are few ways to break immersion quicker than that.

      • Re: (Score:3, Insightful)

        The only reason that EVE's model works is because every star system is pretty much like dozens or hundreds of other star systems. (Out of a few thousand star systems.) And asteroid belt 1 is a lot like asteroid belt 9 within a system. There's minimal design work that goes into each star system.

        In fantasy MMOs, locations tend to be a lot more varied, unique, and important. There is only one Ironforge in WoW. The closest that EVE has to unique locations are the trade capitals (Jita 4-4 CNAP) or the hig
    • Re: (Score:3, Interesting)

      by Veggiesama ( 1203068 )

      Champions Online has the best strategy, in my opinion. As far as I've been playing, they've never had an issue with lag, because they can cap each zone-instance's population to whatever they deem the best. They don't have serious overpopulation problems (like where you can't do a quest because you're waiting for 50 other people to finish it), because of the same reason. You can jump back and forth between instances by clicking one button, and zones with your friends are clearly marked (though it'd be nice i

    • by sopssa ( 1498795 ) * <sopssa@email.com> on Sunday October 11, 2009 @12:28PM (#29711955) Journal

      Dear Sir or Madam,

      The responsible Anti-Microsoft Troll that should have replied to this post by now is on sick leave and was unable to prepare a custom flaming reply to this particular post. In lieu of that, attached is our generic template which we use to write all our flaming responses.

      1. Make a general anti-Microsoft jab
      2. Blame Microsoft for it's stance against Free Software (and also for lack of network neutrality, the current state of patent laws, the Iraq war, and the extinction of the dinosaurs)
      3. Accuse the poster who wrote something positive about Microsoft of being either a fanboy or a Microsoft employee. If the poster in question made a comment about Microsoft's actual support of Free Software in a particular instance, accuse the poster of being an oblivious idiot unable to see through their Embrace-Extend-Extinguish approach
      4. State that the Linux revolution is inevitable
      5. Finish off with another outpour of flames

      We hope you will be able to infer the potential content of the post that should have been done by the respective Troll. Please accept our apologies.

      Sincerely,

      Assistant Secretary,
      Anti-Microsoft Trolling Association, Ltd.

    • by Anonymous Coward on Sunday October 11, 2009 @01:11PM (#29712187)

      So THAT is why they need one hour of downtime every day...

      • by shish ( 588640 )
        It's not downtime, it's scheduled maintenance (according to microsoft, these are different things; if you send an email saying "server will be down this week" then that's as good as it being up...)
    • Re: (Score:3, Informative)

      by Judinous ( 1093945 )

      That's hardly a decent solution to the problem, since EVE is the perfect example of how not to handle excessive numbers of players in a single location. EVE has a huge universe and all, but it's mostly accomplished by putting small groups of systems on their own "node". When any significant number of players pile into the same node and start doing things (such as shooting at each other, or just trying to take the gate to leave), it results in instability, poor performance, and quite often brings the entir

      • Re: (Score:3, Interesting)

        by Flentil ( 765056 )
        It seems to me that the problem then is built-in. Instead of dividing up the load among individual computers, it should be spread evenly across a vast network of processors. That way you wouldn't need to divide the world into zones, and even if everyone in-game all gathered in the same place it would have no effect, because it's still processing the same number of players in the world regardless of individual locations.
      • The big problem is when people decide to all hop into one location in the game and melt an individual server or node, which happens by default at launch time.

        So why don't the clients communicate peer to peer in that situation? They can all handle the physics. The server should just keep track of who is where.

      • The largest market hub of the game, Jita, regularly has over 1,000 players in the same system. It used to become unstable with over 300-400, but about a year ago they rolled out some new code and now, even with 1,000 people, it is nice and smooth. No issues at all.

        The downtime these days, while officially an hour, usually doesn't take more than 15-20 minutes anymore. Not bad when you have to maintain a database with information on over a million characters (and there's a LOT of data for each individual crit

    • by sohp ( 22984 )

      Yeah, but EVE Online is a graphically glitzy (something that requires horsepower on the client but not the server) but ultimately tediously boring rehash of Trade Wars [wikipedia.org]. The server is mostly just a massive OLTP machine.

  • by phantomcircuit ( 938963 ) on Sunday October 11, 2009 @12:28PM (#29711951) Homepage

    This is a computational problem that the major game studies are hopelessly under prepared to solve.

    Mostly they hire people who get degrees in game design that include very little in the way of computer science. This is actually a fairly difficult problem to solve.

    The fundamental design flaw they all have is that servers represent space in the game, it's a flawed assumption about the best model to use.

    • Re: (Score:2, Insightful)

      by Anonymous Coward

      The fundamental design flaw they all have is that servers represent space in the game, it's a flawed assumption about the best model to use.

      I'll bite, what's the best model to use?

      • I have no idea what the best model to use is, but I'm certain it is not mapping servers to certain regions.

        If you map servers to regions there is no way for you to have interaction between the regions, as the load increases on a particular area you inevitably must reduce the size of the area each server covers or restrict the number of players in the area. So either you have an ever reduced radius in which you player can interact with the environment or you have to restrict the number of players in a regi

        • by tibman ( 623933 )

          In EVE, servers are mapped directly to solar systems and they are in turn connected together. The market, contract system, chat, maps, everything in the game works the same no matter what system/server you are in.

          If your alliance is having epic battles you can submit a request for more power in abcd-e system and they will temporarily allocate more power there. Typically this is done in advance because when you jump in 100+ capitals and 300+ support ships you want everything to be running smoothly from the

        • Can we presume you have a degree in game design then.
      • by Bat Country ( 829565 ) on Sunday October 11, 2009 @02:33PM (#29712629) Homepage

        This fellow was inadvertently correct. Representing space (volume) by putting sections of it onto single computers is a bad idea. Inevitably, no matter how good your design or how well-ordered your content is, some areas are going to become more popular than others. Hence, you're going to get congestion.

        A much better model is representing player (and non-player) actions as work units then distributing them evenly across a network of linked computers then getting an integrated result for each "region" (zone, map, city, whatever) each server frame. Make the server frames something like 50 frames per second and have player actions lag about 2-3 frames behind server-side action and you'll see little delay on the client machines but help mitigate potential race conditions between player actions (both players simultaneously attacking and reporting that they attacked on server frame 2,348,342 and both score a fatal blow on the other).

        To mitigate player lag you can distribute update packets based on the density of the update vs the distance of the events from the player vs the player's average data rate.

        Of course, that's just my two cents.

      • by Nefarious Wheel ( 628136 ) on Sunday October 11, 2009 @03:54PM (#29713097) Journal

        The fundamental design flaw they all have is that servers represent space in the game, it's a flawed assumption about the best model to use.

        I'll bite, what's the best model to use?

        Whether it was meant that way or not, that's a good point; I would wonder if it wasn't servers that represented space in the game (in terms of your computational point of view) but rather database connections - because when you think about it, you're really just moving data structures around during game play.

        All the clever graphics runs in the memory of the gamers' PCs; details about in-game items and their status (i.e. item stats, equipped, in the backpack, where in the backpack, their state of repair etc.) just live in little pages that move up and down the link between gamer and "gamespace".

        True, there's a lot of item contention involved (who killed what mob, rolling on loot etc.) but I wonder if the true question of managing parallel game spaces and making them work isn't embedded in the replication of tables from one database instance to another. This is well established technique for most databases. That could imply the need for very fast interprocessor communications, presumably because warlocks consume rowlocks.

        The most complex software I've been into deeply enough to notice was VMS, some years ago - and that appeared to be a case where clever data structures did nearly all the work (that and REI of course ;) and good data structures meant a lot less algorithm. It's an approach. To recap, I think it's easier to think of "game space" as a database issue, rather than a processor one. Your Beowulf cluster of hot grits just provides CPU cycles, really, and that's not quite as difficult to share.

        • by inio ( 26835 ) on Monday October 12, 2009 @03:06AM (#29716473) Homepage

          You're close to right. There's been a lot of work on completely non-spatial distributed server architectures (mostly using distributed hash tables and occasionally multicast between servers) but they don't scale as well as expected. There's a reason for spatial partitioning - things close to each other tend to interact more.

          Fixed partitioning is the easy way to do spatial partioning - you drop boundaries and migrate objects that cross them. Often you use design to allow interaction between partitions to be ignored, so you don't need any communication between servers besides migration. Dynamic partitioning would largely solve this problem (as, generally, you're never actually in a region where you can interact with more than a several dozen other players) but is HARD if you want consistency.

          Guaranteeing instantaneous consistency is impossible - you've got hundreds to thousands of servers and keeping them all in lockstep at 30Hz with a potential for same-frame interaction between objects just isn't going to happen. Instead, what if you thought of the game as a simulation of abstract moore machines. Every frame each object looks at the state of of the wold and then sets it's state for the next frame and maybe creates other objects. Inter-object events can be modeled as objects that exist for a single frame and the receiver looks for. This means no instantaneous inter-object communication, but that's generally acceptable and likely unavoidable.

          Now, network latency between servers could still be a problem: as the system grows it's impossible to keep it in lock-step even with the slightly relaxed communication requirements. This can be solved by employing a technique used in distributed databases: eventual consistency. Lets explicitly allow inconsistent state to exist between servers instantaneously, but guaranty that it will be eventually be resolved. Lets have objects use a subscription model for their observations and send those subscriptions to all servers that might contain matching objects. When a server sees an object matching a remote subscription it sends over the object with enough state to run a dumb predictor (that can't look at the dynamic state of any other objects). The server with the subscribing object can then use that state and predictor to keep the object in sync and then service the actual subscription. Back on the server with the object that mached the subscription, it makes a local copy of the proxy it sent. It updates the copy along the the rest of the work, and compares it with the real object to detect when the remote server made an incorrect prediction. In this event, it sends an update to the subscribing server with the new state.

          Now you should say, "Wait! That update won't arrive until the server had already run the simulation for that frame!". Yep, you're probably right. However, because there's this subscription data available, the server can very efficiently re-run the simulation, touching only objects that might have detected the change (and any consequential changes). This might cause further updates to other servers, but because of generally sparse nature of interactions in games, the state on all servers for a given frame will quickly be consistent.

          This was almost my thesis before I got pulled into graphics and wii remotes. If this interests you and you'd like to see an early paper about it, drop me a line: [my_username]@[my_username].org.

      • The fundamental design flaw they all have is that servers represent space in the game, it's a flawed assumption about the best model to use.

        I'll bite, what's the best model to use?

        P2P.

    • by Surt ( 22457 )

      None of the major studios hires people out of the game design programs. And certainly not for software development.

      • Re: (Score:3, Informative)

        by Trepidity ( 597 )

        It depends what you count as "game design". CMU's ETC gets a lot of its grads hired, though it's a masters program, and a large proportion of people there have CS bachelors' degrees already. UC Santa Cruz gets its game-design/CS grads hired also, but it's in the CS department and more of a "game-flavored CS" degree than a game-design degree. Even the more humanities-oriented game-design programs seem to be having some success, but their graduates tend to get hired as designers or artists rather than program

    • Re: (Score:3, Interesting)

      by Jeremi ( 14640 )

      The fundamental design flaw they all have is that servers represent space in the game, it's a flawed assumption about the best model to use.

      I'm probably just being naive here, but isn't the flaw really that the servers represent a fixed amount of space in the game, while at the same time the amount ("density") of user activity in a given space can vary, and therefore the amount of processing and I/O needed to support that space can become more than the server can support?

      If so, perhaps a solution would be t

      • If you simply split the in game area between two servers every time the load gets too great you'd end up with areas where you can neither see nor interact with players right next to you.

        • by Yokaze ( 70883 )

          > If you simply split the in game area between two servers every time the load gets too great you'd end up with areas where you can neither see nor interact with players right next to you.

          That is only an issue, if you insist on no communication between servers (hard-handover). If you have a soft hand-over, and servers share information about the border regions, it becomes a non-issue.
          You might be limited to interact only with the next, say, 1000 people next to you. Hardly unrealistic.

          While keeping such a

      • Re: (Score:3, Informative)

        by Knetzar ( 698216 )

        IBM has done some research into this: http://domino.watson.ibm.com/tchjr/journalindex.nsf/0/e7437d40ec477c7385257100007be30a?OpenDocument [ibm.com]

        Supposedly, it was even able to handle missiles crossing regions.

    • by Matthew Weigel ( 888 ) on Sunday October 11, 2009 @01:52PM (#29712433) Homepage Journal

      Heh, no. I'm an MMOG server programmer, and I know a fair number of others, and a lot of us have backgrounds in distributed computing, with plenty spending time in academia before being lured into games. That game companies mostly hire people with game design degrees is a falsehood propagated by the institutions that offer those degrees. For one thing, there simply aren't enough people going through those schools to feed the industry's need for fresh meat; for another, the quality of programmers fresh out of any school is generally insufficient.

      As for fundamental design flaws... eh. I've heard plenty of that kind of talk from (for example) Project Darkstar; it's easy to say that, it's a lot harder to actually do the research to understand all the options and the inherent flaws in each. Interestingly, even EVE Online - lauded for its one-world approach - uses geographic decomposition too, and it works just fine most of the time (and now they've got a system for dedicating special hardware to the corner cases).

      • Re: (Score:3, Insightful)

        by T.E.D. ( 34228 )

        Thank you so much for posting this. As a professional software developer myself, most of these arguments I'm seeing in posts like the GP look very familiar: They are the kind of stuff you hear when somebody unfamiliar with the gritty details of a problem just cannot accept that it is not easy to solve.

        It is a pretty good bet that some professional has taken the time to look deeply into every "good idea" that a slashot poster is liable to come up with in 5 minutes of thought. If nobody's doing it, it is pr

    • by TTimo ( 253584 )

      It is fairly difficult to solve, and it's arguable what you gain from solving it. Truth is, most of the MMO player base is used to the sharding and isn't clamoring for anything else. EvE appeals to the nerdiest of that group, and scalability past their current numbers is far from proven (specially around the large trade hubs and markets like Jita).

    • Re: (Score:3, Interesting)

      They are as prepared to solve it as the business model is prepared to pay for it, and frankly, there's no proof that spending the amount of money it would take to increase the amount of concurrent players in a specific area at once would be worth the investment. So, why?

      And furthermore, your presumption about the limitations being the result of a design flaw regarding servers representing game space is incorrect.

      The problem is simply one of technical capability and cost: technology isn't good enough and t

      • The data needed to transfer only grows exponentially if the server naively sends to much data to the client. Let's say there are 100,000 players in one spot. Using your numbers that would mean sending 100mb/s of traffic to each player. Obviously that won't work.

        What if you rendered all the players data on the server and streamed it to them? Using high definition video that would mean sending "only" about 1.2mb/s per player. It is not a realistic idea, but the bandwidth need would now grow linearly with the

      • The problem is simply one of technical capability and cost: technology isn't good enough and the cost is too high (these are correlated). Servers are irrelevant; the problem is the network. The technological networking requirements to handle multiple concurrent players in a game space grows logarithmically with the number of players who can interact in 'real time'.

        First of all I'm going to assume that you mean the bandwidth grows exponentially as the number of players interacting with each other increases. Logarithmic growth would be excellent (the n+1th player would cost less than the nth player).

        You do have a point other than that.

  • by StreetStealth ( 980200 ) on Sunday October 11, 2009 @12:29PM (#29711961) Journal

    The question of scale for an MMO applies to more than just the ability of the servers to host an increasing number of simultaneous players in a single virtual world. It's also about gameplay, and the MMO paradox: the more massive the world, the less important each player. I would argue that one of the factors in WoW's enduring success is that Blizzard knew when to add new servers not purely for performance reasons, but also to keep the number of players in any particular server at a particular sweet spot.

    Too few players and there's no sense of a living, persistent world; too many players and that world is stifling and uninviting.

    Actually, it will be interesting to see how things play out with Sony's MAG -- an action game that sits somewhere between classic multiplayer and MMO scale.

    • by Rakshasa Taisab ( 244699 ) on Sunday October 11, 2009 @01:38PM (#29712343) Homepage
      Too few players and there's no sense of a living, persistent world; too many players and that world is stifling and uninviting.

      It will only be stifling and uninviting if you force/encourage everyone to go to the same places and dungeons. In EVE there's regularly 50k players online at peak hours, and the central market system has up to 1300 players. The game play is such that you do not feel yourself 'crowded in', while still making it clear that you're one amongst many.

      You might think it's a bad thing, yet that's looking at it from the WoW perspective were 'everyone is a hero'. In EVE there are only a few real hero's, yet those that are well known have done something of true significance in the game. It's not just a fake hero feeling from playing a game that was designed to make everyone achieve the same thing.
      • EvE solved the crowding problem in a unique and, imo, quite sensible way: There is no linear area grinding. You don't go to area x from level y to level z, then move on to the next area where, again, you stay for x levels. This is how it's done in traditional MMOs and this does invariably lead to crowding. Because, at start, everyone will be in one area and then only slowly people start to stretch along the leveling ranges.

    • living, persistent world

      I wish there was such a thing. But in most, when I kill that mob, it respawns. When I save the fair maiden from the terrible folks, she shows back up there ten minutes later. And I can't even save her a second time. That's not a living, persistent world. That's a dead, static world, which I can deform for a moment, but which snaps back into its old form after.

      I'd love to see a game where the world really did change based on your actions. It shouldn't be that hard - if everyone in a party has saved

  • Dark Age of Camelot (Score:3, Informative)

    by Renraku ( 518261 ) on Sunday October 11, 2009 @12:35PM (#29711991) Homepage

    DAoC is now, for most intents and purposes, one server. The cluster is called Ywain, and I think it goes from Ywain-1 to Ywain-9. Each server shares its RvR (realm versus realm) areas with the other servers, so all Ywain players go to the same RvR instance. The main cities do as well. However, outside and in dungeons, the servers are independent. This is to keep 1,000 people from showing up in the same area.

    You can change the server in main cities and other important areas by means of an NPC.

    It's a nice way to do things. If Ywain-1 is too populated, go to Ywain-2. It lets the player decide how full or empty they want their experience to be.

    • Sounds like a nice way to keep the PvP(a.k.a., RvR)areas populated and the PvE areas from being over populated.
    • by Ocker3 ( 1232550 )
      DDO has a similar system, when you load the game you usually get automatically dropped into one of the worlds with a population that isn't too big, but will still allow you to find a decent party. And you can swap between worlds in taverns iirc. So essentially they have one system of Instanced Worlds, and a system inside that of Instanced Dungeons.
  • by Bazman ( 4849 ) on Sunday October 11, 2009 @12:36PM (#29712007) Journal

    ...manages to run a single world instance - it does raytraced graphics in real time, the fees aren't too bad but I'm not sure how to respawn.

    • by Locklear93 ( 1285700 ) on Sunday October 11, 2009 @12:43PM (#29712041)
      Respawning is easy. It's not coming back as a level 1 dung beetle that's hard.
    • by Cloud K ( 125581 ) on Sunday October 11, 2009 @01:28PM (#29712283)

      Ah, no, you combine two characters roughly around level 30 (although some elite players manage it at 13, against the rules in most zones) and spawn a new avatar from that. Curiously, Slashdot players often neglect to work on that particular skill set and often fizzle the Matefinding spell.

      The new avatar does start at level 1 though and you are normally expected to mentor them until at least level 18. And you don't get to play the new avatar yourself - character death is permanent and linked to your account. However there are rumours that your account may be ported to a secret project when your character dies, either on the good or evil side depending on your actions during the original game.

      I also find it quite difficult to get vendors to buy spider legs and pieces of rotting zombie skin from me in this world - it's a lot more focused on tradeskills as a way of earning money.

      • by Phrogman ( 80473 ) on Sunday October 11, 2009 @03:25PM (#29712905)

        The Crafting system is definitely the best in any MMO I have seen. Literally anything can be made and sold if you can find other users who want to buy it, and if the item in question doesn't exist, the system is flexible enough to allow you to create it yourself. Some items are banned though, and there can be severe penalties for attempting to produce or sell them - although in some cases if you have secured a position with an in game guild (called a "Corporation" in Nature Online terminology, or a "Government" in some cases (although usually Corporation own Governments, its complex)), you can get away with it due to guilds have superior rights in game over individual player characters.
        Actually Nature Online is really quite cutting edge with regards to the player created content aspect of the game. Pretty much everything in game is player-created.
        The PvP system is quite evolved, can be highly stressful, and quite well supported. Perma-death does tend to decrease player willingness to participate in PvP however. The fact that PvP can theoretically break out anywhere at any time does lend a certain frisson to the game for some people, although often the likelihood of such impromptu PvP, or even dueling (which has gone out of fashion amongst players) can be determined by the zone you are in.
        Oh, yeah, zoning. The Zoning system is perfect, there is literally no noticeable difference when you zone from one area to another.
        Communications can be a problem. There are great communications tools available (although strangely no universal guild chat of any kind), but while spatial/local chat is free, virtually every other type of chat costs the player "money" (the term for credits/gold in the game).
        Its quite common for players to complain about the maintenance periods in an MMO. Virtually every MMO requires some downtime to do maintenance on the system, but players often find it extremely annoying that they can't play during this period. NO has solved this with a unique approach - each player character regularly undergoes a downtime for maintenance - often as much as 8 hours per day - but the whole system remains running at all times. This asymmetrical approach to server maintenance means that each individual can choose the time for their downtime maintenance, and its even flexible enough to allow you to break the roughly 8 hours required up into smaller periods stretched out over the day (although this is not recommended) or even to skip nightly maintenance entirely - although this can end up in resulting in a longer maintenance period the following day, and if repeated too many times in a row can result in distorted graphics, lag and lowered response times in many areas of the game.
        Overall Nature Online is a superior title and one that many MMO players should investigate more (although virtually all of them have one of the free accounts you recieve if you are lucky enough to be invited to the game, many do not participate beyond the minimums required to get started). It does have a long learning curve. It does have permadeath (although as noted above some people believe you do get a new account at a later date, some people believe you end up in new secret projects that are perhaps in beta at the moment. Its all based on wild player speculations, so take it with a grain of salt). It does have the most unique and engaging new player creation system ever devised, which allows 2 players to create a new account that will be handed out to a random recipient. In fact this system is so much fun many players engage in it just for the enjoyment of the process - sometimes even to the degree that they ignore the actual requirement that both players cannot be of the same "gender" (an obscure classification of character sub-type that is one of the things you can't choose when you are spawned). If for no other reason I highly suggest you explore this subsystem of the game, it really is unrivaled by any other system in any other MMO, period. Its even better than PvP for most players!
        My personal ratings for Nature On

        • Re:Nature Online (Score:4, Interesting)

          by Opportunist ( 166417 ) on Sunday October 11, 2009 @04:01PM (#29713175)

          NO is also the only game I know where the biggest flamewars (and even whole PvP events) revolve around whether and what game you get transfered to after permadeath. Curious. What other game do you know where there are players that spend a sizable portion their time pondering what to do when they stop playing?

        • by Samah ( 729132 )
          This post has made my day, and possibly my entire week. Kudos to you. ;)
        • by Pumpkin Tuna ( 1033058 ) on Sunday October 11, 2009 @10:01PM (#29715215)

          Graphics: 10/10 (The graphics are perfect, its hard to imagine any improvements that could be made)

          Speak for yourself. I ran into a glitch where the graphics were great for a while, but started fading around level 20. At first I thought it was my video card, because I could still see things nearby, but everything far away was blurry. By level 32 or I had to rate the graphics a 20/60. I finally dropped 2000 gold pieces on a permanent healing buff that fixed the problem. I'd give it a 20/20 now.

    • Re:Nature Online (Score:5, Insightful)

      by _Sprocket_ ( 42527 ) on Sunday October 11, 2009 @01:33PM (#29712317)

      Yeah - but that system is riddled with bugs. People are always finding exploits. And the development team is unreachable. I mean, sure - there are those who claim to be community managers but I think most of them are con-artists and trolls. I don't think I've ever managed to get in touch with a real GM. I'm not even sure how their ticketing system really works.

      So sure - you have one example of a single world instance that's pretty popular. But it has so many flaws. And that is really driving a market for a different implementation. Otherwise, you wouldn't see all this competition trying to come up with alternatives.

    • That's what *you* think.

      http://en.wikipedia.org/wiki/Many-worlds_interpretation [wikipedia.org]

      might open your mind.

    • by Opportunist ( 166417 ) on Sunday October 11, 2009 @03:56PM (#29713129)

      Respawn is tricky. Only one managed to do it so far, but it took him three days and he did it in godmode.

  • One of the major problems facing worlds such as Everquest is the fact that it's been wonderfully expanded to accommodate the huge player base - and then they've all left. What you're left with is a huge sprawling world with a few players rattling around in one corner of it. Login queues certainly aren't an issue at that point.

    • That is why the idea of spawning more copies of the same game zone as it fills up is not such a bad idea. Not just for spreading the load across different servers, but also for making sure the game world doesn't get too crowded. Age of Conan (and a few others) do this... when AoC launched, the servers were chock-full but I never saw any queue. The popular game zones could have as many as 8 instances, but each of those had a reasonable populace without being overcrowded. As players inevitably left the g
      • Re: (Score:3, Insightful)

        by Opportunist ( 166417 )

        most MMOs these days seem to draw a big crowd and lose most of it in the first few months

        It's rather that most MMOs these days create a huge hype around themselves that they can't live up to. So people join, find out that it's anything but the hype, and leave.

  • Easy fix (Score:2, Interesting)

    You know how sometimes when a popular game is released, you can't get it at the store because they're sold out? Do that for MMOs. Basically, limit the number of people who can start playing at launch, and let them eagerly await when their copy will arrive in the store, rather than letting everyone start playing immediately and be disappointed by having to wait 3 hours to log in.
    • Re: (Score:3, Informative)

      by drsquare ( 530038 )

      But most MMOs' business models revolve around selling as many copies as possible before people realise the game is shit.

      • True enough. The solution I proposed only applies if a.) the game is good, and b.) you don't want your good game marred by a bad launch.
        • Show me an MMO that is good and we'll talk.

          Rather, show me one that's good at release. No, not even the current reference class for polished MMOs, WoW, had a "perfect" start. And it was pretty good, actually. Still, the people who played from the beginning will remember long downtimes (often multiple days), broken main quest lines, instance servers that just so happened to barf after 3 hours of hacking and so on. What let WoW survive that start were a mix of happy coincidences and, well, Blizzard.

          1) There w

  • As I'm not a CS Major or even a competent programmer (I failed Basic), my idea might not hold water but here goes: Why not go with a Load Balancing setup, just like any high availablilty website/service? You'd need a Master Controller (Root DNS anyone?) and it parcels out clients to each server based upon how much load that sever is under. To me it makes more sense to do away with the Server/Shard/Region system in favor of the Load Balanced setup as it should allow for a seamless addition of resources inste

    • Re: (Score:3, Insightful)

      Because load balancers are for situations where each request is independent and transactional. Online games depend on interaction between characters, which basically makes loadbalancers useless where it counts.
    • This is pretty much how Champions Online operates, and I am quite happy with it. You avoid overcrowded game-spaces while avoiding ghost town game-spaces too. If your initial population of 1000 players dwindles down to 200, and your instance-size is 100, then your original 5 instances is simply reduced to 2 without impacting the players' perceptions.

    • What you talk about is already done, to a certain extent, in that a given MMO "server" is often not a single computer but rather a whole cluster of them all working on different parts.

      The real problem you run in to is too many people in one area. This creates a few problems that have nothing to do with server architecture, and no solution in it:

      1) Client graphics. Every character in an area is another object the client's system has to render. Even if you keep the models fairly simple, you start overloading

  • Since the game world is essentially a 2-D surface, why not arrange the servers in a grid topology? Each server can talk directly to the servers north, south, west, and east of it. Long-range traffic can either be routed through the grid, or, depending on its urgency, sent through a central router that is one hop from every node (i.e. the nodes are connected both in grid and star formation). A front-end load balancer takes care of transferring players' TCP connections from one node to the next as they move i

    • The problem, I think, is this:
      If I am on server A in some city, and you are on server B in that same city...you also have to be on server A, otherwise I can't interact with you. I'll admit, I don't know a whole lot about these things either, though I am a comp sci major, but it seems to me that the server sending me all the information about the world has to handle all the information about any people near me in the world, or I will not see them. So if we have two different servers sending us information, a

      • That's not a problem... It's basically how EVE Online works with it's star systems.

        You need to route communication that is 'global' to a dedicate machine, and considering that it's far less resource intensive than the game play itself, one machine should be able to handle millions of users. (Think IRC server with some extra fun stuff)
      • I'm not talking about throwing players onto the grid "at random." The grid encodes the topology of the game space. Using the United States as an example, you could have a server for each state. As a player moves from one state to another their connection is transferred by the load balancer.

        It is true that if two players are on different servers, there must be some inter-server communication for them to interact. It would be like two people standing on either side of the Washington-Oregon border for instance

        • Yes, and that's exactly how they work currently. The problem is, say your MMO world is the state of Pennsylvania. You have a server for Pittsburgh, a server for Philly, and a server for everywhere else. But the Philly server is still too full. What do you do? You can maybe divide the city up into a few regions and put those on their own servers, but eventually you reach a point where you just cannot add any more servers. In the specific case mentioned in the article, the problem was that there were too many

    • Most of the Problems are sort of being handled in SecondLife by working with a "Grid"

      1Each sim/region has its "stuff" running on a single computer (for full level regions Homesteads and OpenSpace regions are "stacked")
      2 Player inventory is on a separate set of servers
      3 communications is also on a separate set of servers (in fact i think text and voice are also separate)

      Of course this is not all working perfectly but it does scale since SL has a running average of about 50K-70K logged in accounts and most of

  • It seems like the better way would be to develop and deploy the MMO in an environment much like super computers and their applications are. Connecting servers with ultrahighspeed interconnects like InfiniBand (or now maybe even 10Gb ethernet would suffice) to create one large fabric of processing - not individual hotspot servers. This would allow the environment to dedicate more processors and memory to hotspots and not have idle servers laying around waiting for a group of players to explore that part of t

  • Perhaps it's time to start looking at using an RDBMS for such a contraption. They've been bypassed in the past for such because their response time is not predictable and/or consistent enough for most real-time activities. (That's not the same as being "slow" I would note.) However, if the complexities of the other ways are causing timing problems anyhow, then maybe the RDBMS's downsides are no longer as large in comparison.

  • Have the game "roll" the server you're gonna play on when you create your character... you don't control what server you'll get on so there will be no server with too many players on it compared to deserted servers... the only thing that sucks is to try to reach your friends, you have to get some server switching items to do that...
  • We designed a "peer-to-peer" MMO many years ago, although I have to say we didn't implement it and the devil is definitely in the implementation. Anyway, you can read the design docs here [annexia.org]. After it was clear we weren't going to write it, I published the docs just to give a priority date (1998) to invalidate any stupid patents ...

    Rich.

  • by Anonymous Coward

    This article is primarily about load, but the idea of single game-world has to fundamentally change the game system. In many MMOs, such as WoW, RuneScape and so on, there would be a gaming problem. Even with small world populations it's a minor issue.

    Fundamentally it's the suspension of disbelief that would be required.

    For example. Across WoW there might be one guild trying to complete some über quest at a time. However, if you compressed all US worlds, there would be hundreds of guilds doing it simult

  • Just use SSI (Score:2, Informative)

    by loufoque ( 1400831 )

    Just do one server with threads running on a SSI on top of your cluster of nodes interconnected with low-latency links.
    That way you have one server that makes the best usage of your hardware.

Keep up the good work! But please don't ask me to help.

Working...