You're obviously not reading the comments in the code. Those ARE the weather system. >.> The cells won't ever change if you take those out. You're completely butchering a system built around balance. If you give me a couple days to work this out, I'll have a fix. But trying to fix it on your own isn't working.

RandomizeCells, is only called in time_update for a reason. It completely randomizes the values of the cells. This is done to simulate those days where it's bright sunny, you go to sleep and the next morning, you've got clouds as far as the eye can see, and you're in a severe thunderstorm warning.

Removing CalculateCellToCellChanges() stops the map from functioning. It won't EVER change without that function. You won't get crashes, you won't get anything. because the map and the system aren't DOING anything.

Removing EnforceClimateConditions() won't fix your problem, it will make it work. EnforceClimateConditions() is the function that reads those climate flags, and does it's best to keep the weather for the cell within normal limits.

If you do what you're planning, You're effectively making your installation WORSE then what it was designed to replace...

Llarn said:

I think that maybe the problem with the weather code.

Just stop thinking, and read the code. Look at the comments, and learn what it's doing. It's perfectly clear to me that you haven't because of what you're planning on doing.

And sorry if I sound a bit snippy, but I put 9 months worth of blood, sweat, and tears into this system, and you effectively want to turn it into a bunch of cells with random numbers every update. Which is worse then the original system. It at least kept propagating changes.

Everyone needs to step back, breathe, and not let this get out of control. There's no need to turn this into a fight between you two over misunderstanding how the code functions. Hell, I don't fully understand it because I haven't taken the time yet to really go over it. Which is why I haven't commented one way or the other except to ask how the cells were configured.

It seems to me, from my limited grasp, that the code is doing as it's been instructed by the climate settings that were given to it. It has arctic, desert, and rainforest all touching each other. There's bound to be some unexpected extremes with everything so close together like that.

I'm however not mad at Kayle by any means, just posting findings as I try to work with the weather code.
I know his system is designed to be related to other cells, as his intent was clear. I just prefer to be
able to control mine with a single command for each climate. Then assign what climate I want to each
area, instead of having to make a big weathermap. I truly appreciate all the time Kayle has put into this
code it was a huge improvement over old.

KayleOff the Edge of the MapGroupAdministratorsPosts1,195JoinedMar 21, 2006

Llarn, with the changes you've made, you've rendered the system completely useless. It's not functioning the way it was designed, should that have turned out to be a legitimate bug when I got down to it, With your changes as they are now, I wouldn't be able to help you anyway.

As of right now, you're in unexplored territory, and I can't guarantee satisfactory results. Nor can I offer any help with what you've done.

I apologize for reacting the way I did, but everything I said is true, just needed to be said in a more polite way.

I documented every step in the comments, and I tried my best to explain the system in full in the documentation that was provided with the snippet. If you'd like to find the true fix for the issue, please, read over the documentation, read through the comments in the code, and put everything back to the way it was designed to be run. Without these steps I can't really help you.

The system isn't something you can just comment things out of at random without understanding what they do. One tiny change can throw off all the mathematical computations in the system.

[Edit:]

Llarn said:

I just prefer to be able to control mine with a single command for each climate.

If that's what you're looking for this system is not what you need. This system is designed to run itself, with no outside intervention. If you want total control, you'll want to write/use a different system.

I'm assuming since this is in the snippet forum that it would be right to assume you installed this separately from the codebase?

If so, then it honestly seems to me that the new system isn't right for the needs you have. It happens sometimes. Just like AFKMud doesn't meet the needs of a lot of people, or SmaugFUSS may not be what they're looking for. Usually in cases like this its best to stop and reevaluate what you want from the code, and if the new stuff isn't fit, use the old stuff you had before. I doubt anyone is going to get bent out of shape if the code doesn't fit what you want.

KayleOff the Edge of the MapGroupAdministratorsPosts1,195JoinedMar 21, 2006

Llarn,

I'm having a helluva time simulating this, I've set my cells up identically to the ones you posted, and I can't get it to match your readings. Can you email me your weather.c and weather.h files? My email is kayle -AT- malevolentwhispers.org (Obviously replace the -AT- with @).

It seems to me, from my limited grasp, that the code is doing as it's been instructed by the climate settings that were given to it. It has arctic, desert, and rainforest all touching each other. There's bound to be some unexpected extremes with everything so close together like that.

That's why I was wondering if increasing the number of cells would help create a more stable system. I admit that I haven't perused the code, so it may not work that way at all, but with more cells in the system, it seems that the boundaries would be limited to two types of climates, and the transitions wouldn't be so extreme.

Of course, it's really very cool that you get extreme results from violently clashing climates in close proximity. It would be ideal for a chaos zone (think wild magic), and would keep meteorologists up late trying to figure it out.

KayleOff the Edge of the MapGroupAdministratorsPosts1,195JoinedMar 21, 2006

The way the system is written, You can't assign an area to more than one cell. An whether that would make it more stable remains to be seen, I still am unable to reproduce any of the problems Llarn was having. and without his files, I honestly can't say whether it was a bug of his own making, or a flaw in the system itself.

The way the system is written, You can't assign an area to more than one cell. An whether that would make it more stable remains to be seen, I still am unable to reproduce any of the problems Llarn was having. and without his files, I honestly can't say whether it was a bug of his own making, or a flaw in the system itself.

Wow, you mean for every area I create I would have to make another weather cell? If that is the case then I have done it wrong from the start, with many areas assigned to the same cell. That would also mean hundreds of cells in the future.

KayleOff the Edge of the MapGroupAdministratorsPosts1,195JoinedMar 21, 2006

Right, The cells can have any number of areas assigned to them. As a matter of fact, once installed, all areas default to cell (0,0) until told otherwise by the use of aset. You could literally build your entire mud, with 100s of areas on a weather map of 4x4 dimensions, which would give you enough cells to create an entire world layout similar to earth with arctic cells at 0,0 and 4,4 and climates varying to the tropical line in the center, You would of course have to tilt your square map on one corner to make it a diamond but it would effectively look like:

Arc = Arctic, Tai = Taiga, Tu = Tundra, DF = Deciduous Forest, RF = Rainforest, Sa = Savanna, De = Desert.
I don't recall if those are all actual climate controllers in the system, I haven't looked at the code in a couple days, been distracted with RL issues, and a tiny depressive bout (PTSD before it gets asked. ), But This mimics Earth as closely as I could make it at almost 3am. But you could assign any number of areas to each of those cells, with that one 16 cell influence map you could literally map 16,000 areas to it. And the system wouldn't slow down one bit.

The reason for this is that the weather system doesn't give a flying pigs ass about the areas. There's one function in the entire system that even looks at areas, and that's WeatherMessage(), And it's only looking to see if the areas WeatherX and WeatherY match the cells coords. My goal with the system was to get rid of the weathers reliance on the areas, and make it it's own entity, because Weather on Earth doesn't care about the areas it's in. It only cares about flow and pattern.

The system mimics real weather, to the best of my ability and knowledge, I'm no meteorologist of course, but I did my research, I planned, and I tested, and I retested. The math involved took several days of tweaking and testing, and monitoring to get to a point where it worked. Even now, I'm not 100% sure it's all correct, but after 9 months, I felt reasonable confident that it was close enough for public exhibition. Llarn's been a great help with the previous issues he discovered, most of them were extremely easy to recreate. The one this thread discusses however was not. I've still yet to be able to recreate it. But I am willing to work on it, if I can recreate it. This weather system is like my baby, kinda like the Overland is to Samson, granted he put a years worth of work into his, and mine only took 9 months, but Hey, a human life can grow and develop in the womb in 9 months. Anyway, I've rambled enough, hopefully what i've said is understandable. I've been told a lot lately that I'm not easy to understand...

It seems to me that having more cells in the system would allow for a finer control over transitions between weather patterns. That is, a 3x3 system has less space, so if you want both arctic and desert climates to exist, they end up pretty close to one another. If you expand to a 5x5 system, you can put milder climates between them, which would make their neighboring cell influences less abrupt.

If my thinking is right on this, you could create intentionally more violent climate cells by putting opposing climates in adjacent cells.

Looking at it this way, if you have 50 zones, you can point each zone at whatever cell you want, but if you don't keep a (hand drawn!) map of the physical layout of your zones, you won't be able to predict how their weather will change over time, since if you assign "the snow-capped mountains" to an arctic cell that's adjacent to a taiga, it will behave differently than the adjacent "ice caverns" zone you assigned to a different artic cell that's adjacent to a deciduous forest.

It's very interesting... makes me wish my PHP skills were a little better. I think it would be very interesting to shove the cell data values into a database and graphically animate the changes over time for each cell in the grid.

KayleOff the Edge of the MapGroupAdministratorsPosts1,195JoinedMar 21, 2006

Before I had to input the randomization factor into it, that probably would have been a great idea, but as it stands, I had to toss in a nightly randomize the values within acceptable limits function to keep the cells from reaching equilibrium and failing to change. I really need to work on that and fine tune the system more. But it works for now, and you get the real world random aspects of weather. Hate those nights where it's nice and warm, clear sky, PERFECT for stargazing. go to sleep, wake up the next morning, and it's !&^#@&* snowing, overcast and cold as hell. >.< But it's possible, even in this system with the right climate and hemisphere settings.

[Edit:] As a side note, the system MW is running, is using a map with the dimensions 22 x 9. And areas are assigned to cells based on where on the world map they fall, which we have an overlay that we can apply to show us the weather cells. <3 Kinko's. They do such fantastic work. (Now, if only I could finish working on the layout of the worldmap so that there are actually different climates to assign to the cells. )

setweather will let you set the weather of a cell that doesn't exist for example if you have x and y set to 10
in weather.h it doesn't take into account 0. Thus it will let you setweather for 10, even though 9 is technically
your max. I just made it -1 for setweather and showweather and seems to fix that issue.