Our brilliant tech artist, Logan, discusses the evolution of our ice shader!
Dark Bramble is one of our crazier planets. As a planet it’s $#$%#$%&$ #$%#$ #$%#$%$%#$%#$ (EDIT: Logan, you can't reveal that!), with lots of ice and fog. Alex Beachum, our lead designer, started greyboxing out the new Dark Bramble a few weeks ago, and found himself in need of a new ice shader. This, of course, is where I come in.
I’ve found that shaders are one of those things where you have to write the damn thing twice. First, you spend some time thinking about it, and what you need to have it do. For the ice, it was important that we see objects embedded in it, but in a hazy hard-to-make-out way. After coming off of writing the river shader, this seemed straightforward to me; it would be a nearly identical shader, without moving distortion, and with more appropriate fogging as objects got deeper into it. So I sat down and spent a night banging it out. Here’s the result of the first time I wrote it:
Ugh. Ech! Bleh. I was super unhappy with the result, and the more work I put into it, the worse it seemed to get. In particular, what drove me nuts was that the transparency in thin parts completely broke the fog (and any transparent objects) behind it. I also had a frost overlay that added a lot of complexity to the shader and looked god-awful. Attempts to fix the issues only broke more and more things, and after a while I just threw up my hands, pushed my shame up onto the git server, and called it a night.
The second time you write something like this is often much better, especially if you’ve had a night to sleep on it. In particular, I had a realization that made everything much simpler: it was important that we see objects in the ice, not that we see through the ice. With that, I started going to town cutting the shader way down, and in an hour or two had a result I was dramatically happier with. Here’s the shader now!
By rethinking a single part of what it should be, I was able to solve almost every single problem with the shader. It’s important to step away from your work and re-evaluate often, and even question the fundamental ways you’re going about the task. Some of the work I’ve been happiest with has started out as a trainwreck, and been recovered and transformed by reconsidering what’s really important.
Here’s some more ice! Seasonally appropriate, I think. Unless you’re in the Southern Hemisphere. In that case, just go ahead and throw some in your drink. ;)
Updates on our games, our process, and the joys of being Mobius Digital.