Water’s always been difficult to animate. Unless you’re working in an extremely stylised, naive idiom, then almost whatever you do is going to look ‘kludgey’.
The problem is that with water, almost everything depends on everything else. An interaction on any part of the screen can influence events anywhere (and everywhere) else.
To simulate this on a computer, you have to assume that the water is made up of individual particles, and then calculate the effect of them all acting together as they would if they were part of the same mass of liquid. Each particle has a relationship to each other particle, which is defined by a distillation of the properties of the fluid that they are simulating.
These particles, which essentially know how they should behave in any given set of circumstances, are examples of what is known as “Physics” in animation. It’s a simple and practical fact that if you had to animate every little aspect of an environment or scene in a film, then it would probably never get made (this is why stop-frame animations take so long!). Luckily, these days, we can build CGI objects, and instruct them how to behave. So, when a skyscraper topples over in an earthquake, for example, we don’t have to animate every single falling brick or shard of glass. What’s more, when these object hit the ground, they “know” how to behave, and even take in to account what they land on (glass behaves differently if it’s landing on concrete or water).
Nevertheless, there’s still a way to go, both in terms of the cost of complex CGI and its believability. More recent films like San Andreas and Mad Max: Fury Road, focused on real effects as opposed to CGI and, some say, were all the better for it.
But CGI is undoubtedly reaching unheard of heights with water animation.
Have a look at this test set-up. The water looks incredibly natural.