Single One Server + World Representation
Have you ever noticed how much longer load time is when you go to an overflow? It has to go down a list until it finds a server that isnt full.
This would make load times so much longer for every area, make it frustrating for guild members to play together due to different overflows with some being full and make the server run slower due to all the players on one server.
You do know servers are not this magical machines that can host millions of connections at a time. They’re high end computers on a good internet connection. Have multiple servers reduces lag because if there were only one server, all the players would be requesting information from one computer every second at the same time.
I’ve seen this done on smaller games, but GW2 is by no means a small game.
I do know what servers are.
The top paragraph in fact mentions this as a potential problem, directly. It’s a potential problem and not a definite one because there are multiple ways to handle data migration, storage and access. In one storage method, it’s possible to have permanent stores and cached stores that act as temporary repositories for information that’s frequently changing but would be too taxing to have on a single machine. When the update frequency slows to either nothing or stops long enough to allow it, copies from the cache are sent back to the permanent store and the two remain synched.
The time for this copy to happen in either direction, barring it being MB sized info (and it wouldn’t be, you don’t transfer information about the art/sounds, just very compact text to represent it), is on the order of milliseconds not seconds. In fact, you notice that this is a fast process every time you play. How? Because the character’s state is replicated to you at intervals like 100ms to 300ms depending on your latency. It doesn’t have all the same information necessary to permanently track your character, but really, most of the information that isn’t necessary for state replication is rarely read/written from a permanent store anyway, even in its current state it is almost certainly cached.
And no, I haven’t noticed any difference in load times. A server “going down a list” is not going to add even a second to the time it takes to connect. Why? Because whenever you connect to -any- instance, it goes through the whole handshake process just like any other, and iterating through a list of servers can be done, even on slow server hardware, many millions of times per second.
Each zone is already an instance, which is why you see overflow, and is also why everyone does not and would not connect to the same server to request information every second (and it’s rarely on a per second basis anyway, ticks are separated depending on the type of content in question and are responsible for things like interest levels, determining who needs to be sent what, and the type of content, as in some needs to be updated with each message sent but others can wait a few ticks depending on how far away you may be from that object or how likely/often it is to change state).
That said, I don’t know their architecture, but I imagine given how easy it is to guest, how well the overflow system works, and their many years of experience with GW1 and now GW2, it’s not a system that would crumble under the weight of consolidating servers.
Snarkiness like “you do know that servers are not this magical machines” wasn’t necessary, especially when it should be clear to you that your own experience with such systems is underwhelming. Before lecturing a librarian about books, you should at least read one, and likely should stick to lecturing about things you truly know. That isn’t me being snarky, it’s just solid advice.
(edited by Unleashed.6195)
My server is packed pretty full. The nightly boss train is thick with players, and when we get tossed into overflow it’s a major frustration. Karka Queen and Shadow Behemoth are bad for this. Overflow works for getting players into the zone, but you’re suddenly removed from the event schedule. Sometimes the boss will pop up in the overflow server, sometimes not.
With all servers merged, most of the population would be in overflow most of the time. How would be any better than separate servers? With so many full overflow servers, it would become very difficult to catch the same server as your friends. Let’s say all of the bosses are put on the same timer for all servers, including overflow. How does this handle pre-events? Pact is assaulting Balth, so you head over there…and hit an overflow where the invasions haven’t even launched yet. Let’s say one overflow decides not to do an event, or takes an hour longer to do it. So you show up for Shatterer and hit an overflow where he’s not even in window for another half hour.
And yes, load times are much worse when you’re going to a heavily populated spot. If I’m not in Sparkfly before Tequatl spawns I get five minutes of load and lag before my game even displays my character model. I expect one merged server would only make that worse.
For world events, where you have multiple parties worth, you’re right, it’s a negative in that only one party full of guild mates can be assured to be in the same instance. This already happens with high pop events like the new LS Queen’s event where two guild parties were in separate instances.
The other complaint I don’t quite agree is an issue. As you say, separate servers have a common problem because everyone is instanced apart from one another. The assumption I disagree with is that you’re more likely to encounter an overflow instance where people aren’t doing the event. The quantity of people necessary to make a zone overflow usually indicates a large quantity interested in an event that’s going on. I don’t think you’re more likely to see events untouched with n instances than you are with n servers. In fact, because some of the n servers have populations too low to consolidate and complete them, you’re probably more likely overall to complete them than otherwise.
Load times in a populated area are not the same as load times caused by connecting to an overflow. Connecting to a highly populated area can cause longer loading times because you’re both getting more player data and having to draw more texture/model/audio etc. data for all the different assets in play when many players are gathered.
Instance clocks could be synched to ensure that what is happening in one instance of a zone is happening in all.
There are other features that could be introduced to reduce the impact of less organized grouping (servers provide this very automatically). You could matchmake based on guild representation or world representation, attempting to keep players together that were previously together by default.
These would add some overhead, but the benefits are significant to those on poorly populated servers or for those who enjoy less mainstream content.