• Elevation: The water uses a separately deformable heightmap, so that the water mesh can vary in height throughout the map. When the watermap is lower than the terrainmap, we have dry land; when higher, a water area occurs in that space. 
  • Terrains: Like cliffs, waters consist of several textures for the different areas of the water object, and so things like what units can move over water are determined by the terrains used. 
  • Blending: The different water types need to blend in a natural way (eg shore into shallows into deep water). We can calculate this taking the distance between the terrain plane and water plane to create a viscosity factor (the greater the difference between the two heightmaps, the darker the water) and blend factor (how much deep water texture, how much shallow water texture).
  • Ripples: The water mesh should "shimmer" (deform motion on the surface and edges, with ripples and waves, noise distortion). It should be reflected and lit.
  • Slopes: We won't be able to have sharp drops in water elevation and make it look good (textures will be severely stretched). But then, they don't occur in nature all that often anyway. For things like waterfalls, we'll have waterfall gaia objects that we can place between two rivers of differing height to hide the sharp drop. 
  • Waves: Animated foam sprites on the water surface (eg AoM, War3) don't really fit the hyper-realistic art style that the artists want to achieve, so we won't do them. We'll distort the mesh along the shoreline instead, attempting to create mesh-based waves.[list]The sprite name of the icon to display for this water.
Icon


BRIEF DESCRIPTION :: The sprite name of the icon to display for this water.

Surface


BRIEF DESCRIPTION :: The terrain object that gets placed on the surface of the water mesh.

Consists of two sub-tags:

  • Terrain: The name of the painted terrain object.
  • Area: The percentage of the water area that uses this texture (range 0..1).
Bank


BRIEF DESCRIPTION :: The terrain object that gets placed on the edge of the water (typically shallows).

Consists of two sub-tags:

  • Terrain: The name of the painted terrain object.
  • Area: The percentage of the water area that uses this texture (range 0..1).
OuterBank


BRIEF DESCRIPTION :: The terrain object that gets placed on the outer edge of the water (typically the shore).

Consists of two sub-tags:

  • Terrain: The name of the painted terrain object.
  • Area: The percentage of the water area that uses this texture (range 0..1).
Layer


BRIEF DESCRIPTION :: A terrain that gets layered on the water when it reaches a certain depth. Layers occupy the same area as the "surface" terrain, just at a different depth.

A water can have any number of water terrain layers. These typically are only used for deep expanses of water (ie oceans). Rivers don't tend to have them, except maybe a "bottom" layer.

Consists of two sub-tags:

  • Terrain: The name of the painted terrain object.
  • Distance: The distance specifies how deep the water must be before this terrain is painted. The value "bottom" is a special distance that always appears on the very bottom of the water (it gets painted over the land mesh that's under the water), irrespective of depth. Note that if no bottom terrain is specified, the land will retain whatever texture was already applied when the water was painted.
Colour


BRIEF DESCRIPTION :: RGB colour of water transparency.

This is used to tint the water a certain colour eg light blue coastal water, or dark blue deep ocean water. Shallow water would have a lighter coloured plane than deep water.

Depth


BRIEF DESCRIPTION ::Specifies how deep the water is. 4.0 means the water is 4 metres under the land terrain when applied.

Smoothness


BRIEF DESCRIPTION ::How many land tiles off the shoreline are smoothed when the water is placed (creates more gradual incline from land to water).

Example:

CODE
<water Tag="North Atlantic Ocean" Parent="Ocean"
       icon="nocean64"
       <surface area="0.5" terrain="water"/>
       <bank area="0.1" terrain="RiverSandyB"/>
       <outerbank area="0.4" terrain="RiverSandyB"/>
       <layer distance="bottom" terrain="RiverSandyA"/>
       <layer distance="8.0" terrain="ShorelineAtlanticA"/> 
       <layer distance="12.0" terrain="UnderwaterIceA"/> 
       <layer distance="14.0" terrain="UnderwaterIceB"/> 
       <layer distance="16.0" terrain="UnderwaterIceC"/> 
       <layer distance="18.0" terrain="black"/> 
       colour="0 175 235"
       depth="3.0"
       smoothness="1"
></water> 

QUOTEWATER

Water colour will be based on a RGB colour picker tool. Water is alpha faded based on the depth of the terrain.  If any of the water has a degree of opacity to it, it is considered Shallow Water.  If it is opaque, then the water is considered Water.  Shallow Water has 3 different types with simply differentiated by visual effects and movement rates.  The map maker or RMS scripter may also choose the textures that lie below the water’s surface.  

Water Sub-Terrain Textures
- coral 1
- coral 2
- coral 3
- rock 1
- rock 2
- rock 3
- pebble1
- pebble 2
- sand 1
- sand 2
- sand 3

Water Effects
- Ripple
- Wake
- Splash

Suggestions for Appearances
- light blue
- dark blue
- green
- turquoise
- place gaia rocks on shore
- place sub-marine plants on terrain that is under water
- marshes consisting of multiple shallow watercourses interspersed with wetland terrain of muddy, grassy with reeds and cattails with various shallow connections.
- swamps consisting of multiple shallow watercourses interspersed with impassable hummocks of wetland terrain having jungle vegetation that is not buildable and only the scarcest of paths and shallows (for land units) and water courses for ships.
- Floating ice, and ice chunks
- Brown water

Backburner Ideas
- Water puts out fire
- Mobile units afflicted with fire missile damage can be rushed to shallow water to extinguish the continued loss of hitpoints from fire.
- Rain Particles Ripple in water
- Water flow effect perpendicular to shore

Last modified 8 years ago Last modified on Jul 10, 2009, 10:28:58 PM