Here’s a ripple effect I’m working on for a project:
It’s actually just an image filter! You render your water and objects from directly overhead into a sequence of images. Make the water shadeless white and the objects shadeless black. I’ve written a little image processing Python script that uses that image sequence as input and generates the ripples into a new image sequence. That sequence is then used as either a displacement map or bump map for the water back in the original .BLEND file.
There’s a lot of tweaking to do, but this was just a proof of concept.
NOTE: This isn’t a Python script that runs within Blender, although I suppose it could. It’s just a command line program. I’ll post it when it’s finished.