This week on Around the Verse, Chris Roberts and Tony Zurovec reveal how the Star Citizen vehicular modular system was leveraged into a character customization system, we head to Frankfurt for a studio update, and a special installment of Ship Shape dives into the Anvil Hurricane.
- Chris Roberts (CEO, Game Director)
- Tony Zurovec (Persistent Universe Director)
CHRIS: Hello and welcome to Around the Verse, our weekly in-depth look at the development of Star Citizen. I’m Chris Roberts and joining me from our Austin studio is a very special guest. Our Persistent Universe Game Director, Tony Zurovec.
TONY: It’s great to be in the Los Angeles studio Chris.
CHRIS: Yup, it’s great to have you actually. So, you’re out here to help us to work on some gameplay mechanics within the Star Citizen universe. Could you talk a little bit about what you’re working on?
TONY: Sure. I’m still doing quite a bit of work on the subsumption editor and we’ve also been converting a representative set of the initial mission scenarios to this new format and that’s been going quite well. We’re finally starting to see some real validation of what we’ve been saying all along which is that this going to allow designers to craft this type of logic much more quickly and that’s going to lead to a lot more mission diversity and ultimately fun. I’m also focused on the solar system services at the moment.
CHRIS: So, my solar system services you mean missions, shopping, and procedural planet commodities.
TONY: Exactly. The first one of these out the door will be the shopping service and it’s going to control inventory, prices, and demand levels for all the shops within a system. It’s also going to hook up to the mission service so that low inventory levels will automatically result in the creation of mission to reverse the trend. The mission service is also interesting because along with a lot of work that’s occurred, it’s also going to allow us to start instantiating a lot of dynamic content for the game.
This is all dramatically different than what we’ve had in the game to date, which has always been much more static in nature. I should also mention that the guys in Frankfurt recently created a useful real time visualizer for the subsumption logic and that’s allowing designers to iterate much more quickly than they otherwise would be able to and that’s going to pay some huge dividends in the future.
CHRIS: That’s cool. That’s right and we’ll hear more about the subsumption visualizer in our Frankfurt Studio Update.
You may have noticed last week’s Studio Update had more detailed and was longer than previous ones. This was the debut of the revamped studio update segment. The idea is to give you guys a video version of that studio’s monthly report and calls out the work accomplished by all disciplines and not just the few we decided to focus on in our previous Studio Update. This hopefully allows us to give you all a better weekly snapshot of the continual progress we make towards building the BDSSE.
So, with that, let’s go to Frankfurt for our weekly Studio Update.
- Brian Chambers (Development Director, Foundry 42 Frankfurt)
Hi everyone. I’m Brian Chambers, Development Director here at Foundry 42 Frankfurt. A little info from the team here, we’re currently 67 people strong. Made up of people across 14 different nationalities. Main language in the office is English so we can easily communicate with the other studios, but at any point in the office you can hear discussion in German, Italian, etc. Let’s jump into the teams and see what the team’s been working on in the past few weeks.
Tech Art team here is made up of two people. This month they worked on the tool both for cinematic and gameplay animators to quickly render out previews of their work within Maya. The tool allows the animators to quickly offload the rendering to a different PC so they can continue work on their own PC. The renders are an essential part of our review process here so that the global teams can have an eye on everyone’s progress across all the studios.
They worked on numerous small tasks as well such as skinning of cloth, automated file testing within Maya and supporting the weapons team to name a few.
Cinematics team has been focusing on telling the rich story of Squadron 42 as we all know. The team is making great progress, putting scenes of various sizes together. They continuously work across multiple disciplines to get the final look and feel that they’re after such as the character team for our A-list cast of characters, UI and art teams, on specific visuals and the VFX team for unique atmosphere and effects. We’re holding back on showing scenes for now so we don’t give any of the story away, but we honestly look forward to the time that we can show them all off to you.
The weapons art team in Frankfurt who you’ve heard from before is broken up into two areas of focus. One on FPS weapons and the other one working solely on ship weapons. The FPS team has been focusing on giving the final polish pass for the Behring and Klaus and Werner weapons. As well as a new double-barreled ballistic shotgun from Kastak Arms.
The ship weapon guys have been focusing their time on finalizing the pipeline for the new modular and upgradeable system which when completed will allow us more flexibility and efficiency when we’re moving forward in creating the variety we’re after.
The past month on the DE VFX team has continued work on the procedural systems, replacing particles on the surface of planets as we showed in our last update, I believe. The systems in place now and it will make the setup of particles much easier for the future planets.
They’ve also been working with the system designers on a brand new oxygen breathing system and the visuals attached to it. The visuals are tied to the player losing a portion of their oxygen over time for various reasons. The system is still incredibly early and its development may change but so far is showing good progress.
System designers here have been working with programming to get the player and the AI both interacting with the same useable and to intelligently be able to use other objects inside that useable. For example, sitting down at a table, picking up a cup, drinking from it, using a knife and fork, picking a grenade or gun from a locker etc. They also worked on getting all the Squadron 42 characters subsumption behavior standardized across the board. They started with the main cast character to get him working in perfect order for a full twenty-four hour life cycle. All the conversations you can form with NPCs etc., and once that’s finished the same standard will get applied to all characters to ensure everything is consistently made and everyone has a fixed template to follow when creating NPC behaviors.
The level design team is continuing its push on the modular locations. For the surface outposts we’re working into the first three variants. Hydroponics, mining, and storage. Like our other locations, both the exterior and interior props are modular and can be combined in many different variants. This is the only image they gave me to use for now, we’ll have a more in-depth look into the recent work in the near future and they didn’t want me to spoil it.
All the modular systems we’re developing enable us to quickly build a large number of locations while still maintaining our high visual target we’re after.
For the engine team it’s been a busy few weeks for them as they continue on a daily basis the push on planetary tech. Some of the recent work on planetary tech was planetary clouds. For one: the texture LOD computations for cloud details were revised in order to reduce aliasing and shimmering artifacts in the distance. We also included support for simple cloud animation which we’ll see further improvements on in the future. For alien planets there’s now also an option to tint clouds.
Work also started on our solar system editor which is the version first that’s almost complete. It allows us to setup solar system in their initial state. Drag in planets as object containers, configure their objects around the sun, setup moons orbiting around planets, etc. It’s an essential tool that we found out due to the size that we’re working with and the amount of objects that we have.
The tech team also did numerous other improvements such as replacing the video player back end which now allows for much higher quality video at a reduced file size. They worked on mesh compression and enabled client side feature testing to allow continuous testing against a large variety of game and engine features, systems, and mechanics and automatically track if and when which submits cause anything to fail.
This month the environment art team grew by another two artists. Collectively they’ve made a lot of progress on the procedural moons around Crusader. Each moon has its own distinct look and feel.
A lot of effort has gone into making each one unique, at the same time keeping them visually tied to the same family per say. The work on the different ecosystems is now complete and the team is currently working on refining the geological elements that will be found on each separate moon.
We’re excited for players to eventually visit the three moons: Yella, Daymar, and Cellin, by flying seamlessly from space to the procedural planet’s surface. The development of our procedural tech is ongoing and with a growing team of artists using it on a daily basis and working directly with the programmers to improve the tools, we’re creating an extremely strong foundation for our future content.
The AI team this month successfully completed two separate sprints related to implementing the subsumption mission systems functionalities to enable us to implement the search and rescue mission in Crusader.
One of the low-level features has been the implementation of the super GUID. The super GUID is a way to connect a variable in subsumption to an object in the world that has a specific structure to it.
For example, in Crusader, we have one main container that defines the Stanton system. This container has a clear structure and contains several asteroid fields, Port Olisar, etc. In the mission logic we can have multiple super GUID variables that allow us to access different specific elements within any given structure.
This month the AI guys also introduced a new tool: The subsumption visualizer. This tool allows us to debug live mission and behavioral logic, allowing us to modify in real time the variable of the brain of the NPCs or the mission flow. This tool is fully integrated into the engine and it will be the central place for the debug functionalities of subsumption, as a whole.
Thanks for taking the time, thanks for listening. This wraps up the update from Frankfurt. Appreciate all the support and we’ll see you again soon
CHRIS: Thanks for the update Brian. It’s great to finally preview the environments lot for Yella, Daymar, and Cellin moons as the unique ecosystems are being populated objects and geological features. With the advancements in planetary tech they’re finally in orbit around their home planet Crusader which is pretty cool, I’ve wanted to do that for a while.
I’m also impressed with the progress they’ve made on the mission system from completing not just one, but two sprints of core functionalities on the subsumption mission system.
TONY: Yeah completing two sprints in one month is really quite an impressive feat and with the introduction of the new visualizer that we mentioned earlier, it’s going to be much easier to debug subsumption logic within the engine and that’s going to be a huge boost to productivity for both Squadron 42 and the PU.
CHRIS: Which we need, we’ve got a lot of stuff to be done.
Last week we unveiled the new concepts of the Anvil Hurricane ship. We were looking for a new combat ship that incorporates into the already impressive array of dogfighting ships, but it needed to be something with a unique approach so it wasn’t like everything else. The Hurricane was originally pitched as a flying weapons platform, hit hard and get out quick. The catch is, while it’s designed to dish out a lot of damage, it can’t much take in return which instantly felt like it would attract a specific type of fighting style, the boom and zoom, which is very cool.
Up next in the latest edition of our ongoing series: Ship Shape, we’ll take a deeper look into our new fighter ship the Anvil Hurricane.
- Dave Haddock (Lead Writer)
- Calix Reneau (Technical Designer)
- Justin Wentz (Concept Artist)
DAVE: Originally designed by Casa Aerospace as a weapon against the impenetrable Tevarin Phalanx Shield, the Hurricane provided a unique solution. If you can’t go through the shields, go around them. By the time the ship had been produced in significant numbers Corath’Thal and the rest of his fleet had burned in the atmosphere of Elysium IV, so these warships found themselves without a war.
Although it continued to serve in rotation, the Hurricane fell out of common usage; was eventually eliminated from the fleet. When Anvil Aerospace began looking into new ships in 2867 the Vanduul were slowly pressing into the Caliban system in a manner reminiscent of the pushes that precipitated the attacks on Tiber and Virgil a hundred years earlier. To stem these raids, they revisited the original Casa Aerospace hull designs and began looking into updating the Hurricane for the modern age.
CALIX: The Hurricane was originally on a list of starter ships, of what our next starter ship would be rather, and when it came time to revisit that concept and get the design really started we keyed in on the turret as being this really important aspect of this ship.
JUSTIN: In this case with the ship I’m given a lot of preliminary information like the rough dimensions of the ship. I knew the Hurricane needed to be about 22 meters long. I know that it’s a fighter. It’s going to have a pilot and one gunner. I know it’s going to have to accommodate six guns. You know a couple of guns on the front. It’s going to have a manned turret with, with four guns on it. You know there are various things and I also know that it’s going need to incorporate a particular pilot entry animation, in this case the Gladiator animation. Take all that information and try to fit a visual design around it.
CALIX: In building out our ships we’ve been moving towards embracing our manufacturers, embracing the assets that we’ve already created and how that builds into our style and builds into our workflow. So, the Gladiator and the Hurricane were kin, and we took advantage of that to accelerate the process of building out this ship, because we can take a lot of the similar design cues for that entrance for the pilot and the turret, although they are much further apart than they are in the Gladiator where they’re bunk buddies, but with the Hurricane we wanted to differentiate it a step further.
JUSTIN: When I take a first pass at the design sometimes I’m taking pieces from the Hornet and pieces from the Gladiator, shoving them together, seeing if I can make a new ship out of those pieces and try to inspire myself to think of some new shapes, new looks.
So I will put together a batch of really rough either sketches or mockups or I’ll call like a 3D kit Bash if it’s using existing pieces. I’ll send that off to Paul, the Art Director on this particular project, and we’ll take a look at it, and we’ll see what we like, and what we don’t, and we’ll move forward from there.
CALIX: This came together around the same time as the concept for the Prowler which had just begun to have its concepts of the directional shield and it’s lore in the Tevarin War and all those things coming together.
It seemed like it would be kind of cool to pair those things up, so that the Hurricane was kind of the answer to the issues that the UEE were having with the Prowler where the Prowler would present this impenetrable defense and just sort of stroll up and wreck your day. And then someone had the brilliant idea of, “What if we shot them from behind?” So the Hurricane was about getting the strafing runs, getting to it quickly, but sacrificing a lot for that.
So the Hurricane needed to get in fast, and it needed to unload a ton of bullets, a ton of damage onto the Prowler all at once in order to counteract its impressive shield technology. As a benefit, bringing the Hurricane back in modern times is that it’s pretty effective at strafing runs and assaults on stationary targets. The focus is so much on that turret and being able to bring pain to people you’re running away from. The notion that we had for this, this glass hammer, as Will calls it, that you run face first into danger and them make them regret following you.
Yeah, the Hurricane is actually pretty underpowered with the exception of those guns. It sacrifices everything to have reasonable engines and insane weaponry, and everything else had to go, so it’s not going to be able to power a full laser suite with your shields all together. Your shields aren’t anything to write home about, and the nicest thing that can be said about the Hurricane armor is that it has some. It’s all dedicated to that, that aggressive notion. You just have to make sure that you win fast, which seemed to go along with the original design idea of, of this ship.
JUSTIN: So with the Hurricane I think it takes the preexisting recognizable attributes of Anvil ships and it, it simplifies them, and it streamlines them. When, when you look at the Hurricane hopefully you’ll recognize a few things. You can see the bent wings of the Hornet. You can of course see the iconic Anvil circle there right in the center. Everything revolves around that.
Has the snub nose that is reminiscent of the Gladiator. It takes all these ideas and it, it gives them a pretty simple silhouette, and it reads well from a distance. I’m thinking that mostly if you see a Hurricane from the, from a distance you’ll recognize the wings. Depending on the color scheme maybe you’ll recognize the, the shape that is designed on the top which is actually reminiscent of the Anvil logo itself, the circle and some of the angles coming off of it. So, that’s what I hope you notice when you’re actually looking at the ship.
CALIX: It definitely requires a particular kind of gunner to want to fly these things, because you are putting your life in their hands and to an extent the pilot as well. Anyone who seeks out the Hurricane to fly is someone who is probably going to cause a ruckus
TONY: It’s always very cool when a ship can add to the game’s history while also distinguishing itself with the exclusive game-play features like the quad-gun turret.
CHRIS: Yep. Quad-gun turret, that’s so cool. One time Paul built this…Well cause he’s the guy writing the items system he had a ball turret on the Hornet and had a Gatling gun attached to Gatling gun attached to Gatling gun. I think he had about 50 guns on his. We won’t sell that one, but it was very cool.[LAUGHTER]
CHRIS: But, anyway the focus on firepower will really appeal to experienced fliers. With the Hurricane’s small build, its sensitive movement, it really isn’t for rookies unless you’re really looking for a challenge. So, we’ll see if you want a challenge. Up next we’ve got a really interesting piece from Behind the Scenes. Ever since the project was first announced, backers have been asking about their characters in Star Citizen.
TONY: Absolutely. Your character is your connection, the in game representation of yourself, and developing a character that says individual as you are is totally essential to creating a unique player experience.
CHRIS: Yeah, especially in our world. So, our current customization system is sure to provide a multitude of personalized player experience, and along the way we’ve learned that creating a system that allows you to mix and match pieces of clothes, armor and weapons and create distinct looks requires extensive technical and game-play considerations. So, we sat down with Paul Reindell, Sean Tracy and Josh Herman to talk about the challenges of bringing the system online in Star Citizen. Have a look.
- Josh Herman (Character Art Director)
- Sean Tracy (Technical Director of Content)
- Paul Reindell (Director of Engineering, PU)
SEAN: Hi there everyone. I’m Sean Tracey the Technical Director of Content here at CIG and today we wanted to talk a little bit about character customization. So to make that happen I have with me Paul Reindell if you want to introduce yourself.
PAUL: I’m Paul Reindell and I’m the Director of Engineering for the Persistent Universe and with me also.
JOSH: Yup, I’m Josh Herman, Character Art Director.
SEAN: Awesome. So to bring online character customization, you need a lot of different departments working together and that’s going to come from design, that’s going to come from art, and that’s going to come absolutely from the engineering side.
So the first thing we did want to talk about was exactly what we’re going to do for the next big release that we’ll be giving out to you and then what we’re going to do moving forward and today what we’re going to discuss is what we’ll term customization. So selecting items on your character and being able to customize what you’re wearing, things like armor, things like clothing, things like weapons, and basically how we brought that system online.
So maybe to give them a bit of a background over how this system came to light was, at the very base of it, the CryEngine or Lumberyard Engine uses something called character definition files so basically it’s really just static geometry. So you’ve got a skeleton of the character and then you’ve got a bunch of geometry attached right? The problem with that is that none of that can change at run time, you can’t switch out those attachments. Changing things like the color of it or even embedding things like gameplay logic within those pieces of geometry was not possible.
JOSH: So, it sounds like no customization at all was available.
SEAN: No customization was available, it was all very static and it was very pre-authored. So it works very good for a game that has maybe upwards of 20 character or so, but a game like Star Citizen which is an MMO, players want to make their own characters, we’re going to have hundreds and hundreds of different types of NPCs, it’s not going to work very well.
So as the ships we’re being developed and maybe Paul can talk a little bit about this, they had to come up with a system for ship customization.
PAUL: Yes we basically had the same issue with ships. The vehicle system in CryEngine comes as predefined ships, predefined weapons. Obviously we want to have like, customizable ships so we built a system called ItemPort system which allowed us to build vehicles in a completely modular system where you have your base ship and you can attach turrets or weapons to it and you can basically build your own customized ship out of it and we thought with that system already in place, why don’t we take that and move it over use it for character customization to actually use the same system and be able to apply like a base character which is basically a naked person and put on different armor pieces, different clothing and even different clothing.
SEAN: Yeah and one of the tricky parts about that is with a ship things are very rigid in terms of, you attach this one gun here, there’s no real deformation going on, it doesn’t have to attach in any super special way, it’s like just align it to that helper and you’re pretty much happy, but on the character side it can become a little more difficult because we’re talking about zones within the character and everything on a character deforms, everything is skinned to a scan.
JOSH: Costumes are going to be all unique. You’re going to have jackets that are going to have to fit over different types of things, armors that are going to have to fit over different types of things, Helmets that don’t necessarily fit, shoes that don’t meet the pants. You have all these kinds of problems where when it is a deformable and very unique asset, whereas you’re saying it’s basically a port and an item going into that port for the ship system, it needs to be a little more flexible for the characters.
SEAN: So then what we had to do obviously was change out that default CryEngine or Lumberyard implementation and over the course of many months we’ve been working on this and things have been progressing really well.
We basically load a skeleton, that particular skeleton is sitting right there. It can animate and do everything it needs and technically that character is loaded, there’s just no actual geometry that’s showing it.
So in the loadout editor here you can see that I have an ItemPort and it’s called the body ItemPort and this is what supports a bunch of different items. So within the items you can see we’ve got female bodies, we’ve got male bodies. So right now just I’m going to load up one of the male bodies and we’ve got two very different, different ones in terms of their skin tone and before I get too much further, I want to attach a head just to show you how we do skeleton extensions and that the base skeleton actually gets built up upon.
So what I do is the body actually carried a whole bunch of ItemPorts with it by itself, maybe I’ll move these little figures so you can see it. The one I’m really interested in is this head ItemPort. So as soon as I select that head ItemPort it actually tells me what items are valid for that particular port and we set this all up through types and rules.
So you can see we have a lot of different character heads and in this case I’m going to select the male tier one, male 09 tier one, which is the one everyone is kind of used to within the PU. We’ll have Lee change that around a little bit.
So I’m just going to add some eyes onto him, so he gets a little set of eyes and now let’s go ahead and turn off the skeleton debug here.
So here’s our guy. So he’s loaded up and one of the things that we’re working on right before we give you a character creation is this scene between the neck and the body because we have our heads all scanned from actual people and our body itself wasn’t a body scan, this was just modelled by one of our very talented character artists, what we have to do is align those two so that there’s no seeming in there and what can be confusing, but also very powerful within this situation is the dynamic hierarchy that it kind of creates. So we have the skeleton, then we add that naked body on top and then on that naked body there’s a certain number of ports. It’s got clothing ports for t-shirts and whatever else, but it’s also got another port called the armor port.
PAUL: The way our games designed is we have the under suit and then on top you can layer different armor plates and so on. That’s also just another ItemPort on top of the under suit ItemPort, so the under suit ItemPort and I can go give him different leg plates, I can really customize my character. Since the art is all set to work with each other, I can now actually even go further and put stuff attachments on my armor so there’s like different item ports for grenades for example. So put a little grenade in here. So here as you can see, this completely allows me to completely customize and randomize my whole player.
SEAN: Now initially doing this of course, some of the assets weren’t set up to be as modular as they could be. What were some of the challenges that you ran into when we were trying to put all this stuff together all of a sudden.
JOSH: Sure. Some of the easy ones are, when we start putting together all types of art, shirts or pants and shoes is the easiest example. So if I have high tops and I have shorts, that’s going to be a very distinct difference between the two, but then if I have pants that are going to go longer, things start colliding and if those things aren’t set up early, basically what we’ve started to create are zones or regions or boundaries depending on what you want to call them, to help us make sure that everything is going to line up.
The other thing is maybe say somebody’s got a weapon on and then when I take that off, this armor piece off, does the weapon go away or now does it go down a level and does it get to stay there and that’s also a gameplay implementation as well. Should you be able to put armor on or weapon on whatever’s underneath that.
So, all these kind of things where it’s like, we can add it on there, but also does it look go visually, does it work for the gameplay and then does it also make sense for the tech team to have to do that.
SEAN: Sure and there’s always a point of contention in there. Who really says where that gun is meant to go because design will say all the time, “Yeah, yeah we want to move it around wherever”, but sometimes they’ll put it up on the shoulder, it just looks ridiculous there or on the back or that doesn’t work with that armor so there’s always an interesting, I think, interplay between the art and design needs so there’s constant iteration on this.
PAUL: It’s also the technical aspect of design and artist they come and it’s like, “Oh we want to have all those different layers”, but then again like now your multiplayer draw calls because you put layer on top of layer and that’s where also this zone system Josh just mentioned really helped.
Having defined zones and then layers on top of layers on different zones allowed us to basically take one layer which is underneath and just cut it out on a mesh level so we save all those draw calls which you don’t see anyways and having a defined zone system really helped getting this stuff going.
JOSH: Yeah exactly. The balance between the tech and the art, the art is always going to want to push it and make it this much as possible and design wants to do the same, typically as much as possible as cool as possible and then you run into the performance problem where you’re saying, “Now you’ve added so much stuff that the game can’t run, or this character is 20x more expensive than the basic character” which turns into a problem.
SEAN: Sure. And it’s happened.
JOSH: It has happened.
SEAN: A few times, right?
JOSH: With some cool systems like the zone stuff is that it does give us quite a bit of leeway and I’m going to break that down with you guys in a concept, we can break them down pretty easily.
Both of these have a jacket which is this piece right here. Both of these have shirts which would be this piece right here and then we have pants, looks like this guy is wearing probably some kind of a glove and both have boots.
Now this is all exactly what we talked about right? So this t-shirt, we’ll actually be making t-shirt, if it’s a t-shirt or tank top all the way into this area. Same with this if it’s a long sleeve or whatever it is, we’re building it all the way out. When we put this cardigan on, it’ll actually be culled out all the way over here. So, all this will go away which is pretty cool because then we don’t have to worry about it like we said we get performance savings which is really a lot of freedom for the artists which is really cool.
One thing that we were talking about before which is a challenge is pants. The challenge is actually where any two zones are going to meet because that’s where you’re going to have two things colliding right?
Now let’s say I have a pair of boots like this and I have a pair of short boots or pant shoes like this, and I drag these over and you’ll see that maybe I didn’t change these pants out, what’s actually going to happen is this would all be skin right?
The challenge that we have here is that first off, that looks a little weird, and then second, the model that made for these pants is built to look like it’s tucked into boots. So if we have that problem, now this creates a problem where we have a piece of clothing that we’ve created that doesn’t necessarily fit in all of our scenarios and we want to make sure that all of our characters are built to fit within a system where it’s easily swappable and easily modular and the biggest thing I’m that I’m most excited for this is NPCs
Right now when you look at any of the NPCs you see they’re all pretty much the same guy unfortunately. But, when we get into randomly spawning them we’ll be able to select from certain types of clothes in certain groups and because of all of our assets will be able to blend seamlessly together, we’ll be able to spawn them really quick and really, really easily because they’ll be able to select from anything and all the shoes will work with the pants, all the pants will work with the shoes, all the shirts, all the jackets, etc.
SEAN: It does sound like a very simple thing that, “Oh okay when I put a t-shirt on we’ll just get rid of that torso”, but we ran into some great edge cases between there and again I think it comes from having assets that were built beforehand that we’re now supporting within a modular system.
So I mean there was clever things, sort of like when you’ve got a t-shirt, how much of that body do you want to call and we actually had to separate those zones down and I can’t remember the exact number, but there’s around 20, just over 20 even zones that split up say the upper arm for example because sometimes we have t-shirts like the one I’m wearing here, but sometimes we have ones that go down past the elbow and sometimes we have a full arm shirt so you don’t want to keep drawing all this stuff underneath and the other tricky part about that is you would think that you would just be able to layer the clothing like you would in real life so I put a shirt on and put a jacket over that and everything is going to look right.
Well, not really because when the topology doesn’t match, so let’s say I put a jacket on top of this shirt and the literally the edges of the topology don’t line up, when it deforms, they’re not going to deform in the same way and so what ends up happening you may not get clipping when you’re standing, but as soon as the guy animates, boom it’s all popping out everywhere.
JOSH: It looks terrible.
SEAN: And there’s never really anything you can do about that if you do not keep your topology consistent which we don’t necessarily have on the shirts because it’s a bit restrictive if you have to do that. So with the zone culling coming online, not only did it fix the clipping problem, it also fixed our performance problem which was a super duper powerful thing to have.
JOSH: Yes, super.
PAUL: It also put constraints onto your work right because artists they usually just work and make it everything look cool, but then with this system like that, they start to get okay you have to build this, but this section won’t always have to be exactly at that line and so it puts some restrictions on your work.
JOSH: It’s restrictions, but I think that’s part of why we had 20 zones on the body is like, it’s not just you can only have shirt or shirt sleeves or no shirt, like we have way more than that. So we can play with within the zones a little bit so we don’t want to get too close where it clips or you see holes in the mesh, but you also have enough to where you can get something that looks pretty cool looking. Pretty much we can come up with anything at this point and we still get super good savings and looks good.
SEAN: One last really good example because a lot of people are maybe are thinking of the layering structure so that you would always have pretty consistent assets so a jacket that was always closed, okay great that’s always going to cull out the stuff, but guess what we actually have jackets that go up on the third layer that are wide open so that means what if I don’t have that t-shirt on underneath that jacket, I got to show the chest then, but the t-shirt was culling the chest so then how do I make sure the chest is there with that jacket on. So there’s a lot of little logic within there has to get all worked out and we’ve worked most of it out anyways.
JOSH: What’s cool about that though, is…I don’t know if I’ve seen other people do this, maybe they have, but if I buy a jacket in some other games, it is an open jacket, they just replace the shirt underneath and you get just a generic shirt, whereas with ours you can wear that jacket with a t-shirt underneath or go shirtless.
SEAN: Or shirtless, look like Fabio…We call it the Fabio look.
JOSH: Fabio, Yeah you can do that too.
SEAN: It’s pretty fun
JOSH: It adds a lot of customization. We can start layering much more than we were with just an open jacket and a closed jacket and t-shirt.
SEAN: Yeah so a lot of questions that present themselves and sometimes I go down this road with the designers, but we have to explain the hierarchy of how this works a little bit.
We have just as Paul explained this naked body and then on the naked body we have clothing that can get attached to it. So then we have this layering, so that clothing can start hiding that naked body, but then on top of it we have another layer of the hierarchy which is the armor.
So the armor hides all the clothing, which hides all the body so now we keep building up on it. It might be worth explaining how we’ve split up the armor into less granular zones than the 20 or thirty, we still have that technique, but we have whole items anyways.
JOSH: Sure. So, when we put on armor, and one of the things we’re defining right now as armor is an under suit. So, an under suit basically means that you’re going to be able to go into space with it. So, you can put on a helmet and you can go into space, EVA, jet around, and you should be fine.
SEAN: So an under suit is kind of your chassis.
PAUL: It’s like a full-body EVA suit.
SEAN: Yeah, it’s like a frame.
JOSH: So, what that does is it puts on, and you can still see the player’s head, hair, face, all that kind of stuff, then on top of that now you put your helmets and you put your chest pieces, your arm pieces, and your leg pieces.
Right now we’ve split it up into four because it’s just easy to assemble, it’s easy to – with less zones, like we were talking about before, you have way more free play for the art because I don’t have to say, like if this line on my arm is where I’m going to have a zone, all the gloves, everything is always going to have to end at this line. It will look a little weird and you’ll see it in some other games. It doesn’t cull itself out until you see it but you’ll see all the gloves go to here. All the boots and the pants mesh at one line.
If we remove those lines, we can have a lot more free play in that art so we have a little bit less there. But, also it allows for gameplay for design so we can put however many weapons go on a chest piece, on a core piece, and does that get bigger and better as you go up light, mediums, and heavies. And then tech within the helmets and all the kind of stuff within the legs and arms as well.
SEAN: So, within this we’ve talked a little bit about how the art is developed, so let’s talk a little bit about how the tech actually works in terms of, okay, so we’ve got this hierarchy and then we have these character items.
So this is all part of the item 2.0 entries that we’ve talked about with the community quite a bit. So, we have all these items that are all pre-defined. Within those items there can be gameplay components on them. There are a couple of components that are being developed for the character side. Did you want to talk at all about any one of those?
PAUL: Well I mean for the first thing we did, taking what originally CryEngine counts as, what you said, like the static character definition file and split each piece out and we just made them items so they are interchangeable and then we already had the ItemPort system for ships so we just took the same thing and basically made those pieces which you usually define in one static file are now just items which you put together and that allows us to give each item different game values.
For example, for our chest pieces we give them different mass values and then the game code just takes the overall mass of your attached items and calculates how fast you run.
So now design has the ability to give each individual item different mass values and that gives them the ability to make a fast player or a slow player and then it also allows us to build rules.
The ItemPort system comes with a rule set which says: Okay, on this port you can only wield a heavy weapon or a light weapon or a small weapon or this type of ammo class and whatever. With this system now we can define things so if you have heavy armor obviously you’re slow but you can carry the bigger and heavier weapons and that all works because we have componentized all of those into items.
SEAN: And then on the performance front that’s a better thing because again we could do scheduler updates type thing, we can make it so that they’re not all updating all the time, it’s all very controllable.
PAUL: And then still for characters even if they are now split into different items, under the hood, we’re using the skin mechanics which basically still on the rendering side we merge everything into one skin and since they all use the same material, even if it’s split in logical items, on the rendering side it’s still one thing which we can draw in one go so it’s still very optimal and good…
SEAN: Right, this unified see render proxy piece of the character. Another benefit of that, by the way, is something that we have to deal with on the tech art side quite often is the LODs and the culling of that.
So, one thing that can be tricky with the character, if he’s made up of a whole bunch of different attachments, they’re all various sizes and usually our level of detail culling is based on either a bounding box size or distance or an average poly size and if they’re all sort of popping and doing things at different rates, what happens is that on those edges that you talked about, all of a sudden there is breakage in those seams.
It’s important to keep that as one unified piece. Up until now, just a good example that came off the top of my head, the helmets were separate, bone attachment, so, and I’m sure that people have seen this within Star Marine: they’re shooting at somebody, he’s running away, and suddenly the helmet disappears and he’s just running around in space with no helmet on and his face out doing the Star Lord or whatever.
We’re changing those over to the skin files and then that will combine with the render proxy and then suddenly we’re LODing and culling out all at the same time. Which is the best way to do it of course, I think, in my opinion.
So, a little bit deeper into the tech, some people might wonder how we manage a skeleton like this. In most games, it’s a dramatically different than how somebody would develop a movie, every single character in a movie tends to get their own rig so it’s a very bespoke rig, they’ve got whole departments of riggers that are just building up these skeletons for every single character.
However, in a game it’s the polar-opposite. You want one skeleton for everything as much as possible. Problem with that is that you’ve got to carry all of those joints around. So, we’ve had a system within CryEngine/Lumberyard, now it wasn’t used on any shipped game yet…
PAUL: You’re talking about Skel-Extension.
SEAN: Yeah, Skel-Extension. So, what this system does is that we can have a base skeleton but we can add additional joints to the skeleton at runtime and when there is duplication of those joints, they’ll shear off basically those duplication of joints and just extend it to the new one.
What this gives us the ability to do is modify the skeleton hierarchy itself at runtime meaning I can put that chest piece on and all of a sudden I’ve got a new joint with that new helper just on that chest piece and that’s where the weapon will go.
So, rather than saying, ‘I’m going to carry around a skeleton that has a helper here, here, here, here, here, here and I’m using helper 22’, you know, for that armor piece, it’s actually coming in automatically with that so, was there anything more that I’ve missed, maybe, on Skel-Extensions or some challenges within that?
PAUL: You’ve touched on the key points. I think the key point is really to keep the joint count in the base as low as possible and then every piece which comes on top which comes with additional joints can come with its own joint and then there are very smart people in Frankfurt, our animation engineer who built the system which allows us to combine those bone with skeletons into one single skeleton and still all of the animations will work.
That allows exactly what you just mentioned, we can have one armor piece which has two bones here for attachments for grenades and then another armor piece which has them here and it still works and we don’t have to carry four bones for that, it’s still two bones but they are in different locations in each piece.
SEAN: Exactly, and the nice part is that it all becomes data driven, really, and that’s the key to this entire system is that it was meant and it needs to be scalable as much as possible.
PAUL: Well, it’s data driven but it also gives the designer more freedom to instead of having, ‘oh, I always have to put the gun on this position’ because that’s how the system works. He can place the thing wherever he wants and then…Obviously you use the same item port but then on one armor piece the weapon is maybe here and on another it’s a little bit more here and still aligns. Gives the artist a lot of freedom…
JOSH: Which I love cause now we can do any shape and size and put stuff wherever we want and you guys can just Skel-extend to that location which is awesome.
SEAN: Exactly. Yeah, it’s very powerful.
JOSH: Do Skel- extensions affect like non-armored clothing like just casual clothing, social clothing, or anything like that?
SEAN: Absolutely, so though the design is still up in the air, not up in the air necessarily, we know people are going to have weapons on their civilian clothes at some point but there is no combat right now when you’re outside of armor. But it would absolutely apply to those civilian clothes. Where it applies even more and this was the next topic I wanted to talk a little bit about, was simulation and secondary motion on a character.
JOSH: Secondary animation in relation.
SEAN: Yeah, so that’s where this gets really powerful because if I was to say attach a cape to a character that cape is going to need bones chains and it’s going to need a good whatever, five bone chains across, probably ten long.
That’s a lot of joints all of the sudden to be carrying around on your base skeleton but if you can attach it with the asset that’s coming in, you’ve saved that much off your base skeleton so that’s where we really use it, is when that simulation comes into play.
PAUL: And the modularity even helps more because of like what you just said, like this cape needs to collide some with your body and then usually traditionally in most games how they do it is they have predefined area and that makes always look the same shape.
For us, because we put everything into these different modules each piece can come with its own collider zone. So you can make a very fat chest piece which just comes with a collider zone and then the cape will still work and collide with that and collide different than big, heavy chest versus a very thin, light chest piece.
SEAN: Yeah, we abuse this on not just things like capes, things like hair, jackets, the sand nomad that was within the Homestead demo was one of the best uses we’ve had so far. So definitely an interesting thing.
JOSH: We’re really excited about the degree of variety this tech is going to bring our players, we wanted to leave you guys with a little bit of a video showing off some of the features. So, thanks again and thanks for watching.
SEAN: I hope you guys enjoyed this very work in progress and behind the scenes look at the character system and how you, as players, are going to be outfitting and customizing your character. Now no character customization is complete without something to make unique faces and in a future Around the ‘Verse we’re going to discuss this a lot more. Before then however, I wanted to leave you with a technical demonstration done by our partners 3Lateral of the potential of runtime facial technology to create millions of unique faces. This is the last piece of what we need for character customization and we’re super excited it’s finally getting to a stage where we can start integrating it into Star Citizen.
We hope you enjoy and if you want to see more of the DNA system and 3Lateral’s technical presentation, click here. Thanks a lot guys and see you in the ‘Verse
CHRIS: After seeing the challenge of leveraging the modular system we used for vehicles, environments and items into a modular system for characters, I couldn’t be happier about the team’s accomplishments, it’s very cool.
TONY: Yeah, one of the things that excites me the most about the core tech that we’re building is that it encompasses everything from clothes to armor to weapons, power plants, ships, space stations, and beyond. The level of detail that Paul, Sean and Josh have been able to create even with small things like hair and cloth movements, it’s truly phenomenal.
CHRIS: Yeah, it’s awesome so the possibility for players to dress or equip themselves just like you could in real life is one of the cornerstones for making a first person universe possible and that’s why we’ve been working really hard on it. So, that’s it for this episode of Around the ‘Verse, I would also like to invite all of you to join us tomorrow at 12 Pacific for the latest Star Citizen Happy Hour stream with host Ben Lesnick. This week we will feature the return of RSI museum.
One last reminder that tomorrow is the last day to catch GDC interviews live on Amazon’s Twitch page and again a huge thanks to our subscribers and backers who make this show and us making the game possible. Thank you very much.
TONY: Yeah, none of this would be possible without your support, thanks for watching and we’ll see you…
BOTH: Around the ‘Verse.
This has been another INN Transcript of Around the ‘Verse, material which is the intellectual property of Cloud Imperium Games. INN is a fan site and is not affiliated with CIG but we deliver their content with permission, as a service to the community.