Natural disasters
From Neverend
Natural disasters include landslides, falling boulders, volcano eruptions, avalanches, hurrianes, tornadoes, tsunamis, fire, storms, lightning storms, hail, snowstorms, and earthquakes. While framerate intensive, some ideas for implementing them include:
Making a transparent plane above a parallel ground surface, and "covering" that surface with a texture to give the appearance of moving land, with particle effects for smoke or dust.
Having disaster objects count as NPCs. Boulders would be NPCs who run downhill and damage anyone they come in contact with or near, then are destroyed. Fires are NPCs who exist near wooden material, have HP that is reduced by water based attacks and spells, replicate more fire NPCs around a wood area, and destroy themselves when too little wood is present, or no wood is left nearby.
Earthquakes can be a shaking screen overlay. Wind based storms could use an overlay while creating particle effects and transparent texture surfaces to show wind.
Some experimentation will have to be done to find the most efficient effects, and what can and cannot exist.
[edit] Other
A chain of happenings, which you might not call disasters, but which change the near and far future in some way.
Example:
A beaver/animal chews on a tree to get to the nutrients. Eventually after a few days of wind, it falls down over a river. This tree now blocks the river, causing a flood, and a new flow to develop, which might go in a slightly different direction. This new stream carries on, until it reaches a small village, in the bottom of a valley.
The village becomes flooded, forcing the villagers to move to a higher spot, and create a new temporary campsite, in which they need trees to build shelters.
Because of all the trees being taken down in some small woods, the animals are forced to make a run for it. The larger animals (bears etc) charge through the new campsite. The smarter and more intellectual animals realize these people are the cause of them being homeless. They seek help from larger allies, possibly monsters, who come from a lake on top of a far-away mountain. They need to cross the river that's blocking them, so they use the fallen down tree as a bridge. The tree is crushed into the bottom of the water, giving the river back it's old course.
Imagine all this happening all because of a hungry beaver.
Obviously, these events would need to be planned and triggered by employees, but certain events in-game would be really cool. Small battles etc.
Great, but hard to implement. Everything is cause and effect, whether automated by the server or done manually by world creators. Scripting and animations has to exist for each specific action and effect. Someone will have to constantly make new interesting actions and effects in scripting, in order to provide new things rather than a small handful of actions, such as only having trees fall over. Then, actions have to be tested in all situations. What if multiple actions happen at once, or two happen at the same time, or one happens and something gets in the way. Every possible outcome has to be tested to make sure wolves don't get stuck in trees or rivers don't run through walls.
On the client side, the effect has to work without killing framerate, introducing lag, or crashing the client from something unexpected. In FFXI there's a boss fight with 3 chests, 2 are mimics and one is a normal chest, so you have a 1 in 3 chance of picking the right one. But casting an area spell to hit all 3 will crash the game, because that instance wasn't planned.
An engine that makes sense in terms of cause and effects, mechanics, and basic physics will be able to handle things fine, such as GTA where things are expected to ram in to other things and explode all the time. In a MMO it's much harder to have anything resembling physics, especially with so many clients, and server latency. But simulated physics, such as a tree falling down without really falling down, but having a falling down animation and effect, would work if done right.
