Realistic Puddles in Video Games

First of all, I am a young graphics designer so ignore me if this seems to be a bit odd to you.

For a long time (on and off since around Sept 2012(Yes 12!)), I have been researching and looking for a way to create unique puddles for video games.

A lot of research, testing, attempting and ultimately failing has gone into this so far and I thought it was time to simply ask developers their take on this topic.


Puddles and shallow water in video games helps our minds to immerse itself in the environment, along with other cleverly placed specular elements such as mud, metal and even wood.

But how easy is it to create the substance textures for a realistic-looking puddle, and could it be easily done in a video game? The simple answer, Yes.

But that yes begs another question: How?

For the past 3 years, that is what I set out to find out, how to create realistic puddle textures that work well with lighting and merge well with the textures below them to create realistic puddles.

After several attempts using both hand-coded shaders and Shader-Forge’d shaders, I eventually came to the conclusion that:

A. Generating a puddle in a shader was not that easy
B. Using noise as an alpha mask would not work very well

These may seem like fairly obvious things but good research explores the unlikely areas as well as the likely.

My next attempt to do this was using texture masks created from actual photos, so I got out my DSLR and spend the better part of 6 months collecting images of puddles from around the south of Britain (where I live) and around places like Scotland and London when on holiday or out for the day.

The plan was to use Photoshop to “cut out” the puddle from it’s surroundings and create a huge library of high-quality masks from these, this did not work very well either.

As expected, this led to jagged edges around the “break” areas on the outside where the water meets the ground, using some clever filtering effects I was able to get rid of these, but the results were still not up to standards.

After those failures I decided to go back to something I had initially dismissed years ago, using Photoshop itself to create the puddles.

After spending many weeks exploring the ins-and-outs and hidden features of Photoshop, I was ready to attempt this, results were not too bad but would not create custom shapes and required a lot of effort and time to create one generic-looking puddle.

I decided to streamline this process using a set of painstakingly crafted Actions which record the “actions” you take in Photoshop and allow for replication, this helped me speed up the process, but using the clouds in Photoshop to do this just didn’t create the kind of look I was going for.

A few days ago I decided to play LEGO Jurassic World, and some of the other newer LEGO games such as Lord of the Rings and things like that and noticed the puddles in those games look spectacular.

My hope is that a developer or designed will reply to this and help me achieve the same kind of quality in puddles as games like that.

I have released quite a bit of free content in the past and this is something I would like to do next, a huge library of puddle textures.

Anyone with information on how to do this well, or anyone wanting to help with this is more than welcome to post below, any help with this will be credited in the library.

Thanks.

@protopop has a tight workflow on puddles as seen here.
I think he may have been sharing workflow to the community based off a question you asking in an alternate thread. :slight_smile:

I found this thread too a while back, but he mentions using Illustrator which we do not have access to, and during private messages mentioned it takes a while to get anything looking like that, so would not be a viable solution for mass puddle production.

I have assembled some example images of the kinds of things I would like to make, all from LEGO Jurassic Park (played for research of course).

As seen in these photos, the puddles have depth, and show an abrupt finish at the edges, instead of a faded effect, they also do not have a complete specularity field, as they show a lot of the external colour from the skybox and surrounding shadowing so have a higher reflectivity range than they do specular.

In these images, you also see they are not texture-dependant, they are all different and so not follow the normals or data from the texture below them, yet manage to follow a realistic expectation of water on that kind of terrain.

This is the kind of effect I am looking for, but also for things like uneven stone slab ground like found around churches and cathedrals, old worn ground that water settles into, but with the above mentioned attributes.

The biggest and main issue is texturing the damned things though.

The one thing I am surprised is that there is no asset or vertex-independent painting system for puddles or other bodies of water.







Doesnt protopops solution cover all the points you want?
And as far as illustrator goes - thats just a pencil right. I do most of my vector art in photoshop just because Im more comfortable with it. Any other tool could be used in place of illustrator if the solution addresses your main points of interest.