October 18th 2017
With the release of 3.0.0 we have completed a ground up pass on mass for all in-game items, from the smallest bit of personal armor up to the largest spaceship. We have always endeavored to use real world items to guide our mass in-game but over time this has slowly caused issues as everyone’s interpretation of how heavy something is has wildly varied, a phenomenon especially noticeable during concept announcements when ship masses are first pitched. One area we identified was the notion of our spaceships being similar in role to modern day aircraft, so we originally endeavored to keep their mass values similar as well. Of course, coming at this from new angles caused a number of serious issues. For instance, the Gladius is a Light Fighter and to many that is similar in role/size to a modern day fighter jet like an F/A-18 Hornet (no relation to the ANVL Hornet) but when we got farther into things, the reality was that the Gladius has around 5x the volume of an F-18. This was problematic given it was originally implemented in-game at around 140% the weight of one. As we looked deeper into more and more ships it became increasingly clear that our original mass values were very inconsistent and often misleading. Given these are the basis for many areas of simulation within the game we decided to completely rework this aspect.
Given the huge range of ships and items in-game as well as in-concept we needed to solidify a way of calculating the mass correctly for both our existing assets and ones yet to come. For this, we decided to harness our existing physics meshes and use them to calculate the volume of material in the ships. Generally these are pretty accurate but with the wide range of ship types there were naturally a few different steps involved in generating a correct volume per ship.
At the concept stage, these ships are at their trickiest to calculate, as they are generally very high poly meshes without the benefits of physics sub-meshes. This requires a small amount of work to simplify and cap hole to allow us to accurately generate a volume for the ship.
Capping Holes is the process of fully enclosing our collision proxy meshes and open faces that can cause issues in the engine. In essence we make them “watertight” while marking up specific faces that will allow entities to move through them unimpeded. Whilst this is usually done in the production stage we had to move ahead with this at a simple level for many of our concept ships to achieve standardized mass calculations for all ships.
Once we had the volume of the ship as if it was solid block of material, we then subtracted the volume blocked out by the design team for the interior play space, cockpit and internal local grid mesh. This new volume (solid minus interior) was assigned an appropriate density value with a few modifiers:
Origin ships use more advanced lightweight materials that retain strength rather than the traditional stalwarts like Aegis and Anvil with heavier metals. The materials in play are an essential component in accurately accessing the correct mass of a vehicle, ship, or space station.
Xi’an ships are renowned for their materials and are significantly lighter than human counterparts, with their collaboration with MISC allowing some crossover. Design will work with the Lore Team to determine not only the aesthetics in play for a specific species like Banu or Vanduul, but they types of resources at their disposal and technological advantage of their culture in determining the materials used in construction.
Ships that are naturally heavily armored or require more rigid internal support generate a denser value. It is vitally important not only to consider the source and history inherent in each ship, but it’s intended purpose within both the lore of the Star Citizen universe, and the design of our game.
Once the mass for the external “chassis” of the ship was generated, we used the internal volume again to generate a weight for the interior. This simulated all the interior panelling, doors, wiring etc as the design blockout volumes and local grids are slightly larger than the interior playable space (as they encompass the walls/floor meshes) and we felt this was a better reflection on the overall mass.
Finally, we looked at the ship’s proposed or current default loadout, and added the specifics for each of these components (which also got a rework pass) to the final mass generated from the above steps.
What does this mean? All of our ships and characters now behave much better as the values used throughout the game are much more in sync. One example we uncovered during this rework was that on a variety of ships the physics meshes were uncapped, which during detachment and having the mass assigned to them was causing the engine to incorrectly calculate the mass of the detached part and thus it would behave poorly. With all the parts now capped or in the process of being capped, ship destruction and part detachment is much more reliable and believable, with less instances of huge ship debris parts spinning off at excessive speed. In addition to better behavior it also meant a lot of systemic features can be better accounted for such as carried items and cargo. Previously, with ships being so wildly disparate in weight, the simple act of adding a heavier weapon could significantly alter one ship unintentionally.
A: Yes it will, though not immediately in Alpha 3.0.
When we do the initial tuning value we base it around the default loadout and structure then give the ship “goal times” to achieve the desired results in zero g and atmospheric flights. Generally the ships are able to achieve these goals, as they are not absolute timings. Outside of any external factors, adding mass will change the flight characteristics and should you make the center of mass uneven may not do so for the better!
We anticipate this feature coming online in a future Alpha 3.x release.
A: Every single piece of armor and every item you carry on your person has an applicable mass and these all directly tie into the Actor Status System. The heavier you are the more exertion there is to perform actions and these consume oxygen quicker or may even limit what actions you can do. This system also extends to items carried on ships. Carrying a small crate of heavy metal will slow you down more than carrying a helmet in your hands and these all get added on to the mass of your ship when inside of it.