This is a list of ideas gathered during Stella Polaris Design
WARNING: This is a design thread, plase keep it clean.
TILE'S VARIABLES
NOTE: These are the variables that affect the Weather. The tile will require other information.
FORMULAS
NOTES:
+= is a C/C++ notation: x+=y means that the quantity y is added to x and the result is the new x
k,k1,...,kn are parameters and f(...), g(...) are non-determined function (suggestions will be welcome). Every parameter or function must be CAREFULY BETA-TESTED.
latitude(x,y)=2*pi*(y-map_height/2)/map_height
Warmth(x,y)=Star*(cos(latitude(x,y))+k)+ f(Dust)+ g(altitude), where Star is a fixed value and f(Dust) a specific function (implement Greenhouse Effect/Nuclear Winter)
Wind.x(x,y)=Coriolis*(cos(latitude(x,y))+f(Gradien t), where Coriolis is a fixed value.
Wind.y(x,y)=(Warmth(x,y)-Warmth(x,y-2)*k+ f(Gradient), if yWind.y(x,y)=(Warmth(x,y)-Warmth(x,y+2)*k
Wind.I(x,y)=sqrt(Wind.x(x,y)^2+Wind.y(x,y)^2)
Rain(x,y)=Wet(x,y)*Dust(x,y)*k+ f(Warmth,Gradient)
Water(x,y)+=Rain(x,y)*k1-Warmth(x,y)*[(1-Drainage/k2)*k3-k] (cumulative, this means that this quantity is added every turn)
Wet(x,y)+=Warmth(x,y)*Drainage(x,y)/k2*k3-Rain(x,y)-Wind.I(x,y) (cumulative)
Dust(x,y)+=Sand(x,y)+Pollution.Air(x,y)-Rain(x,y)-Wind.I(x,y) (cumulative)
Snow(x,y)=f(Rain,Warmth)
Ice(x,y)+=Snow(x,y)-k*Warmth(x,y) (cumulative)
FINAL NOTES
This will be the more detailed and realistic Weather System seen in a game; it will be not a simulation. If anyone has any idea to have a more simple model is invited to post.
Any pertinent comment/suggestion will be welcome.
WARNING: This is a design thread, plase keep it clean.
TILE'S VARIABLES
- Warmth:Indicate how much heath the tile absorb from the Sun(s). Affect the quantity of energy taken from Solar Collectors
- Wind:Wind intensity and direction. It is a vector-type variable. Affect the quantity of energy taken from Windmills
- Water:Total quantity of drinking water in the tile. Affect the MAX quantity of food produced
- Wet:Quantity of water vapor in the air.
- Ice:Quantity of ice present in the tile. (high altitude/latitude only) Affect the MAX quantity of food produced
- Rain:Quantity of rain that fall every turn. Rain will turn into Water Affect the MAX quantity of food produced
- Snow:Quantity of snow that fall every turn. Snow will turn into Ice. (high altitude/latitude only) Affect the MAX quantity of food produced
- Sand:Sand transported by the wind. Affect the desertification
- Pollution (Air):Pulluting dust transported by the wind. (chemical pollution only)
- Drainage:Affect the quantity of water vaporized. (fixed value)
- Gradient:Difference of altitude with near tiles. (change only in case of terraforming)
NOTE: These are the variables that affect the Weather. The tile will require other information.
FORMULAS
NOTES:
+= is a C/C++ notation: x+=y means that the quantity y is added to x and the result is the new x
k,k1,...,kn are parameters and f(...), g(...) are non-determined function (suggestions will be welcome). Every parameter or function must be CAREFULY BETA-TESTED.
latitude(x,y)=2*pi*(y-map_height/2)/map_height
Warmth(x,y)=Star*(cos(latitude(x,y))+k)+ f(Dust)+ g(altitude), where Star is a fixed value and f(Dust) a specific function (implement Greenhouse Effect/Nuclear Winter)
Wind.x(x,y)=Coriolis*(cos(latitude(x,y))+f(Gradien t), where Coriolis is a fixed value.
Wind.y(x,y)=(Warmth(x,y)-Warmth(x,y-2)*k+ f(Gradient), if y
Wind.I(x,y)=sqrt(Wind.x(x,y)^2+Wind.y(x,y)^2)
Rain(x,y)=Wet(x,y)*Dust(x,y)*k+ f(Warmth,Gradient)
Water(x,y)+=Rain(x,y)*k1-Warmth(x,y)*[(1-Drainage/k2)*k3-k] (cumulative, this means that this quantity is added every turn)
Wet(x,y)+=Warmth(x,y)*Drainage(x,y)/k2*k3-Rain(x,y)-Wind.I(x,y) (cumulative)
Dust(x,y)+=Sand(x,y)+Pollution.Air(x,y)-Rain(x,y)-Wind.I(x,y) (cumulative)
Snow(x,y)=f(Rain,Warmth)
Ice(x,y)+=Snow(x,y)-k*Warmth(x,y) (cumulative)
FINAL NOTES
This will be the more detailed and realistic Weather System seen in a game; it will be not a simulation. If anyone has any idea to have a more simple model is invited to post.
Any pertinent comment/suggestion will be welcome.
Comment