Simple Water in UDK, Pt. 1

This tutorial goes over the process of how I created my water shader for the River Shack scene in my portfolio.  The shader is not meant to be a complete solution, and will require a lot of tweaking on your part in order to achieve the exact look you want – what is important is that the properties can be tweaked with much modification.  In the future I will add a more advanced water shader tutorial that covers some Dx11 features such as tessellation, but its important to have a strong base of knowledge.  Before I start, I have to give credit where credit is due.  Thanks to Chris Albeluhn and Alyssa Reuter for their water tutorials.  While I found these tutorials to be helpful, I was unhappy with the end results.  There simply wasn’t enough control over things like water color by depth, distortion, and reflection strength.  My goal was simple – create a better looking, more efficient water shader that gives the artist more control.  I decided on a limit of 100 vertex shader instructions to keep it simple, and was able to get it down to 109.  By comparison, UDK’s default water shader M_Water_03 is 186 instructions, while Alyssa Reuter’s is 127.

Continue Reading →

The Ice Axe Cometh: Custom Weapon Post-Mortem

On December 7th 2009, Kotaku posted an article titled “Get Ready for Even Freakier L4D2 Mods.”  I had picked up Left 4 Dead 2 a few days before.  While I would normally spend my first few weeks of a Valve-released game perusing its development kit, the Left 4 Dead 2 Authoring Tools wouldn’t be released until December 23rd.  With school work slowing down and free time building up, I spent quite a few hours playing Scavenge mode late into the night.  As I skimmed the article on Kotaku, I was amazed at the depth of the discoveries of the community at L4Dmods.  Their findings substantiated that Left 4 Dead 2’s code allowed for customization that would make the mouths of zombie-killing enthusiasts’ water.  Custom survivors?  Check.  Custom zombies?  Check.  Custom weapons?  Oh baby, we got it all.

Continue Reading →