Developers explain how modular Stanton space station interiors are built from half hand-authored, half procedural rooms. They cover tag-based prop volumes, a growing prop library, collision gap fixes, exterior view rooms and utilitarian station style.
Definitely on hard surface man-made stuff. Hard surface is the term typically coined for things that are sci-fi or mechanical. As opposed to, you wouldn't describe a Tudor-style medieval building as hard surface, even though the practices and the approach to developing that content is the same.
I actually didn't know that specificity to hard surface. I would have called it hard surface modeling if you were modeling a medieval castle. Just technology and sci-fi stuff, is that something just internally here at CIG, or is that something you found that's kind of throughout the industry?
Throughout the industry. I'm sure there's people out there who are sitting there saying I'm wrong. You could be wrong about anything, but at least that's what I've come to know growing up and learning in this industry. When someone says hard surface, they're talking about either subdivision modeling or sci-fi.
My influences are Star Wars, obviously. I think you've got to go past Star Wars if you're a sci-fi artist. Ralph McQuarrie is an excellent concept artist. Blade Runner is another great one. Lots of old, even though it's not quite relevant to sci-fi, Jim Henson movies like The Dark Crystal, anything with strong world building is definitely an influence of mine. Not just art, that's why I was drawn to Star Citizen in general. Because it's a persistent universe. It's a living, breathing world. And to me, it captures the stuff that Jim Henson was doing with The Dark Crystal and even the Labyrinth movies and stuff.
TL;DRProcedural generation is only a tool supporting artists, so the team mixes hand-authored work with procedural filling-in instead of leaving it to chance and regenerating rooms until one works.
We were talking a little bit about this before we went live, about how we use procedural generation as a tool to support our artists. The procedural generation is not the end goal of building these things. It's really about assisting folks like you in creating the sheer number of space stations and environments that we're going to need for a game of this scale.
Yeah, that's exactly right. As I was saying, if we allow it all to chance, then chances are we'll be sitting there regenerating these rooms for hours until we've come across something that's not broken and works. And then there's a chance that it's 90% perfect and we're like, right, we still have to throw it away because we need to procedurally generate that last 10%. This kind of allows us to hand author a lot of the work, but also offload a lot of the more granular work that we would usually do to the procedural system and fill in the gaps that way.
Yeah. So we could be as tight with our specification of what we want to spawn here, or we could go very wide. So you'll see on these orange volumes, the secondary element, we can see a category filter. So we're looking for floor aligned maintenance props with a maximum dimension of four on X, 1.5 on Y and three in the Z axis. And again, with the minimum dimensions. So that's saying that any prop that we find that fits these tags, these floor aligned and maintenance, and then can also fit within these bounds, go ahead and bring it in. And there could be four, five, six different versions of floor aligned maintenance that fit within that spot.
TL;DRBecause areas are half hand-authored and half procedural, the team keeps fine control to fix gaps or exploits QA finds, such as adding safety nets, though they can't guarantee such problems never occur.
Yeah. So that's another reason why we do half hand authored, half procedural. So if there is an instance like that and QA come to us and say, hey, we've got players getting stuck in an area that they aren't meant to, for this area, for instance, say your props were able to spawn and players were able to get up on those props and then jump over the railing and get stuck. Obviously, when death has consequences, we're going to see a lot less of that. But people like to explore in this repercussion-free state of the game. So they're going to do that. So that means that because half of it's hand-authored and we have control, like, all right, we can't guarantee that we're not going to get a prop so they can get up on it and jump over the railings, which means that we might relook this area here and maybe put some safety nets in so players can't fall down there and get stuck. So it's going to happen. And that's why we do half hand authored, half procedural. So we have finite control over fixing that stuff. Obviously we get finite control over how it looks as well. But that's how we're going to ensure that we can reliably fix those issues when they pop up.
TL;DRStations use approximate exterior collision volumes with known connection points, and the procedural interior system fills inside those bounds without clipping, so the two fit together with little extra work.
Yeah, so that's a good question. What we do is we have an approximate collision volume that represents the exterior of a station. So we want to make sure that where there's an interior, it's connected to a nice view room outside. So there's a point on the exterior that we know that the station's going to be stemming from almost, because we know that we want the interiors to have a view room to the outside of the station. So there's points all along the exterior that we can guarantee where it's going to start from. And then we build a collision volume around these different elements. So with the ring, we've got a ring collision element, or if we want a station interior in one of the lateral sections of the station, we've got a collision volume over that. And what that means is that the interior procedural system will just keep going, and it's going to guarantee that it won't clip through those collision volumes. So within those bounds, let's say the station rings, those big new rings, it's going to just fill in inside of that physical ring. So we don't really have to do much work to make the two fit together. Because we know what the station looks like. We know what the components are. So we can do a collision model of that and just say, use the interior space of this.
Yeah. And the station exteriors were developed with this same technique. We're starting to see a lot of variation between station exteriors. It's the same process as what we're using at the moment as well.
TL;DRYes; reusable rooms and a growing prop library are meant to speed up building locations, with each new planet, moon or station made faster, though design and art still have to approve them.
Yeah, that's the idea. With these uni rooms, they're not just for station interiors. It's for anything where it's appropriate to use a room like this, the same style, same kind of feel that we're going for with interiors. We can use these, and especially the prop volumes here. This is our bread and butter, even though it's the smallest element in it, this is the library we're going to keep expanding and expanding. Every time we get something new, we're going to put it in the prop library. And even the landing zone, people can use these elements because it doesn't need to be procedurally brought in. It is a prefab at the end of the day. So we're working on how we can speed up and quickly iterate and build out these locations with little to no human input. Obviously, we want to make sure that design have gone through and it's a logical location to exist. And we want to make sure that it meets our goals artistically.
Yeah, it's one of the most common questions we get, a variation of that one about, if this is taking this long, how do you expect to be able to do X in the future? And it's because all this development is designed to be exponential. The hardest part is building all the tools, building all the procedures, building all the tile sets. And once that stuff's done, every planet makes the next planet faster, every moon makes the next moon faster, every space station makes the next space station just that much faster. And it can sometimes be kind of hard to see, especially if you've been following the project as closely as many of us have. It's like when you put a lobster in water and you're slowly turning the temperature up. The lobster doesn't notice that the temperature is getting hotter. We turn the speed and frequency up and we get better and more efficient at making these with each asset.
Yeah, that's right. It's making recyclable content as well. Having that theory in the back of our mind that we're building a room, it's got to have longevity in it. It's got to be reusable. So that's why we build these rooms in a certain way as well. Because there's no point making it all bespoke so it can only exist in one location, because that's no good for reusability.
TL;DRClean stations are possible if the style calls for it, but the current utilitarian Stanton stations are meant to look lived in, and cleaner looks are expected at places like microTech and Crusader.
Yeah. I mean, if the style calls for it, we will. But the style for the stations, at least these ones in the Stanton system, it's utilitarian. These aren't new. They've been here for a very long time. And it is a large location to keep track of. So you're going to see a bit of things run wild within it. It's not going to be kept updated. And it depends as well, within these utilitarian station interiors, we do have higher focused areas where it's more of a communal space where they would focus their attention. So that might be a bit cleaner, with less maintenance props around. You wouldn't expect to see these maintenance props in every single room. This is more of that back traversal alley that none of the people who live here care enough about to do something about it.
Yeah. But definitely while we're still working on utilitarian stations, they're going to be a bit lived in and a bit beaten up. But that doesn't mean that we don't entertain the ideas of what a high tech station might look like, or a station by a different manufacturer. These are Rest & Relax owned stations. So they're going to kind of feel like a public rest stop back on Route 65 or something like that. Just don't go into the toilets.
Captain Cole says, lived in doesn't have to mean dirty. No, it doesn't, but it sure does help. Besides, I think, without giving too much away, as we work towards a location like microTech, you'll probably be seeing a cleaner aesthetic. The two planets we've got so far, Hurston and ArcCorp, are very industrialized, very mechanically inclined, stuff like that. As we move towards other locations like microTech and Crusader, I think you'll see more of probably what you're asking about.
Yeah, and you can just say better population on those planets as well. Little tolerance for wrongdoings and whatnot. So the people who live there are going to be a bit more sophisticated.
TL;DRYes; it is a level holding every prop in the library with debug labels, so people reuse and debug existing props, and it keeps growing as new items are added for everyone to use.
This just helps us so someone's not making vending machines over here and someone else is making vending machines over here. If we want to go in and debug vending machines or make new ones, we know where to come to. So we've got a wide range of things, and this library is always going to be expanding as well. So it might look a bit bare for a really huge station interior, but it's something that we're going to work on all the time on every location. We're going to be populating this with new things. Someone might set dress a part manually, and we might go, great, I actually want to be able to reuse that procedurally. We just put it in this prop library, and then everyone benefits from it across the PU. Anyone who's making a location for the PU will benefit from this library.
Yeah, it's easy to forget that we're still building the Stanton system. Even though the Stanton system has ArcCorp and Hurston and microTech, it is still one region of space, so there's going to be a lot of similarities, a lot of shared aspects between them all.
Yeah, you could. There would be an extent of how deep you want to do that. Every single book procedural might be a bit overkill. But definitely each one of these brushes that I placed could definitely be a volume, so I don't have to manually randomize it. I'm never going to be able to randomize something as well as a computer can. So if I want true random, when you get in the mindset of setting these props down and stuff like that, I'm not placing these books. The people who lived here are placing these books, kind of thing. So you kind of want to detach yourself from, it's me, I'm some omnipotent being placing books in Star Citizen, kind of thing. So I think getting these randomized would definitely be great. And that's something I'll probably do off camera when I go back to work.