Could weather become part of Ultra Mode?


Aisynia

 

Posted

Quote:
Originally Posted by Zikar View Post
Luminara, rain, sun, snow etc would have no effect on the servers at all, since it would all be handled client side.
Then they wouldn't be done at all, because they wouldn't be persistent from player to player. That was the same reason given why the Big Red Ball wasn't feasible. If they're going to do things which affect or can be affected by everyone in a zone, they want them to react and display the same way for everyone. Without server interaction, there would be nothing to tell the clients to display the same weather effects, so you could have ten people standing next to each other and experiencing ten different types of weather, which you know as well as I do that the developers aren't going to consider acceptable.

Ergo, any weather added to the game would require server resources to make them zone-wide and persistent from player to player.

Furthermore, in an MMORPG, there simply is no such thing as "have no effect on the servers at all". Everything is ultimately controlled by the server, even client-side calculations. The server checks and verifies everything the client does, and if it doesn't match, the server overrides the client. You can't even move without the server's consent, which it only gives after checking where you were when the movement command was issued, checking where you're moving to, checking your speed and ensuring that all of them match what it says is right. And if the client is wrong, you get "rubberbanded" when the server corrects the client and forces it to reset your location to where it said you should be.

So yes, even client-side weather would require server resources. When you moved, the server would have to ensure that the client was adjusting the visual effects correctly. When you zoned, the server would have to send the client the updated weather for the new destination. Et cetera, multiplied by the number of players accessing any given server at any given time. It may not have a tremendous or catastrophic impact, but it will have an impact.

Here we have Castle unilaterally vetoing a suggestion on how to change Vigilance because of the performance impact it would have on the servers. Should we ask him what the result would be of having the server perform checks on every server tick to verify player location in relation to the weather, weather pattern, weather location, wind direction, type of weather, where puddles are on streets, where snow is or isn't, timing on weather and residual effects, and so forth? I know his response wouldn't be "No effect on the servers at all". Sure, some of that information is already available, like player location in the game world, but it would have to be run through another filter, which would add to the server's load, and other information would be new, adding additional load, and it would affect performance to some degree.

Quote:
Edit: Additionally, that's not why Hami raids lagged at all.
Graphical limitations weren't the sole source of lag, but they were a very significant source. If that weren't true, BAB wouldn't be posting things like this (a good costume contest can pack two or three times the Hive's current limitation into an even smaller area, without performance degradation like what was seen in pre-I9 Hamidon raids. it's not simply having that many players in a confined location that reduces performance, it's having that many players activating powers and taxing the graphics engine and server that causes problems) or this.

There was a reason people were asked to show up at old Hamidon raids "naked", meaning with minimal costumes, no capes and no auras, and it wasn't because the raid leaders were horny.


 

Posted

Weather and Dynamic lighting would be awesome.

As for the whole weather issue, there could be a simple flag for it, and people who have the equipment with the option enabled see which ever effect the server called for.

I could just imagine, stepping out of a skyrise in steel canyon, having stopped yet another circle plot from capturing the city, and instead of being greeted with fanfare or news reporters.. he's greeted with rain, making everything seem heavier than it already is. Time to check in with your contact, just another day for a workin super hero xD


Combat Kangaroos, Justice Server. First 50's
Jirra Roo Plant/Storm/Stone/Musculature Controller
Combat Kangaroo Rifle/Energy/Mace/Spiritual Blaster
Kung Fu Kangaroo Martial Arts/Reflexes/Body/Spiritual Scrapper
Tribal Arc Shield/Elec/Mu/Spiritual Tanker

 

Posted

Quote:
Originally Posted by Luminara View Post
Then they wouldn't be done at all, because they wouldn't be persistent from player to player. That was the same reason given why the Big Red Ball wasn't feasible. If they're going to do things which affect or can be affected by everyone in a zone, they want them to react and display the same way for everyone. Without server interaction, there would be nothing to tell the clients to display the same weather effects, so you could have ten people standing next to each other and experiencing ten different types of weather, which you know as well as I do that the developers aren't going to consider acceptable.

Ergo, any weather added to the game would require server resources to make them zone-wide and persistent from player to player.
The resources would be minor however, 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. 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.
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.

Quote:
Furthermore, in an MMORPG, there simply is no such thing as "have no effect on the servers at all". Everything is ultimately controlled by the server, even client-side calculations. The server checks and verifies everything the client does, and if it doesn't match, the server overrides the client. You can't even move without the server's consent, which it only gives after checking where you were when the movement command was issued, checking where you're moving to, checking your speed and ensuring that all of them match what it says is right. And if the client is wrong, you get "rubberbanded" when the server corrects the client and forces it to reset your location to where it said you should be.
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.

Quote:
So yes, even client-side weather would require server resources. When you moved, the server would have to ensure that the client was adjusting the visual effects correctly.
No it wouldn't, the client would work that out.

Quote:
When you zoned, the server would have to send the client the updated weather for the new destination. Et cetera, multiplied by the number of players accessing any given server at any given time. It may not have a tremendous or catastrophic impact, but it will have an impact.
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. Additionally, the sever wouldn't have to receive any date from the player, just send it.

Quote:
Here we have Castle unilaterally vetoing a suggestion on how to change Vigilance because of the performance impact it would have on the servers. Should we ask him what the result would be of having the server perform checks on every server tick to verify player location in relation to the weather, weather pattern, weather location, wind direction, type of weather, where puddles are on streets, where snow is or isn't, timing on weather and residual effects, and so forth? I know his response wouldn't be "No effect on the servers at all". Sure, some of that information is already available, like player location in the game world, but it would have to be run through another filter, which would add to the server's load, and other information would be new, adding additional load, and it would affect performance to some degree.
Except that you wouldn't need to update every server tick, only when entering a zone or when the weather changed.

Quote:
Graphical limitations weren't the sole source of lag, but they were a very significant source. If that weren't true, BAB wouldn't be posting things like this (a good costume contest can pack two or three times the Hive's current limitation into an even smaller area, without performance degradation like what was seen in pre-I9 Hamidon raids. it's not simply having that many players in a confined location that reduces performance, it's having that many players activating powers and taxing the graphics engine and server that causes problems) or this.
Again, you're confusing lag with system load. Capes do NOT have an effect on the servers, they DO have an effect on system performance however.
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.

Rain WOULD have an impact on system performance (how much would depends on how well it was coded).

Quote:
There was a reason people were asked to show up at old Hamidon raids "naked", meaning with minimal costumes, no capes and no auras, and it wasn't because the raid leaders were horny.
It caused system load yes, but not server load, what caused server lag was hundreds of players moving around all activating powers, what caused client lag was having to render and calculate all of that.


 

Posted

I'm surprised that nobody's touched on the best reason to not have weather effects: It wouldn't make sense to have rain, snow, etc in Paragon City.

Most of the City Zones are surrounded by War Walls. These walls serve two purposes - they keep the stronger threats away from the weaker zones, and they keep the Rikti out.

Since the Rikti need to bring down the War Walls before an invasion, that means that they can't just fly over them, so there must be a "lid" over the top of the zones too.

Every city zone, and some of the hazard zones, have War Walls,completely sealing them in a giant room. How much rain/snow/etc falls in your living room? It's the same thing - Even Independence Port isn't big enough to form the pressure systems that create weather when it's in an enclosed system.

Granted, that doesn't explain CoV, and a few Hero Zones, but it does for about half the zones in the game.


@Roderick

 

Posted

Quote:
Originally Posted by Zikar View Post
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.


 

Posted

Okay, I'm not going to argue with you any more, I see you can't be reasoned with and you can't distinguish between what the servers do and what the clients do.

The server does not care how things are rendered, have you ever seen someone with an overheating graphics card?


 

Posted

Quote:
Originally Posted by GuyPerfect View Post
I'm thinking weather will just be for show.
Pretty much the way weather effects should be, when you start to think things out, what else should weather effect? Should an electricity set get a range and damage bonus? Should any knockback power get a bonus?

I think another reason given for not implementing weather with related effects came down to the player base only coming out when the weather favored them.

IMO, I'd like to see weather implemented simply as some more shine on the shiny. It doesn't have to do anything extra. Also along those same lines I'd like to see seasonal changes as well.



------->"Sic Semper Tyrannis"<-------

 

Posted

Quote:
Originally Posted by Luminara View Post
That's what I'd expect to be the result of weather in this game. And I'd rather not see entire servers start behaving the way the Hive did during old-school Hamidon raids, at least not while we still have mandatory street hunt missions in story arcs.
Don't forget the Rikti mothership raids we have now; turning off all of the Ultra Mode chrome and setting Ventrilo's task priority to High has stopped the problem I had with getting horrible voice lag (getting voice from the middle of the raid played back after the shields had come up and everybody got ported back to Point du Hoc), but during the raid, I still see 'recharge dissonance' -- where the icon of a power has grown back to full size (that animation being entirely client-side), but the server thinks the power is still recharging (due to the server load slowing it down). It doesn't get as bad as the old-school Hami raids -- I remember waiting minutes for powers with 5-second recharges to come up (I also remember having, at one point, twenty-one stacked Accelerate Metabolisms on my character, but that's a different aspect of the old Hami raids -- and it still didn't make powers recharge faster on the server, due to the load).


"But in our enthusiasm, we could not resist a radical overhaul of the system, in which all of its major weaknesses have been exposed, analyzed, and replaced with new weaknesses."
-- Bruce Leverett, Register Allocation in Optimizing Compilers

 

Posted

Quote:
Originally Posted by Luminara View Post
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.
Actually, the code for that already exists in the game. Go back and look at the way the spawns work during Rikti invasions -- a character will draw Rikti attention (i.e., have Rikti port in near them) as long as they're not under cover. Move under a bridge, or the porticoes on the north side of the Golden Giza, or under the overhang around the arenas, or into a store/vault/university/arena, and you don't get Rikti porting in near you.


"But in our enthusiasm, we could not resist a radical overhaul of the system, in which all of its major weaknesses have been exposed, analyzed, and replaced with new weaknesses."
-- Bruce Leverett, Register Allocation in Optimizing Compilers

 

Posted

I have to say I wasn't expecting such a vigorous debate over potential weather effects! I hope I haven't set people against each other over what I was hoping was a relatively simple question.

I guess I should refer to a game that I currently play (Lord of the Rings Online) that seems to handle multiple server weather events (including 'inside' neighbourhood housing instances) with system requirements that aren't that much higher than our own and with low video card requirements.

The maximum requirements there are: a Pentium 4 processor with 2.8GHz or equivalent (admittedly this is a little higher than CoH's 2.0) and a Nvidia/ATI card of 6800 or X850. Currently LotRo can lay down full blizzards in the mountains, thunderstorms complete with lightning and heavy rain and even rainbows on sunny periods.

Are we simply talking then the modernity of the programming between the games, given that one came out in 2008 over 2004? I'm not knowledgeable enough to know for sure, but that's the impression I'm getting.


S.


Part of Sister Flame's Clickey-Clack Posse

 

Posted

My first serious MMORPG was FF-XI. It initially came out for the PS2 just over eight years ago (May 16, 2002); I started shortly after the US PS2 release in March of 2004.

FF-XI features a detailed and visible weather system which ran smoothly on the PS2, although originally it required an above-average PC to run them (in ~2005 many PC users were still turning off visible weather effects for raids, etc.); by the time I had a better PC and switched from PS2 to PC (spring 2008) it was a complete non-issue.

Windy days featured small leaves being blown along, rain and snow were visible falling, stormy days had lightning flashes, some areas had heat shimmer on hot days, and so on. The weather interacted with a few quests (could only find a particular tiny object during a sunny day (as you supposedly found it by the sun glint), an elemental stone needing to be exposed to several different sorts of weather to activate it, etc.), affected fishing results, and had a significant effect on spells (IIRC +10% damage for aligned to weather (wind spell during windy weather), -10% damage for counter-aligned to weather (earth spell during windy weather)).

All this was done with a system that imposed very minimal load on the server or the network. The weather for an outdoor zone was randomly determined from a table appropriate to that zone's climate several periods in advance (to allow weather forecasting to work); this was pretty much a single random roll on a table for each zone every period. Sending the weather for the in-game day to the clients may have been as little as a byte every period, as part of the update of various world statuses. I no longer recall exactly what the weather change period was, IIRC it was a game day (slightly less than a real hour); and storing several periods locally so that, e.g. certain NPCs could offer opinions on tomorrow's weather presumably took only a handful of bytes.

On the local side, an outside area was either marked as being "under cover" or was considered "open". You could stand a bit back from the mouth of a cave in the mountains (under cover), and look out into the snowstorm (open). A good fraction of this is already done in CoH; as part of the Rikti invasion code, the game knows whether you're "under cover" or not; if you're under a bridge you don't get Rikti spawns, so this aspect would be easily portable.

The trick with all of this was that there weren't any directly player affectable persistent effects... the snow didn't build up into snowdrifts that you could dig into, or the like. There are already a considerable number of similar effects in CoH; pretty much everything handled by the particle system (leaves, shell casings, etc.) qualifies for instance. There are in fact more annoying current issues, like Propel objects and (IIRC) alakazamreact objects being different for each user (would it really be *that* much of a load to pass a single byte to designate the object, rather than each client generating them randomly locally?)

Looking at it another way, we already have three states of "weather": Normal, Rikti Invastion, and Zombie Invasion. There's clearly a mechanism to signal from the server to the clients to change into and out of the invasion weather states; hypothetically that could be repurposed to add "rainy" as another state, and send that to the zone every so often instead of "normal".


Miuramir, Windchime, Sariel the Golden, Scarlet Antinomist...
Casino Extortion #4031: Neutral, Council+Custom [SFMA/MLMA/SLMA/FHMA/CFMA]
Bad Candy #87938: Neutral, Custom [SFMA/MLMA/SLMA/FHMA/HFMA]
CoH Helper * HijackThis