Definitely water

Today’s ventures with v r 3 have been largely met with deep, deep frustration trying to get various third-party waters working in my setup. There are just so many ways for things to go wrong it seems. Early in the day I was quite entertained by the bizarre shapes and contortions the water was getting itself into…

Screen Shot 2017-02-20 at 11.43.51

It sometimes even seemed to suggest whole new worlds of possibilities…

Screen Shot 2017-02-20 at 11.54.32

But by and large, as the day wore on and I was still struggling, it really did stop being particularly entertaining. I signed off at the end of the work day with roughly 10 third-party waters installed, and with about three of them barely functional. I suppose that’s not all that bad, but it felt like a tough day. Which, you know, is also interesting in its own special and beautiful way, probably, but I’ll be damned if I feel like writing about it.

‘Night.


Being a sad god, in hell in hot water

Screen Shot 2017-02-03 at 16.38.11

You probably haven’t noticed, but I’m trying to write something three times a week lately, ostensibly on Monday, Wednesday, and Friday. Some days it really doesn’t come easy though, like today. Or like almost every day, if we’re being honest. So for the moment just let me complain a little bit and be done with it.

An obvious metaphor for game development is that of being a god. You literally say things like “let there be (a directional) light”, click a couple of buttons, and light appears in the world. But almost immediately a difference appears: you don’t see that it is good. It may be bad. If you are me, it may quite often be bad. If you are me, this may mean you are quite often sad.

Light specifically is something I continue to have very little grasp of in Unity. It’s so fundamental, so important, and I should so probably read some kind of foundational text about it and just “get it”, but I never do, and so my light misbehaves. In the current project (v r 3) I’ve had my share of difficulties with light, only some of which I’ve solved. Some of it is akin to just being a bad carpenter, with light shining through apparent chinks in the walls where it shouldn’t. Sadly there’s no Grout Tool.

But there are other, more cosmic tricks of the light too. For a while a strange “reflection” of the world was appearing like a vision in the middle of the gallery, appearing to show the outside of the gallery space. It was a little bit blurry, not unlike something you might actually see in a game, I suppose, for some narrative effect – but I didn’t put it there, it just turned up. I still don’t know what I did to make it go away. I turned some lights on and off. Destroyed some lights, created others. Now it’s gone. It may be back.

Some water in my gallery seems intent on being very brightly lit, no matter what the light situation “actually” is. If I turn the lights off, the water goes black, but if there’s the slightest hint of light in the world, the merest creeping of dawn, it blares bright white. Why? I don’t know. If I make a brand new world (which I can do, sad god that I am), and put that same water in it, it behaves fine – it just looks like water. As far as I can tell all the light settings and entities across these two worlds are identical. The water just feels differently about them, I suppose. I’ll probably have to make my gallery world from scratch just to satisfy this particular water.

Despite being god, I’m at the mercy of these irregular ripples of nonsense physics; I hover over the waters like an anxious parent over a troubled child.


Maybe it’s important to hate what you do?

Screen Shot 2017-02-20 at 10.43.33

Kind of hate v r 3 these days, just so you know. It’s not an uncommon experience for me with any project that takes longer than a week or so, and I think it’s probably not uncommon for many of us working on any creative project. There’s only so long you can sustain unbridled enthusiasm for your own ideas and work – perhaps especially if you work alone and thus don’t have anyone else possibly on a different oscillation of love and hate who might offset you.

One way I’ve found helpful for dealing with this, especially for v r 3 actually, has been forcing myself to kind of fall in love with all the problems by finding them “interesting”. So you may have noticed I’ve written quite a large number of words here, but also in my development diary, about how things are going wrong constantly, but how that can be seen as a kind of insight into the nature of making a videogame, or the nature of the engine I’m using, or the idea of virtuality, and so on.

That strategy worked very well for quite a long time for what has been a deeply frustrating and humbling project. But at some point you can’t keep finding all your fuckups fascinating. Sad but true. Which is where I find myself now, so it’s pretty grim folks. Now it just feels like the ground truth here is that I’m a bit of a bumbling incompetent trying to do things that aren’t very difficult and failing. Le sigh, etc.

However, some small encouragement came the other day from the excellent episode of “Abstract” about Christopher Niemann. He’s generally inspiring (and I guess daunting), but at one point he talks about how he always feels at his most unhappy working when he’s working on something important. That could just be yet another nice psychological trick, like finding hardship interesting, but it’s cheering to think that maybe if you hate what you do it’s because what you do is just SO IMPORTANT. Too important to stop doing, for example.

But then, if we’re being brutally honest, you can’t stop even if it’s not all that important, can you? You’re making the stupid thing because at some level that’s just what you need to do right now. Throwing it in the trash would be glorious, but you’d just be back a few minutes later fishing it out.


Beautiful, clear water

Screen Shot 2017-03-06 at 14.33.55 1

Thankfully I’ve managed to find a way to find one more frustrating aspect of v r 3 kind of interesting again. With one of the more expensive waters I’m using I’ve struggled mightily to get the configuration of the water “right” – notably to scale it down to my little plinth-amount rather than a lake/sea/river’s worth of water. The water looks great at a large scale in the demo provided with the water itself, but when I scale it down and put it in my plinth it looks terrible.

Or does it?

See, the reason I’ve been frustrated and fighting with this particular water is that you kind of can’t quite see it when it’s in the plinth. You can kind of make out some rippling, and if you move around you can see the light reflecting off its surface now and again, but there isn’t that satisfying kind of blue “here is some water” effect that most of the other waters provide when I put them in the plinth.

Except that water isn’t actually blue, right?

Water is, in its pure form, clear/transparent/see-through. So when I put this water in the white, featureless plinth and I can’t see it, there’s a sense in which it’s behaving more like water than the other water’s I’ve been working with. If you really got one of these plinths (in physical reality) and poured water into it, and looked down into the water, you wouldn’t see much of anything either. Unless it was rippling and caught the light, say.

So in fact the problem with this new water illustrates yet another fun tension in this project, or rather a question. Or maybe two questions?

To what extent is it my job to make any given water look good in the plinth? A lot of the waters, as I’ve detailed in past posts, don’t necessarily play nice with being scaled down, for example. I’ve been working on things like rescaling textures and normal maps and so on to have the water appear more like water, but another way to approach this would be a more hardline attitude of saying “whatever the water looks like when scaled and placed in the plinth is what it looks like”. That would be easier, too, but doesn’t sit right. My compromise has been to roughly try to convince the water to look like it does when it’s big, just contained in a smaller space, which has almost always required me to tweak various parameters (ineptly and with many curse words thrown about).

What does it even mean for water to look good? This is perhaps a deeper (ha ha) question? As above, I’ve tended to answer it by saying that the water looks good (or ‘correct’ perhaps) when it approximates what the creator of the water made it look like in their demo or prefabricated version of the water. However, as in my discussion of the clear water further above, sometimes you can’t necessarily do that because the water itself is closer to a physical simulation of water. If the water is designed to essentially be clear and thus to only draw colour from the container, say, then if you put it in a plinth and it’s basically invisible then it’s “good” in the sense of looking like water would really look in a plinth. But it’s also not good in the sense of how we kind of want water in a videogame to look in a plinth. We want it to look “watery”, and without really thinking it through that means it should probably be bluish and highly visible. This also starts to link up to larger ideas about “good looking water” as a real technical benchmark for videogames more generally, I guess. And again, I’d venture that it’s not necessarily the case that the most perfectly simulated water would be considered the best, but rather the water that somehow feels the most real. Which is different.

The upshot of all this is that I’m almost at peace now, I think, with letting this water I’ve been fighting with just be transparent and that’s that. It’s water, that’s just what it does, right?

Somewhat deliciously the water in this case is called… Realistic Water. The clue’s in the name. Ha ha. Bye.


Water-borne disasters

Screen Shot 2017-03-09 at 12.54.05

I wrote briefly about some experiences with water gone wrong in v r 3 a little while back, but since I’ve been rebuilding the game from scratch to eliminate some lighting problems, I’ve run into a couple of my old weird friends again, like “super sharp sticky-uppy water” (above) and so on.

The above image is what happens if I literally just take a specific water I bought and resize it to fit it into my plinth. In a sense, then, this is “just what the water looks like” when you apply that simple transformation to it. And it’s a transformation I don’t think is terribly unreasonable – I need the water to exist in a smaller area, so I resize it. The fact that the water ends up looking like this is, I guess, most of all a result of the sometimes extreme parameterisation of the various waters I’m installing in the gallery. There are generally quite a large number of factors to be controlled for any given water, and they tend to rely on one another for an overall coherence of appearance. Thus, if you resize the water above, you also need to make sure that you change other aspects like the frequency and amplitude of its waves so that they make sense in the new context.

On the other hand, the water above looks pretty amazing, I’m not going to lie. And there have been quite a few instances of “broken” water that has looked pretty spectacular. Some water, for instance, completely ignores its scaling and just renders to the horizon anyway, leading to the entire gallery being half submerged. Some water has little undulating pieces of itself sticking through the sides of the plinths.

So there’s certainly a beauty to these distortions of shaders and scripts. As I’ve heard a few times, there’s probably another gallery show just in that idea itself. There’s a challenge there I think, though, in terms of what the “rules” for such a show would be. I don’t think it’s necessarily fair to just work out a way fuck up a shader or other Unity asset so it looks ridiculous and then display that. It’s true that that appearance would be “within its parameters”, but it feels a little in bad faith perhaps? (As I write this I’m not so sure.) Instead I guess I’d want some sort of “reasonable” transformation (like the plinth scaling) that turns out to create strange effects. But of course lots of the problems I have with the scaling in v r 3 don’t end up being visually interesting like the jagged water – most of the time you just end up with a completely smooth plane or something along those lines, so that kind of wouldn’t work anyway.

In the end I always want some sort of underlying formal reason for things being the way they are, I suppose. I feel like that gives a player a framework for understanding what they’re seeing, rather than just what they’re seeing being kind of the end of it, like “look how crazy this is! ha ha!” I think in the past I’ve called this something like the “ground truth” of a project, I don’t know what a good name is, but it’s certainly a vital quality. Most importantly, I think, it really helps me make decisions and move forwards – you know whether a particular idea/technical process/visual meets the criteria of your core guiding framework. So for v r 3 I know that the underlying concept is that I’m wanting to provide a context for thinking about water as a technical/aesthetic object in the context of videogames. Everything I’m doing, from the positioning of the sun in the sky, to the shape of the plinth, to the parameterisations of the waters themselves is informed by the objective.

Without something so strict, I think I’d just constantly get lost or feel like I’m kind of deceiving the player – pretending there’s coherence and meaning where there isn’t any. Thus to do a project where I’m showing “messed up” waters, it’d need some guiding idea like “water when you scale it down” or “water with each parameter set to a maximum value” or something, and even then, with that “or something”, you can tell that I’m not yet a  believer in that version of the project. Something more like “messed up visions of water I encountered while making a different project about water” might be acceptable too, I guess, but it’s less conceptually interesting to me.

Etc. etc. etc. Sorry.