Why don't we just fake it [EVA]?
TL;DRFaking EVA looked bad because characters rotated around their feet, so the team moved to a driven-ragdoll entity, adding gravity-transition landings within a cone, ragdoll falls and blended get-up animations.
Well, that's what we had before, was fake EVA. And everybody was happy with that. I'm not saying that it was awful. But visually... okay, visually I thought it was awful, because here's my problem: when you pitch or you sort of rotate, you were rotating around the feet. And again, we only had some limited free flight, and even in the mini PU, are you really sitting there staring at a guy doing a lot of EVA? Not so much. But let's say you're in a gunfight with a guy and all of a sudden he presses E and he starts rotating around like this. It just looks stupid. It looks fake, and that's not what we want. And most people would say, okay, how about you just offset that origin to the hips and then just rotate around that. Well, that's a little bit tricky, because actually the animation system is assuming that origin is between the feet. So it's better to go change it to an articulated entity, get all these bonuses of actually being a driven ragdoll, so flying into stuff and your arms reacting, your head reacting, and mostly your legs reacting, than it was to just continue to fake it, if that makes any sense.
The other big win that we get out of this is another system that we worked on sort of in concert with the physical EVA, and we called it fall and play back in the Crysis days, but for us it's more like fall and play and fall. And the implementation is going to get a little bit bigger. As you transition in and out of gravity is kind of our big thing. Right now how it works is, as soon as your pivot comes within some sort of gravity volume, boom, we just drop you down and you land on your feet, whether or not you were coming in head first, whether or not you were coming back first or anything like this. So what I wanted to do with it was basically give you a range that you would be able to land on your feet, essentially. So right now, I think we've set it to 20 or 30 degrees, and it's like a little cone. So again, if you consider the pivot of the character, you can be rotated, I think it's 30 degrees, you can be rotated sort of 30 degrees forwards, backwards, sideways. You're basically within this cone of 'I can land on my feet.' So when that happens, you transition into gravity, boom, you're able to actually land. But if you come in head first, what do we do? Now, we could try to animate a bunch of different directions, but this gets really heavy to maintain, and also it doesn't really look right. So instead what we do is, when you transition into gravity, we set you to ragdoll, driven ragdoll. Well, you technically already are if you're in zero G, but we kind of take the control away. You already have mass, so we put gravity to you. So what will happen is you lose control a little bit, but if you came in head first, you actually ragdoll, you're under gravity's effect, and you will fall, blam. You land on the ground in ragdoll, and your arms will go all over the place or whatever. And then what the fall and play portion of this is, we will blend whatever pose you've landed in into a getup animation. So we have eight different getup animations, and they're just sort of different ways that the body could land. So on the belly, on the back, on the side, sort of crouched down. And then we will blend into a getup animation and you will just get up from your fall.
So there's a lot of gameplay that can come out of this. And I know this sounds like you wouldn't see the direct impact of some gameplay with this. But consider things like an FPS level, or even within a station that has gravity generators. So let's consider you've got two different teams and you are fighting in this sort of area. Now, if you are in communication with your team and you control some sort of gravity generator or something like this, you can use this very much to your advantage. Let's say we have a hangar and a gravity generator. You've got the other team in the hangar, and they're flying around all over the place. They're going to town on your guys because they've got zero gravity. They can go upside down and all these sort of things. You get that other team way up in the air, and you tell your other guy to throw on gravity. Guess who's all falling down, and they have to get up. And you've basically got about five, six seconds of just picking them off as they're getting up off the ground. And then additionally, there's other things that we could build on. I'm not sure if the designers have really fleshed this out yet, but how much better are you at transitioning from zero gravity to gravity? Is that 30 degrees actually for you more like 40 degrees? Is this a character progression thing? Is this something that you can have an item for? Do you have thrusters on your suit that can help you with this? Are you like a cat? Can you always land on your feet? There's all sorts of little bits of gameplay that can go into this. That was a really long-winded answer for kind of what's going on with physical EVA. But again, it's a real exciting thing, because I don't think it's been done before. Not like this anyway.