It's been mentioned before that the water could use improvements. Water's obviously really hard to do. Even professional games that have a heavy emphasis on water don't have flawless water (yet). This post is made with the long term in mind. Presumably if better water is implemented, such a thing would be far in the future and would take some work. In the mean time, I'd like to brainstorm ways we could improve the water.
Actual fluid dynamics seem like serious overkill, given the camera angle of the game, not to mention they're computationally intensive. That means we're going to need to fake the water, which is fine. Most games do that and it still looks great. There's two things great water would need: refraction and reflection.
These are mostly ideas, not necessarily a proposal at the time.
Refraction
If computationally feasible, objects that protrude below the surface of water should be refracted (the view should be bent). Refraction is
this. The angle of refraction is pretty easy to calculate with some basic physics (Snell's law), although I'm not sure how one would draw the underwater portions of the model. Thankfully, the angle of MG's camera allows refraction to be largely skipped, if desired.
Reflection
This is the important one. In particular, we would need to reflect light. That's with the intent of creating
this kind of effect. This will require a water shader, which needs to be variable with the time of day (the colour of the reflected light should change with the day/night colour and sun/moon position). The water itself would be created from a normal map (aka, a bump map). The current tileset method of creating animation frames from still images would become obsolete. An image could still be used to colour the water, however (and control opacity). The lighting should also differ when there is rain (tileset specified?).
But more than just light, water needs to reflect the sky. MegaGlest's problem is that there is no sky. Thankfully, this is one is easy to fix. Fog of war and the camera angle makes it useless to show the sky from the side, so the sky would end up being a single texture stretched over a large area. This sky texture should be specified in the tileset, but for ease of use, we could provide a default sky texture to fall back on (since I'd imagine many tilesets wouldn't need to change the sky texture). The texture would be specified as an image to show over a certain in game clock. For example, we might have one texture for 5am to 9am, then a different one from 9am to 6pm and so on (at the simplest, you'd need a day texture and a night texture). These textures should slowly fade into each other (say, over the course of one in-game hour). I also think the fog of war should change colour by time of day, going from silvery-grey at day to the current black at night.
Blur and depth perception
Currently, you can see through water really easily. A faded cutoff distance could look more realistic. Perhaps this could also be specified in the tileset, so we can have tilesets with crystal clear water and others with dirty, nearly opaque water. Alternatively, we could blur things under water, increasing the blur as we go deeper. Or both.
Again, I'm aware some of these ideas are really ambitious, and others might be impractical. I just wanted to start a discussion as to what we could look at for water improvements in the future.