While this was done some time ago, we realized we were foolish in not sharing this with your IndieDB folks sooner! Apologies. We have since sent in our submission to the Unity DirectX11 challenge, and this was one of the many warmups. More info on our competition submission will be coming up on our company's page soon!
See below for a message from Matt Schoen, one of the CEO/Co-founders of Defective Studios and native tech maestro. From our Defectube:
"Howdy Defectfans! Schoen here, coming forth with a neat little tech demo that I scrapped together on Xmas day as my first foray into Unity 4.
We're going to be taking a shot at the Unity DirectX11 challenge, and as a warm-up, I decided to write a shader that I'd always been wanting to try. Hopefully there will be more sweet demos to come out of that little side-project, but for now, behold!
In case you can't tell, it's a Gimbal Cop track made out of water. I make no guarantees about whether this will make it into the final game. Also, who KNOWS how this will perform on mobile devices... It's an expensive shader which I could probably optimize from its current state but if it comes down to sweet water effects or smooth, responsive gameplay, I hope we're all on the same page about which comes first.
For the record, its the gameplay. Anyway, if anyone's interested in what's going on behind the scenes here, post a comment. I'd be happy to share some of the source. The shader is remarkably simple, and honestly I could have done it (a little less efficiently) in Unity 3 but the first time I tried it I was a dumbass. Long story short I'm taking advantage of the _Time parameter added to ShaderLab as of U4.0
Also, wonderful news! The new function mesh.MarkDynamic() has provided a 20% speedup to the mesh builder, free fucking gratis (Swearengen we miss you)!
P.S. Mad props to the Naughty Dog guys. I was inspired to do this after seeing a GDC talk on water shaders in Uncharted 3. The main takeaway was that you can get a very simple, compelling "flow" effect by just oscillating vertices on a circular path. In fact, that's exactly what's going on here!"
We hope you appreciate Schoen's insights as well as the video above. Now you should have more of an idea about what our gameplay looks like ;)