Mike Snowdon · VFX DirectorWell, as you say, VFX is kind of everywhere in the game, and sometimes you're doing a good job making VFX when people don't necessarily notice that they're there. But as you say, if there's no effects in the scene, everything just looks lifeless and still. So one of the things for VFX is exactly that, to create motion and life and movement where otherwise there wouldn't be any. We serve the design team as much as we do serve the art teams as well. Even if you think about the effects that I'm most familiar with, the thrusters on a ship. Without them, you're not necessarily going to see that your ship's moving if you're looking in third-person mode. So, yeah, we're servants to the art and design teams, really.
Mike Snowdon · VFX DirectorPlacement of dust. Dust motes, flames, anything. Again, all that kind of motion and movement that you expect to see in a real-world environment. Surface interactions as well, so bedding the vehicles and the players into the environment, footsteps, landing dust effects, all that kind of stuff.
Mike Snowdon · VFX DirectorWell, I'm looking outside and every scene is coated in fog and rain outside. So, no, it's an art direction thing. A lot of art directors enjoy being able to create atmospheric environments. And I don't mean literally atmospheric, because obviously we're making a space game, but adding things like fog and dust allows scenes to be lit more volumetrically as well. So it's really just serving the needs of the art direction, I guess.
Mike Snowdon · VFX DirectorSo this is particle color over life. The reason here is the hotter it is, the color is going to change based on the heat of the thing. Lots of hierarchies as well with particles. We're not just limited to one. But we've got a colour gradient here. So this is the particle age curve. So the life of this particle is specified here. So each of these individual particles is going to last for three seconds. I've actually got a random value on it as well. Without the randomisation, everything starts to look a lot more uniform. So if I just strip that back, you can see it's all looking very uniform now. And changing the color over the age, you'll see that if I increase it so it's blue for basically half of its life, then it starts to go orange. We've also got an alpha curve on it as well. So actually, while it's changing color, it's also becoming less and less opaque until it gradually dissipates into the air.
Mike Snowdon · VFX DirectorWell, it's a count of 20,000.
Jared Huckaby · Host, CommunitySo that's 20,000 particles in this one single effect.
Mike Snowdon · VFX DirectorYeah, that's right. That's fine though. Let's go 200,000. Why not? And you can see what's happening as well because there's such a high count now. I don't know if you can see it, but around it, it's the exposure. It's darkening everything around it as well.
Jared Huckaby · Host, CommunityAnd that's the dynamic exposure on the Lumberyard camera that's doing that.
Mike Snowdon · VFX DirectorThat's right. So the exposure settings are camera-based. So I brought that back down to 20,000 because 200,000 was a bit intense even for me.
Mike Snowdon · VFX DirectorIt's actually not changing because I'm dragging it around. You're just seeing the color change a bit more, because as I move it, those particles are spawning continuously. So at the start of each particle's life, it's blue. So this just makes it more clear.
Mike Snowdon · VFX DirectorWell, we haven't necessarily got all of our system spec settings locked down, because while we're still in development, graphics cards are still being released and things like that. But we've got a really nice setting here actually. Shall I try and demonstrate this? We've got this max distance LOD, which itself has its own curves. So if I give this a max distance LOD, let's use the sparks one again. Okay, so to make this optimal, I'm just going to talk a bit about optimization, not specifically system specs, but this ties into it. To make this more optimal, there's a few things that I'm going to be doing. I'm going to give it a max distance LOD. So let's just set that to something quite short. So this is a distance of 10 meters. And what I'm going to do is I'm going to control the count based on that distance. So with this curve here, I'm saying that by the time it goes to 10 meters, the count has gone from 20,000 to zero.
Jared Huckaby · Host, CommunitySo just like our ships and anything else have LODs, levels of detail, the effects have an actual dynamic LOD system based on how far away from it you are.
Mike Snowdon · VFX DirectorExactly, yeah, exactly that. Got some funky buttons on my shelf as well. So this is just a VFX shelf. So one of the things that I've got here is a distance thing. So I can see that it's actually 30 meters away from the camera. In fact, let's just make that a little bit bigger. So this 100 meters is its max distance LOD. Bring that to zero. Check how far away I am from it. Let's get a bit further. They're fading away. So this is one of the ways that we were able to have really high GPU particle counts. It's not like this thing is constantly a drain on the player's GPU. We're very sensible with the way that we optimize the effects.
Mike Snowdon · VFX DirectorGood question. We've actually got a time of day slider. What I would say is that if I was working on an effect, I can work in this test scene, sure, that's fine, but I would always be making sure we're looking at it in situ as well. If it was in the PU, we'd be looking at it in the PU level. We'd be making sure we look at it on a planet, and if we're looking at it on a planet, we've got to make sure we've moved the sun around or moved the particle around the planet. Essentially, we can't really sign off an effect until it's been tested thoroughly under all the lighting conditions. That also applies to gravity as well, because if I go back to that spark effect, I might have it looking really cool when gravity is on, but I need to make sure it also works in space as well. I can't really cheat as much as maybe we can in other games. We have to be very, very thorough with our testing process.
Mike Snowdon · VFX DirectorOkay. Well, my interpretation of it is that it's basically a 3D texture that can tell us the closest distance from a surface. So we would be able to use it, for example, I'm not going to make one live because it just wouldn't be fun to do. But this area here, this little box. Basically I could create a signed distance field from the geometry of this surrounding plinth. I can't really think what it would be called. But if I created a signed distance field for this, as well as having screen space collision, the particles are going to know the distance from that surface, so they're going to know when they're actually going to hit that thing. To give you some examples of where that's going to be really, really useful in the game, for gas clouds, for example, we already do have, to be fair, signed distance fields for the gas clouds, and we can make particles actually slow down, or rather than passing through the gas clouds, we can make them conform to the shape of the gas cloud. And it gives us a really nice way of layering extra texture onto the gas clouds to increase that resolution and make them look prettier.
Mike Snowdon · VFX DirectorIt's the same kind of thing, really. It's a type of noise, so it's providing turbulence for the direction of the particles.
Jared Huckaby · Host, CommunityIt's just a randomly generated shaking kind of thing?
Mike Snowdon · VFX DirectorWell, it's twisting it. That's why it's a vortex turbulence. It's essentially creating that vortex shape.
Mike Snowdon · VFX DirectorWell, not at this company. Am I allowed to talk about other places where I had a strange effects request? So I had a request for cinematics for a cartoony game, and they needed a cheese smell particle effect. Cheese smell, yeah. It's like, hey, I need a cheese smell particle. It's the way that people say it sometimes, it's just like, yeah, cheese smell. It's the most normal thing in the world. But to be a bit more serious, the thing about Star Citizen is there's all kinds of requests. Again, going back to the original question, where are the effects in the game? There's all kinds of stuff. It's not just particles either. So one thing I wanted to talk about is we don't just exclusively work on particles, even though we're very heavily geared towards it. We've got fog, we've got screen effects. You will have seen, no doubt, loads of information on the gas clouds. Again, we showed a nice demo at CitizenCon last year, and we've been incrementally improving that setup throughout the year so far. Some of the requests that we get are pretty out there. We've got very creative art directors, as you'd expect. So lots of awesome requests really, and it's never a dull moment.
Mike Snowdon · VFX DirectorThe actual number, I don't know. To be honest, it's an interesting question because the actual number is less important. From a performance optimization point of view, the number is less relevant. It's more about how much memory the allocation is taking up and how much memory the textures are taking up, for example, as well.
Jared Huckaby · Host, CommunityThat's what I wanted to get at, that not every particle is considered equal.
Mike Snowdon · VFX DirectorAnd even adding curl noise, I've been talking about curl noise quite a bit, adding curl noise will incur a cost as well. So sometimes you have to see, okay, well, I've added curl noise. What does it really add to the effect? Can I use something else? Can I use the turbulence noise on its own, which is cheaper? It's always about asking yourself questions about how can I make this as efficient as possible. But it's also occasionally fun to just go crazy as well.
Mike Snowdon · VFX DirectorWell, I think the larger the actual individual particle is, the more problematic it's going to be. We could make it do it, but it's going to look strange. You can see me moving my mouse around in the middle of the screen. If the particle was that big on the screen and it hit the boundary, it's just going to look weird. It's just going to give the game away, really. The player's just going to know that it's just a smoky texture on a big quad. So absolutely we can do it, but you've just got to be sensible with the things that are going to be used in collision. Maybe we just have dust motes that are colliding with the geometry rather than the big thick fog. The thick fog itself, we'd use the soft particle settings, which makes it fade away as it gets to the edge as well.
Mike Snowdon · VFX DirectorOkay, so decoupled lighting is, literally, the lighting of particles previously was based on the tessellation of the particle, of the vertices of the particles. So to get high quality shadowing on particles, we had to rely on a much greater amount of verts and it was prohibitively expensive. We couldn't do it for such large scale effects like this. It just wasn't possible. We just wouldn't be able to afford it at all. And you just end up with poor quality, blocky shadows. What decoupled lighting gives us is a much softer, more natural looking shadowing on the particles. You can see it's picking up the light really nicely here.
Mike Snowdon · VFX DirectorI really like the, oh God, so many to choose from. I love the Idris explosion that we did.
Jared Huckaby · Host, CommunityWe showed it back at Gamescom.
Mike Snowdon · VFX DirectorYeah, we showed it back at Gamescom. Obviously, the Idris isn't out there yet, but I absolutely love that effect. I love the, the name's gone, but the big weapon. The big railgun. The railgun effect's fantastic. We're doing some really nice things with weapon effects actually. We're starting to hit a nice groove with the weapon effects. I'll tell you what I will show you if you're talking about effects that I really like. That is an impact effect for a weapon. That's all I'm going to say. And this is another really nice one. This is one of the Xi'an explosions. We have very specific styles. So we've got a style guide where we have a set of logic and lore that we apply to different manufacturers and different alien races. So this is a really nice example of this, Xi'an. There's lots of curl noise there, which I was talking about before. You know what? I love explosions. I'm a VFX artist, so I suppose I'd have to end on the odd explosion or two, wouldn't I?