Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Please sign up or log in to edit the wiki.

View source for Comm-Link:The New Damage System

From the Star Citizen Wiki, the fidelity™ encyclopedia

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in one of the groups: Users.
    Sign up or Log in to edit a page.
    The Star Citizen Wiki is made by people like you! Anyone can edit and improve any pages.
  • You do not have permission to edit pages in the Comm-Link namespace.
    You can submit an edit request by commenting on the talk page or contact us through Discord.

You can view and copy the source of this page.

{{Infobox commlink
|title = The New Damage System
|image = Comm-Link-damage-system-Figure14.jpg
|url = https://robertsspaceindustries.com/comm-link/transmission/14568-The-New-Damage-System
|type = Transmission
|publicationdate = 2015-03-08
|series = Design
}}

== Greetings Citizens ==

[[File:Comm-Link-new-damage-system-Figure1.jpg|thumb|right|Figure 1 - Surface damage we'd like to replicate]]
As some of you may have seen from the recent sneak peek on [[Around the Verse]] or the [[Foundry 42]] monthly updates, we’ve been hard at work for some time to improve the damage system on the ships. We’ve already shown in Arena Commander our very powerful and flexible system for controlling the damage on your ships, which combined with some awesome artwork gives some great results. But your ships are such a big part of the [[Star Citizen]] universe we felt we had to go several steps further.

[[File:Comm-Link-new-damage-system-Figure2.jpg|thumb|right|Figure 2 -Just a few of the damage states on the Hornet]]
So we took a top down look our damage system to review what we could improve, and although there is great satisfaction in peeling off each part of an enemy ship when they take major damage, we felt we could better represent the specific location and type of damage inflicted. Whether it be a projectile weapon, an energy weapon, an explosion or scratching your ship after a dodgy landing, we want you to be able to differentiate them just from looking at your ship. We felt this was going to be especially important in our game as we want each ship to tell a story of what’s is been through.

[[File:Comm-Link-new-damage-system-Figure3.jpg|thumb|right|Figure 3 - Diagram showing the damage model we simulate]]
Two other areas we wanted to improve on were the time it takes our artist to create the numerous damage states for each part of the ship, and the hefty memory cost these meshes come with, which could prove to be a problem as we scale up the game. The reason the damage states are so labour intensive is that each ship has over ten main parts, and each of these requires five damage states to represent the different levels of damage, then each of these requires up to five simplified meshes that we use when they’re further from the camera to save performance. This equates to over 200 meshes per ship!

[[File:Comm-Link-new-damage-system-Figure4.jpg|thumb|right|Figure 4 - One of the textures showing the unwrapped Gladius that we use to determine where a ship will take damage from a specific hit. Each colour represents a part of the ship that can move independently or detach]]
When you examine the current damage states in Arena Commander you’ll notice that the first two damage states tend to just contain minor dents, some burn damage, and perhaps a few panels that have been blown off exposing some internals. It’s only when you get to the 75% and 100% damage states you start seeing major silhouette changes, however the earlier damage states still carry the same memory cost. So our goal was to try and achieve the minor damage without having to create whole new meshes, saving both memory and artist time. To do this we decided to record the impacts on the ship within an extra set of textures that wrap around the entire ship, and to then use these in the shaders to dynamically add the dents and burn in precisely the location your ship took the damage. However rather than just opting to blend in a simple damaged texture in these areas, we instead chose to model the type of damage much more accurately by recording four different quantities:

{| class="wikitable"
| style="font-weight: bold;" | Temperature
| The current temperature of the hull
|-
| style="font-weight: bold;" | Burn
| The maximum temperature the hull has been burnt with
|-
| style="font-weight: bold;" | Thickness
| How much of the outer hull remains. Paint comes off first, then the underlying metal
|-
| style="font-weight: bold;" | Deformation
| How much physical force the hull has taken to bend and distort it
|}
Using these four damage values we can make the hull glow with heat, make [[Ship paint|paint]] burn and bubble, peel paint off to expose the underlying metal, dent and deform the surface, and even cut holes through the hull to expose the internal wiring and mechanics. Rather than the internals of the ship only being modeled in specific locations we now model the internals under the vast majority of the hull. You might expect this would involve a lot of work for the artists, but they’ve come up with several methods of adding these internals very efficiently and the overall damage state setup is now significantly quicker than before.

== Yours ship's life story ==

The really interesting thing about us having access to four different measures of damage is that these can be imprinted on your ship in a pattern and strength that is unique to each weapon, explosive or type of impact. So while lasers will cause your hull to light up for several seconds leaving burnt paint and exposed metal, a powerful ballistic might tear a hole straight through your hull. We’re just scratching the surface of how far we can go with this system, and we plan to soon upgrade the weapon/ammo code to expose more unique and physically realistic damage behaviors.

Templates used on this page:

Return to Comm-Link:The New Damage System.