Could weather become part of Ultra Mode?
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
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. |
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.
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. |
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. |
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).
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. |
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
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. |
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.
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. |
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. |
No it wouldn't, the client would work that out. |
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.
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. |
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.
Additionally, the sever wouldn't have to receive any date from the player, just send it. |
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.
Except that you wouldn't need to update every server tick, only when entering a zone or when the weather changed. |
There is no such thing as "one check, then forget it until later" in this game, with the client-server model it uses.
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. |
Hello, effect on server performance. One feather on the scale.
Rain WOULD have an impact on system performance (how much would depends on how well it was coded). |
It caused system load yes, but not server load, what caused server lag was hundreds of players moving around all activating powers |
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.
what caused client lag was having to render and calculate all of that. |
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.
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?
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"<-------
"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
"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
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
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
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.
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.