Setting ourselves a challenge

Occasionally we like to break out of routines and try to make something completely separate from our normal projects. Personally I find taking a step back from larger projects and just creating something small puts things into perspective and also lets me learn a new skill I otherwise wouldn’t have been able to gain in larger projects.

This time around I was looking for an idea to go with wanting to learn how to procedurally model things and Roberta suggested that I look at Monument Valley and attempt to create the water procedurally.

Writing code for the water surface was relatively simple until I noticed that the lighting I was after wasn’t really being captured due to shared vertices on the model (Basically if you have triangles that share the same vertex, the light calculation is strange), to solve this I had to create individual vertices for each triangles and then create a lookup table per coordinate that lets me move all of the same vertices at the same time by using a Sine wave with a Perlin Noise offset.

Overall it was a pretty fun half a day project but I’m sure I will revisit it at some point!

You can view the effect yourself at