Developers discuss the new physically based atmosphere and sun lighting, procedural planet terrain limits (no caves or overhangs on height maps), object container streaming, the Polaris torpedo size correction, the female avatar's progress, multi-core CPU use, and Star Marine.
TL;DRLighting now comes from the sun being a positioned entity in the world rather than keyframed time-of-day values, so sunsets and per-planet times of day emerge automatically from position; no release is addressed.
Yeah, it's a good question. So what I really meant about getting it for free is, yeah, it's in a system. It's part of the positioning of where the sun is versus where your camera is on the planet, and how exactly those rays are actually getting scattered through the atmosphere. So what I mean by being free is that there's no artist going in and saying sky is blue, sky is green, sky is, at 6 a.m. it looks like a sunset or a sunrise or whatever it's supposed to be. So this happens automatically. So it's a massive switch to how the engine was doing it before. What's interesting is we used to fake the exact same values within our time of day system. So the typical CryEngine system was a time of day system. And what it is, it's 0, 12, 24 hours. You had a whole timeline of when the sun would be at a certain position above your head. So depending on that position, you could keyframe a whole ton of values. Again, the sky color, the clouds, how bright the sun is, all kinds of, there really was like 120 different properties. It's pretty crazy.
So what this actually does is, it's not that we've removed time of day. It's that we've decoupled the sun from a skybox. So no longer is it 6 a.m. anymore. It's only 6 a.m. because of where that particular sun is versus where you are on that planet. Because if you think about it, time zones across a planet, all these kind of things. So we decoupled the sun, made it an actual entity within the world, within the actual map itself, so that way we can place it. And then one of the things that a lot of people noticed, and I'm super glad they did, was when we did this two-planet transition in our little tech demo, you saw that the sun was pretty high up in the sky on one planet, but time didn't switch, just our relative positioning to the other planet switched. So it was sunset in that particular location on that one planet that we went to, but it was the middle of the day.
TL;DRLighting depends on many atmospheric conditions, with artist-adjustable atmosphere composition and thickness producing real-time scattering that needs far less artist labor and performs better than before, though artists can only change some conditions.
So many atmospheric conditions. Oh, my goodness. So Carsten Wenzel, again, one of our heroic programmers. Carsten was at Crytek before. He wrote a lot of the atmospheric stuff within time of day for the CryEngine. So to do it sort of properly, I'm sure he really liked being able to do. So what we did was make it so that the atmosphere has pre-computed gradients that we can put into it. The artist is actually aligning what that atmosphere does based on the sun color that's coming into it. So we can make an atmosphere a little more green. We can make it a little more red. You can change the composition of the atmosphere. You can make it thicker. You can make it thinner. It's really, really important because you can go on different planets. Some need to look like there's just a sky above you, but other ones are going to have a very thin atmosphere where you can see all the stars, you can see most of the stuff that's just beyond you in space. So this was a pretty big system that Carsten worked on quite a bit. And the benefits, I mean, you're seeing it already, that we get all this sort of real-time atmospheric scattering and shading for free, depending on what positioning you're in, from the system. I think that's the biggest strength.
You went from a system where you had to create this skybox, this texture set for the morning and for the afternoon and for the evening. And then you had to have these reflection pass textures that had to get baked for every situation. And then what are you going to do? Blend through them all. Then what happens if you change your ecosystem? To have an artist manually make every single sky for every single possibility just wasn't feasible. And so this system allowed us to have these endless possibilities, so to speak, with very minimal artist labor. And so a lot of the texture memory usage that we would normally use comes for free now. A lot of the labor that we would normally pay for comes for free now. And you get a much more realistic system.
The other thing is the performance on top of it. The performance of this particular atmosphere system makes it so that, yeah, we can change all that in real time, have multiple planets. It's so much higher performance and higher quality than the Crysis stuff that was in there before, CryEngine.
And that's exactly what we're talking about. Higher quality, less labor, more efficient. That way we get things to the backers faster and make it better.
But there is a drawback to all of this, right? And the drawback is that though the artist can change some of these atmospheric conditions, it's not all of them. And this is the mark, I think, of a really good graphics programmer: they'll give you enough rope, but not so much that you'll hang yourself. And the best ones, and I shouldn't call Carsten a graphics programmer, he's far beyond just graphics, but yeah, that's a big part of it.
Yeah, this had to be in place. There was always the idea that time of day was very static, in terms of, yeah, you can't go out and fly to the sun. It's just a point in the sky that's always going to be there. So, yeah, I absolutely expected that there would have to be some level of sun entity.
Yes, actually, this one's mine. The torpedo system changed. It was size 6 in the old system. The system changed; it's size 10. That change made the website. It did not make the PDF before it went to the printers. So those new brochures that are going out to those who have purchased the Polaris will have the correction in the brochure. It is a size 10 torpedo launcher.
I think so. I think one thing that we also really pride ourselves on is not going 110% procedural, still having some artist's ability to go in and customize certain layouts in certain areas to really highlight the location that you're traveling to. So I'd imagine that we're going to continually press on as far as making more and more interesting landscapes with the procedural stuff, and then we'll also have a way for artists to go in and really make something alien and special for certain locations.
TL;DRIndirect lighting from the atmosphere is computed because otherwise shadowed areas would be black or have a single flat ambient color; it also saves artists from placing environment probes on planets.
Because otherwise everything would be black. If you put a shadow on it, black. There'd be nothing there, because what shade, what amount of lighting would be there? I shouldn't say every other game, but a lot of the current and previous generation games had one level of ambient term. And that would mean that if it wasn't getting direct light, this would be the color that it was getting shaded with. But it's like one color, one setting, that's it. I mean, you might animate it, you might color grade it, but yeah, it's not a great solution.
Well, it's essential. It's essential to make things look right and to look good. It was great that it got implemented, because people are commenting on how great that planetside stuff looks. And what Sean's saying, there's a lot to it. And it's the little things like that that become very big things visually.
And it saves them time. Otherwise, it sucks right now, because now when you're in a station, like we're working in stations and things, we have a system called environment probes that we use for the ambient lighting everywhere else but on a planet. But when you're working on a planet, it's like, oh, forget about the probes, we've got the irradiance here. No worries about probes. But then when you're up working on the stations now, it's like, oh shoot, I've got to put probes back in.
TL;DRThe female model and heads are done and clothing is being refitted, but animation parity with the male's thousands of animations must come after the male is locked down, so the female isn't in yet.
Blame Steve Bender. So there's a lot that actually goes into the female avatar. It's not just making the model and getting it in there, right? There's the whole animation system that also needs to work with these characters. So currently there is a significant amount of work going on on the animation side to make sure that that character is going to be working properly, because we do have the female model done. We're currently in the process of taking a ton of clothing that we've made for the male character and then basically refitting it and recreating it to work with the female characters. That way everything is going to be modular across the board, even though the female and the male will have different size fitting clothing to make sure it conforms to the body properly. But currently the artists are making all the female clothing. We got our female model looking absolutely fantastic. We got all the female heads running in parallel with all the male heads, and then the last thing that we really will need to get working is all the animation side stuff.
For perspective. So we have a female character. How many people will touch this character? How many in this company? And we can just talk departments, touch this one extra character to add to our game.
So on the high level, your animation discipline is significant to it. You have your tech animation discipline, to make sure that everything's working properly and technically set up correctly. Animation is responsible for the actual animation and the movement. Tech is responsible for getting it working along with animation a little bit. And then you have your tech artists on more of the art side, making sure that everything is working properly, efficiently, draw calls are correct, and making sure we can populate with plenty of characters without breaking the game. And then you have your character artists themselves. And then you have your concept art that needs to make sure that everything looks right before we go spend the weeks it takes to actually create something properly. You have your character art director, Josh Herman. You have the whole head department, which we have 3Lateral and Imaginarium and a whole group of people in-house that run that whole area. So it's a massive undertaking. And then you have people just doing the sculpting of the character and the low-poly.
Then once the character's done and it's working, then yes, you have to get it over to tech design and then you have to figure out, okay, how do the attachments work? How do things get swapped out? How do you put this on you? We have the females in the marine outfit, right? We've got to make sure that we set up all the item attachments on all the armor pieces so it can grab everything properly, because the proportions are slightly different than the male. So we've got to make sure that when you reach for that gun, it's going to work.
And then once it's done with all the tech stuff, then you get it to QA, and then get all that working, and then you throw it in the game, and then absolutely nothing works. And then you evaluate. And you might have code bugs, you might have things you've got to fix because it doesn't work. Then you've got bugs.
So the reason I ask is I was on a panel, we were talking about a second character in a video game, any video game, ever. And the question was, why is there only one in there? I don't understand why there's only one in there. And somebody made just a random comment and was like, oh, it's hard. No, it's not just hard. And obviously what we're doing is hard. We've got a lot of people, so there's a lot of things you can say against that. We've got a lot of great people on it. But it is a very intricate process to do it right, to get a second character in there. And what we're doing is we're not just getting a second character in there. These guys are building entire pipelines to make this whole thing efficient and faster for future ones.
And one thing we've learned from our experience of developing this game from scratch is it's really important to get your infrastructure in place and to prove out all of your techniques and your workflows and your methods. Because if you try to do two things in parallel before you've proven one method, you could be doing them both wrong. And we want to be as efficient as possible, so we want to make sure we get it right and then we move on to the next challenge.
A lot of great lessons learned. So that's pretty much the reason the female isn't there right now. So just to give you some details on that anyways. The female and male skeletons are two different skeletons, so conceptually completely different characters. Could be a Vanduul, could be a... So the implementation of that second skeleton, just like you're saying, though it's a female, it's just a tiny bit smaller than the male. Yeah, sure, but it is another asset. But one of the tricks is, okay, now we're going to make this female. We've got motion-captured animations too, but we've also got a lot of authored animations for the male. If you're ever going to implement a female and they can't do everything that the male can do in terms of animation, in terms of using weapons, in terms of equipping outfits, oh my goodness, the blowback would be awful. So you have to make sure you are at parity with that male. So because they're two different skeletons, all of a sudden we have to do a different animation set. So the male in Star Citizen currently has about 6,000 animations or so. Now they're not all in the PU, they're not all seen necessarily by the players at this exact moment, but they will be. And what that means is, yeah, that's 6,000 other animations now on the female, and that has to be in parity. And what Forrest was saying was you can't figure out the problems on two similar systems at the same time; rather, get one locked down. So what he means is that we're really not even finished with the male, right? We're not finished with a male human completely, where he does cover correctly, he does prone correctly, he does mantling correctly, and it's not even just doing it, it's that he does it and it looks really good and we are all happy with it. Once you're there, boom, through to the female, because then it's just a matter of transferring animation. Right now we've got a whole bunch of females within Squadron 42, and a lot of them are transferred over from the male and then feminized a bit, or they are brought in from motion capture data. Again, trying to do two at the same time without having locked down and perfected that first one is a real trick. And we could always just bail and do the easy thing, and we talked about it, we could do the very easy thing of just saying, all right, females and males, exact same size. So all of a sudden you share the rig, and you know what, you could have female avatars tomorrow if we made that concession. But females have a different proportion. This is just a reality. And I feel, and everyone in charge feels, that that's important enough to take our time with it. Have the male locked down and then transfer it all.
Oh, about the vaults. Perfect. See, and you can see that, yeah, the system's there, but it needs to be finalized, because there are things that will change to just get a little bit of polish out of it, but then you have to reapply that to a female or another character or whatever. But the cool part is, once the female's online, that means Vanduul, Xi'an, all these other races that we want to do are quite easy to bring online within those systems as well.
TL;DRPlanets use 2D height maps so caves and overhangs can't come from the terrain; they would be placed as modelled assets, and better tech might follow if they become important enough.
And overhangs and things that we didn't answer before. So will there be? I can't tell you for sure how we would do it. We could do it. But everybody's got to realize, too, as soon as you get into 3D, as soon as it's not a 2D representation anymore, things get a lot harder, because that is why the CryEngine had a voxel system before. We had a voxel system in the CryEngine where you would define an area, it would copy the terrain into a voxel, and then all of a sudden you'd start sculpting caves, and it was a really cool sort of process. The planets are not voxel. These are planets using height maps. So to be able to represent anything in 3D on a 2D height map is not really possible. That's not something that we can do super easily. So things like overhangs, caves, anything that goes beyond that 2D isn't really built into that system. Now, will there be? Because to make these things, you do it the typical way that games have done it in the past, where you actually make the models of this stuff. And it's not an odd thing, and I don't think it's a cop-out either by any stretch of the imagination where you model those objects, because we put tech in place so that those models now look far more part of the terrain, and it's pretty hard to tell already. Like in the Homestead demo, it's hard to tell which ones of those are actual assets that have been placed with the distribution system or if those are actual terrain features. It's tricky to tell, but a real easy way is if it's going to be a cave or if it's going to be an overhang, probably a model.
I think you start with the art, right? You get the art in there, and then if the importance level gets higher and higher and higher, then you start figuring out better tech solutions, because you find out that it's a good use of time to go that route. But again, prototype it, get it in there, and let's see how it works. But yeah, with art you can do pretty much caves, you can do whatever you need, so cool stuff.
TL;DRProduction approach varies by discipline, from strict agile for engineering to dependency-driven pipelines for art, relying on leads, time for discovery, tracked past metrics and a work-alongside-the-team, no-burnout philosophy.
Who wants to be a producer? That's a question I would have asked before I was in this industry. Well, first of all, there's a difference between philosophy and what's actually happening in practice, right? You can have philosophies all day. Production is very good at pontification. We can talk, because that's part of our job. But generally, I judge someone based on their philosophy, because that's what they'll do in emergency or chaos situations sometimes. So what is CIG's production process? It depends on the pipeline, honestly. We can't have one specific way to do everything, because that's not how what we do works, or really anything works when it comes to creative projects. I've never worked on a project at any company where I had one way that worked for everybody all the time. That's not how this works. So some teams are really hardcore agile, right? It really works well for them, because two-week sprints are great. Software development, two-week sprints are fantastic. Art assets, that's not necessarily the best way to do agile.
I think the perfect example would be, take either the ship pipeline or, even better example, the character tasking pipeline. And then take a graphics engineer's task. So a graphics engineer is much more agile. You literally have a list of things that need to get completed and then you queue them up in order, which is an absolute agile production method. And then you have the other route, which is more art tasks, which is more pipeline and disciplines, right? So you have your upstream dependency and your downstream dependency, and you start with your concept, and then you have your design guide, and then you have your concept, and then you have the high-res sculpt, and then you have the game topology, and then you have your texturing, and then it goes off to your animation, and then it starts branching, and you start having this tree of parallel dependencies, and it gets a little more complicated. So I think you're right, it really depends on the discipline that you're talking about.
And in all of our pipelines, the discovery process is very important. What we're doing across the board in certain areas is unique. Some of it's not, but most of it's very unique. Discovering things is very hard to schedule and plan and organize. You do plan for it. It's called adding time, because you know it's going to happen. But when you're doing something unique, we're not making houses, we're not manufacturing trailers, we're making something creative. So we have a lot of creative people. Creative people have great ideas, and sometimes their other ideas are better than their current ideas. So understanding which one's the best idea to use at the time, which one you take and put in the backlog, which one you act on to get out the first version, right? There's all kinds of factors that go into planning, organizing, scheduling. For me, I think working alongside your leads, working alongside your directors is absolutely key. Production, our job is to somewhat stay partially outside of the actual details, because then we can look at it objectively; if we get too far in, we can't. But at the same time, we need to have some basic level of knowledge, right? I always think a good producer did the work before, generally, either in their degree or their background. Pure business guys or girls are cool, and they have something to offer as well, but I've found that they have more challenges unless they've actually done it themselves. Even if it's a school project, or you do a mod outside of work, it helps to have that level of knowledge. You can't know everything all the time, so you have to rely on your team, and there has to be a level of trust between your folks. So back to your question, what is my production philosophy? I'm hoping these guys could probably answer at this point what my philosophy is, but the perfect project management triangle, of course, I talk about this quite a lot, the health of your staff, the culture that you're cultivating, the support system that we try to provide. Work-life balance is very important, but my philosophy is work alongside the team to get it done as fast as we can without killing anybody.
It's keeping your head afloat, right? We're always trying to keep track of everything that needs to get done, and a lot of things that we do we've never done before. So a lot of times it's kind of hard to give estimates or track stuff until we've done it once, and then we're like, okay, we kind of know how long this takes, and then we can start doing a production roadmap to say this is when this could get done. The more times we do it, the more metrics we have and the more averages we have. We've done this 10 times now. We know it's taken this much time each time. Average that number out and we've got a pretty good idea. Tracking that data is what's really important.
It is very important. It's very difficult without the right team, but it is very important, especially because we move fast. Every time you add a new element to that process, it generally changes the bid. Forrest and I were working together early on on characters, when the pipeline was in its infantile stages. Forrest has done some great work, the team's now doing awesome stuff, but that initial number we got for how long a character takes, we were so proud of that number. In our pipeline, in our process, with our team, what does it take to build a character from start to finish with one artist, right? You generally do man-months, or by individuals. But now, as the team's grown, as the pipeline's adjusted slightly, as things have gotten more efficient, some things have gotten a little harder, we've gotten more people in play, that changes your bids. So you start with that number, but that's probably not going to get you to the end. It might be faster, it might be slower, but it's fun.
And once you have all your tasks and your bids laid out, then you can start doing stuff like, okay, to get all this stuff done, it's going to take until like 2022. Then you're like, okay, but we only have one resource. So what if we had four resources? And then you see how it goes, and it allows you on the production side to balance all of these, to get your numbers into when you need to release by. And obviously there are other factors, like you bring on new people, there's the ramp-up time and stuff like that. The challenge is growing a company and still developing at the same time and trying to keep track of everything. So it's a tough job.
TL;DRSean Tracy says he doesn't want a gameplay advantage from character sex, so the Squadron 42 female physics skeleton matches the male, though hitboxes might later be averaged between the two.
It could. The thing is, the way physics works on a character is it exists on the skeleton. So yes, you have a conceptually smaller skeleton on the female. Now, it's not dramatic enough that I would actually even make a change between the male and female. And it goes back to what I was talking about before: it's an equality thing. It's not good to give a gameplay advantage just based on the sex of your character. I don't think that's fair, and it's probably prime to be argued whether or not that's the case. I tend to hate it. There were some MMOs that I'd played in the past where it was actually the best thing to do to scale down your characters to the absolute smallest you possibly could, so that in a mass gaggle battle you would be the hardest to click. I get it, but I don't want to encourage it. So basically what I'm saying is that I'd prefer, and it is the case right now in the Squadron 42 female character implementation, that the physics representation of that skeleton is identical to the male. So it's the exact case.
So, yeah, hopefully that answers the question. What is a little weird about that is that the hitbox does extend a bit past what you can actually see on that character. So we're talking a couple of inches, but it might be enough that actually we want to change some things, but we would probably make it so that we have a perfect average between the two. So you make the male one a tiny bit smaller and then make the female one a tiny bit bigger, so that they actually line up correctly and perfectly to each other.
Better in terms of scaling will be to have as many cores as you can. The future of most... well, I shouldn't say that at all. I just don't want to make an assumption like that. Parallelization is the big improvement as we move forward, and you'll see better and better utilization of the cores the longer we work on it. So I would say you'd want to get more cores. But again, there's a happy medium in there where it's like, yeah, don't get anything that's crazily slow but just completely parallelized, because it might be a lot slower. But yeah, we do a fairly good job of the multi-threading right now.
TL;DRThe panelists name Star Marine, being boarded and defending a ship, multi-crew play, and, for Sean Tracy, unglamorous object container streaming as the features they most look forward to.
I'm a big FPS fan. I always have been, going back to GoldenEye, and Counter-Strike, and all those good ones. So it's always had a little place in my heart. I'm also a huge MMO fan. But I can sit down and grind through some deathmatches. So I'm personally looking forward to Star Marine. I'm really enjoying playing it. I think it's got a lot to offer, and I think this is only going to get better from the first time we introduce it. Again, we've got it in the game already, right? So you can get some basic functionality of running around and shooting people, which I'm already loving when I'm in our map now. But I think it'll be cool to have that mode. That's something I'm personally very excited about. Huge deathmatch fan, so I enjoy racking up the kills.
To go with that, I think something in the future that I'm kind of looking forward to is, I want to be boarded. I want that FPS. I want you to be able to get into my ship and start firing, and defend that ship. I think that would be super sweet.
Seriously, that's one of the biggest; that is as big as the 2.0 rollout, the mini PU stuff, once that's online. The universe is our oyster, basically, because that's pretty much the big one.
TL;DRAn object container holds a hierarchy of objects on top of a unified zone partitioning system and can be streamed in and out dynamically, like a level inside a level, which capital ships and universe streaming need.
There's kind of a lot to talk about with object container streaming, but just the basic idea of an object container, and it sounds so simple, it's like, oh, didn't that exist already? It's literally a container with objects in it, right? Sure, but you could say that a prefab or an archetype was kind of the same sort of thing before, or just a group of entities. Why don't you just group them together and call that an object container? Well, it's kind of not that simple, because the CryEngine had a bunch of different spatial partitioning systems within there. The physics system had one. Render has one. There's a bunch of different ones. So the zone system, this is getting to be a very unsexy explanation, but the zone system was the unification.
It's the stuff that you don't see, but it takes so much work. A zone partitioning system is not hard. It's hard to make them fast. And it's hard to get them to talk to each other if they're different. So what we had done was first get the zone system online, and you've probably heard a lot about that. But what that is is a more advanced partitioning system that actually unifies them all across all the modules. So physics uses the same as the render uses, the same as this. So then you've got to embed those partition systems into a container of sorts that composes a bunch of assets. Now, you might have multiple zones within that one object container, but you've got to load them all at the same time, basically. So an object container is exactly like what Forrest is saying. It's a container for objects. But what we have to be able to do is stream them in and out without keeping them in memory. Basically, on level load, we can't have them all there. That's the thing. So we need to be able to stream them in and out dynamically. We can do it with prefabs. We can do it with entity archetypes, but nothing to the scale of the object containers. We can do it with small-scale ones right now, but it's a little bit slow when it gets pretty hefty. So that's what Steve Humphreys has been working his rear off on, so that streaming is actually very quick and it gets all those assets.
And the type of objects that go into the container, a great example is the space station. Those things could be massive and we need to efficiently stream those in, right?
Sure, and it's not just the station asset, it's the shop in it, the character in it, the gun that he's holding, the attachments on the weapon that he's holding. So there's a huge hierarchical load that has to happen. A lot of this, in CryEngine conceptually, you would do all on level load.
It's almost like in the past you worked with level streaming, and we need to go so far past that because we're endless. We needed to stream objects in, and it's almost like they are levels. So it's almost this incredibly impressive level streaming system with a level inside of a level.
Right, that's exactly how I explain it now too. If anybody had worked on a CryEngine project or worked in the CryEngine before, or even in any other level editor, the object container is the equivalent of just that level, but it exists in the paradigm of a larger level. It's pretty close, but again, the object container thing, it's essential for capital ships, it's essential for universe streaming, so being able to go from planet one to planet two with whole cities on them and all this kind of stuff. And that's how it's all going to work.
TL;DRObject container streaming basically works, but the size limits and content rules are still being figured out and tested, and budgets can't be given to designers until they are.
Size limitation. And you know what? That's something we're figuring out right now. I'm saying I'm most excited about the streaming coming online, and by the way, it works, pretty much. So it's not like this is a tough nut that we haven't been able to crack yet. We've cracked it. It's just, yeah, we've got to figure out what we can get out of it. So we don't yet know exactly the size that we want to make them. We've tried various sizes. I mean, I've put a singular character into one, and we have capital ships in one. So we need to set those budgets. The other difficult thing about it, and if anybody's worked on a game project they'll understand this, is managing level budgets, so not per-view budgets, but everything in the level. You've got to make sure that designer one knows, oh yeah, you just added 10 megs. Designer two knows, oh yeah, you just took away four megs. We need a way of budgeting those designers on being able to do certain things or not do other things. And we can't yet tell them, until the streaming is working exactly as we need it, what the optimum size of that container needs to be, what kind of assets can go in there, what kinds don't, should they be separate. All those kinds of rules, and that's really actively what we've been doing over the last few weeks anyways.
And in the end it really comes down to a numbers game. Profiling at the very end comes down to a numbers game. These are the numbers you have to work with and you have to stay within your budget.
TL;DRAtmosphere height is an artist-defined setting and can be extended, though the current shallow ones likely keep descent times short; the engine also knows when you are in atmosphere, enabling possible future gameplay and effects.
Yeah, and it's all extendable. It's all user-defined, so the artist defines it. I haven't measured some of the ones that we have in there right now. But absolutely, I would think that would be a big part of it. I think one of the big reasons they made them pretty shallow was just the amount of time that it took to get down. So I think if they did it realistically, it would just take a long time. But yeah, short answer is that it's actually just a setting.
And what's cool, I think, that I completely didn't even think of until I realized it, is they do put some code in there that makes sure that the engine knows when you're within the atmosphere and when you're outside of the atmosphere. And that allows us to do a lot of cool things, probably down the road, with some gameplay support. Like, if you're flying in, what is the flight system when you're outside in space? And then if you notice, we have a different flight system when you're actually on the planet. And that's how it knows: that atmosphere and the code that they put in there to tell us when you're in and when you're out. And then we could probably start transitioning effects in. What do effects look like? Contrails on ships, all this stuff that would happen inside of an atmosphere that may not be as realistic in space, right? So that's something I'm really excited about.
I mean, we teased some of that in Homestead, but that was the idea, right? When we had that planetary reaction to the ship. And John Pritchett, one of our physics engineers, very, very smart, talented guy, that's what he's been working on a lot, right? Not just how the Dragonfly works on a planet, but now also how does your ship fly in there? Which ships fly better in atmosphere than in space? These are all great things that we're starting to develop, and I think it gives a lot of opportunities, really exciting opportunities.
One other thing along the lines of what Forrest was saying: so it knows whether you're in the atmosphere or not, and what it also knows about is the gravity around the planet. So that's super cool. The fact that there's even a small falloff that happens in there as well. So we have a variable amount of gravity on every single one of these planets. What we don't necessarily show in Homestead is the funny thing that happens to all of us, really. So we're flying around in the atmosphere, whatever. You're in a Connie and then you get out of your seat, right? But your ship turns off. So this is one of the Item 2.0 things anyways; we're going to leave the ships on or give you the ability or something like this. But yeah, as soon as your ship turns off, guess what? Gravity's on. So you're walking to the back of your ship and you don't realize you're actually hurtling towards the freaking ground at whatever rate. And then you get halfway out and the ship explodes and you're like, oh right.
And that's going to be helpful when you're in space too, because say you want to get out, leave your headlights on facing an asteroid and fly over to it, kind of use your vehicle as an extra light source. So that's super cool. But it is fun to work in these planetary tools, because the whole engine, the toolset, was kind of built for this kind of flat plane field. Now all of a sudden we're working on this planet where you're actually like this in space compared to where that normal plane would be. And so the next challenge really is working on the toolset to make the workflows easier.
And all the things we have to reimplement because of that change. A nice example is what we ran into with the cloth from the Nomad. I think this is a perfect way to explain what happens. Again, consider that the CryEngine really had this idea of Z up. That was it. Z is upward. So we had this cloth implementation that we put on the Nomad. Cool when he's standing on a perfectly solid plane that has Z up; yeah, cloth is falling downwards. However, if you happen to be on the bottom of a planet, no longer Z up, but you're like this, the whole cloth simulation system was assuming Z up. So it thought the gravity was going this way. So as you stood up, your cloth was coming straight up from your head like this. So it just looked absolutely ridiculous. And it was totally different depending on where you were on this planet, because all of a sudden you're upside down and the engine just had no idea about that. And that happened for a lot of different systems, so luckily Ivo Herzeg already put a fix in for that, so that was not a dramatic change that had to happen, but it's so many things like this.
It's the discovery process, right? And I think that's what we were talking about earlier, not just in the production planning phases, but just going through this. Some exciting discoveries, some frustrating discoveries, but all of them making it a better product at the end.
And because we're really concentrating on making it scalable, because we want this game to be around for a very long time. So in the past, Crysis, you just drop that wind entity in, and you're good, right? But now we're like, wait a minute. We don't want to just have designers place wind entities over an entire planet so that it kind of moves. Now you need a system that's more procedural, that can actually make sure that the wind is curving around the planet properly and working. It's just all these little things, but that's the fun of it and that's the challenge, but once the foundation's built, then we're really sprinting.