Quote:
Originally Posted by Zikar
The resources would be minor however,
|
Then we've already moved away from "none at all", haven't we.
Quote:
the sever would keep track of the weather, but it would only need to send data to a client when you enter the zone and when the whether changes, once zoned in, the server won't need to keep sending or receiving data.
|
If that were the case, you'd be getting rained on inside stores, under bridges, etc. The server would track
you and where you were in relation to the weather. It would also have to coordinate your client's weather with that of every other client in the zone, else you get the "rain here, snow three feet away, clear as a summer's day behind me" problem. And it would need to keep track, and updating clients, of the weather's movement through zones. It would be ridiculous to have a blizzard going on in Skyway City and every zone around it clear, or worse, for random weather to simply
happen in random zones while adjacent zones have totally different or no weather, so you'd have to have that kind of load to add to the server, none of which can be done client-side.
And what of those persistent effects that I brought up? You know there isn't going to be rain without puddles, and you know those puddles aren't going to be there for one player and not there for the next. That's not how our developers roll.
Quote:
Unlike the big red ball that will require the server to keep track of it every time it moves and tie that in with the physics system.
|
So would puddles, and snow drifts, and wind, and obstacles which provide shelter from the weather... and the weather itself, unless it's just random rain and snow in random zones, and frankly, after the lengths I've seen our developers go through for things like power customization, the AE, Ultra Mode, new powersets and everything else they've done in the past couple of years, I honestly don't see them being so lazy and short-sighted as to do that. You should know as well as I do that they wouldn't implement a weather system if all it did was "make screen look wet in random zone X", it would be exactly as I'm describing, a persistent, game-wide system that affected multiple zones at once, left behind artifacts for players to experience (like puddles or snow drifts), followed realistic weather patterns and probably even kept track of what season it was supposed to be in the game and adjusted accordingly.
Quote:
Weather is just like shadows or reflections, something the client does, the only thing the server would do is tell the client whether to activate those effects.
|
No, sir. I do not accept that weather in this game would be little more than a little icon representing a flag that turned on a shader in a zone, no different than the -50% Debt power in the RWZ. That's far too simplistic. Even if it
were as simple as that to make the effect occur, it would require more resources than you're admitting to make it work properly
AND not look ridiculous.
Quote:
Moving however is something very different from weather. The server will not track every rain drop, in basic terms, it would come down to the servers just telling the client to start the rain effects because the server says it's raining. Server wise, I'd doubt rain would be any more server intensive than the fog in Astoria.
|
And moving
in weather would still require not only tracking the player in relation to the locale, but
also tracking the player in relation to the weather
as well as tracking the weather in relation to the zone and world.
Quote:
No it wouldn't, the client would work that out.
|
And the server would double-check it, and verify or correct the client. If you don't believe me when I say that you can't move one inch without server interaction, PM a developer. Whatever graphical effects would be displayed would
have to be coordinated with the server, or you'd have rain indoors, snow inside missions, etc. Again, that's why people experience "rubberbanding", and powers giving the "not recharged" hum when they look like they are recharged and other anomalies, because the client was not coordinated with the server. And weather would be no different, the server would monitor the character's location, speed and direction, and the type of weather, speed and direction of the weather front, everything related, and issue corrections on any client-server mismatch. You can't do a completely client-side system in an MMORPG, it
always has to communicate with a server, even if it's for no reason other than to prevent exploitation/hacking.
In this specific case, the server would
have to maintain control in the same way it does with movement, at the
very least, just to ensure that you wouldn't be standing in a snow drift while talking to the SG Registrar.
Quote:
If power customisation didn't have an effect, what with every power of a character having to be received and sent any time they zoned in or out, I doubt weather would.
|
Power customization is one of two things, either a short series of numbers to represent colors, which is cached and called on
only when those powers are used in line of sight, or a short notification to a client that Client X is using Animation Y for Power Z, which is also cached and called on
only when those powers are used in line of sight. You don't see a difference in performance because those calls are rarely made. You aren't seeing hundreds of players using their custom powers within your visual range, you're seeing your own, a few when you're cruising around, a few when you're teamed, a few at the market...
Weather, however, would be a persistent,
constant graphical effect. Not only would the effect be called, the accompanying sound effects would be called as well (which you don't hear on powers unless you're close, therefore impacting performance even less), and they'd be on all of the time. That will have an effect on performance.
Quote:
Additionally, the sever wouldn't have to receive any date from the player, just send it.
|
The client
always has to send data to the server. Again, the client can't allow your character to take one step, activate a single power, do
anything without the server's verification and permission.
You've been mapserved, right? Can you move when that happens? Activate a power? Do graphical effects behave properly during the period between being mapserved and either reconnecting or being booted to the login screen? No, no and no. Without the server, the client doesn't work. And without sending data to and receiving data from the server, in regard to weather effects, that weather doesn't work either.
Quote:
Except that you wouldn't need to update every server tick, only when entering a zone or when the weather changed.
|
Your client updates the server constantly, even if all you're doing is standing alone inside an instanced mission in the furthest point in the game world, it's not going to make a special exception for weather. That weather would be checked constantly server-side to ensure that the client wasn't displaying it when and where it shouldn't, was displaying it when and where it should, that the correct weather was being displayed, where you were in relation to that weather, which direction you were moving in relation to that weather (because, for example, having rain coming from behind you continually when you were turning in a circle would be cheap and unacceptable) and a more things than I can think of off the top of my head.
There is no such thing as "one check, then forget it until later" in this game, with the client-server model it uses.
Quote:
Again, you're confusing lag with system load.
|
No, I'm not confusing anything. I said that weather would impact performance across the board, for the servers and the clients, and gave the old Hamidon raids as an example of how that would occur. The graphical effects would stress clients and cause anomalies, just like they did at those Hamidon raids, and the constant monitoring and control of the weather effects would degrade server performance to at least some degree because it would affect everyone in a zone or series of zones, just like what happened at those same Hamidon raids. I kept my initial response brief and as straight to the point as possible, rather than go into intimate detail on how a client-server model works and how a persistent graphical effect would affect both.
Quote:
Capes do NOT have an effect on the servers, they DO have an effect on system performance however.
|
Just like everything else, the client keeps the server updated on what the character is wearing, including cape or no cape, type of cape, colors on cape, pattern on cape,
just so the server can update other clients when it needs to. And that does impact server performance. It's a minuscule amount, certainly, but it does occur.
Quote:
In the second example there, the only difference to the server is that instead of saying
Cape = No
Colour = No
Pattern = No
etc it would say
Cape = Yes
Colour = 15
Pattern = 8
Or something similar.
|
That "something similar" would also include the server verifying the state of the cape frequently in order to ensure that it could deliver a timely update to all other clients which requested the information.
Hello, effect on server performance. One feather on the scale.
Quote:
Rain WOULD have an impact on system performance (how much would depends on how well it was coded).
|
It would impact both.
Quote:
It caused system load yes, but not server load, what caused server lag was hundreds of players moving around all activating powers
|
Not quite. What caused the server degradation was having 100+ players moving around and activating powers
all within visual range of each other. Simply having the same number of people in the same zone, all moving and using powers, doesn't reduce server performance to the same degree. And having a single player, or small number of players, with continual graphical effects of using a lot of powers doesn't do it, either. It's a combination of proximity and constant updates on all of those clients near each other that caused that problem.
Which is what would happen, on a smaller scale, with weather. Graphical effects being rendered for everyone, server being stressed with the additional load of monitoring all of the necessary data to ensure that the effects were displayed appropriately, just as if everyone were hanging out together and spamming powers. Not
as bad, because it would at least be a single effect or a limited number of effects, but it would definitely add load to the server and reduce overall performance, and it
would get old-Hami-raid bad when more than a certain number of people gathered together to do something, such as participate in a Rikti invasion, or fight a GM, because they'd be adding their own load from being in close proximity and using powers to the load inherent in the weather system.
If done poorly, it could be so completely unworkable as to make the game unplayable for even a single player, because critters in this game use the same graphics for powers that we do. Even if done well, it absolutely would reduce the maximum potential number of players who could work together, because the additional load from the weather would be like adding X number of players to anything. Every zone would have to be limited in the same way the Hive was, to prevent the server from spazzing out, and keep the clients' ability to render everything within a tolerable range.
Quote:
what caused client lag was having to render and calculate all of that.
|
And what would be the effect of a zone- or game-wide area effect with multiple checks (player location, player direction of movement, player orientation on compass, player speed, player proximity to objects which might block the effect, effect direction, effect intensity, effect location, etc.) and displaying a continual graphical effect for everyone in the zone, in addition to the overhead from their own characters as well as other nearby players and foes?
Server, client and engine all stressed and displaying symptoms of old-school Hamidon raid behavior, that's what.
You referenced fog earlier. Fog is just there. It doesn't do anything, it's just there. It doesn't matter if you're under a bridge, or flying, or standing still with every toggle you can possible have activated, it's just there. It doesn't even actually have a graphic, in fact, it's an old rendering trick used by games to reduce graphical load by obscuring things further in the distance. It's just a gradient reduction with a set luminosity and color. Rain and snow aren't just there, they have graphics (even if they're nothing more than sprites), they have a direction in which they fall, they aren't supposed to fall under bridges, they
should be obstructed by things like skyscrapers if they're properly animated and rendered to show them coming from a specific direction, etc. All of those things, and more, have to be monitored by both the client and the server, the graphics have to be rendered by the client... it's not like a setting to turn on fog. It really isn't, even if the implementation is as relatively simple as the sepia fade in Ouroboros missions.