Damage Revised: XenoCow's Plan to Make Damage Simpler, More Intuitive, and to Increase Gameplay

XenoCow

Master endo
Joined
Dec 10, 2019
Messages
566
#1
Intro:
Damage and destruction is core to what makes Starbase the game it is. I remember seeing the trailers and thinking that the damage was so cool. I was reminded of the battle scenes in the show The Expanse where bullets tore through the ship, leaving trails of hot, glowing metal in the air. Damage has been much discussed on these forums and probably more elsewhere too. I know I've posted many threads on weapon ideas and the like. Here they are if you are curious:
However, one thing that all of these posts of mine in the past neglect for the most part, is how the current damage system actually works and just assume that these interesting gameplay mechanics and weapons would be able to just slot in. That is not the case. Before describing what I suggest the damage model should be, let us look at how it works currently.


The Current Damage Model:
For a full look at the damage model, there is a wiki page on it, although I think that the parts about "corrosion" are out of date since I don't think that feature is in the game right now.

Here is an overview of how damage is calculated. Each object in the game is made out of materials which alter the stats of the object. The object has a weight that is modified by the materials and the materials themselves have density, armor value, voxel penetration multiplier, endurance, and corrosion resistance (again, I don't think this one currently in the game).

When a bullet, laser blast, etc. hits an object, object being something like a plate, generator, pane of glass..., the energy of the hit, reduced by a multiplier depending on the angle of impact and thickness of the object, is multiplied by the stats of the object to determine how much damage is applied, absorbed, or if enough damage, deal voxel/fracture damage and pass through.

Damage is first absorbed into the object's armor value until that armor value reaches 0. After that, voxel or fracture damage is applied to the object. It is important to remember that the damage applied to an object is proportional to the mass of the object so large objects can take more damage than small ones even if they are of the same material.

It is hard to say how accurate the wiki pages are on the current state of the damage effects as some of the values in the materials page table are unfilled. Regardless, there are some problems that result from this system, both directly and indirectly.


The Problems:
I am by far not the first to point out that there are problems with the current damage system. But here are some of the issues that result from the current implementation:
  • Damaged parts can not always be identified visually: Parts that have sustained armor damage, but not voxel or fracture damage, cannot be visually determined to be damaged as no effects are applied to them. You can look at two armor plates that otherwise look identical and not be able to tell which can take five more hits and which will allow a pistol to shoot through it.
  • The damage system is opaque to players: Since the system for damage is so complicated, and depending on so many factors, players are required to spend many hours just to figure out how armor behaves. There is no intuition that works besides material X says it's denser and has a higher armor value so can take more damage, and bigger plates are always better. Even those don't help very much.
  • Armor values lead to strange building techniques: When the armor value of an object is depleted, it becomes very squishy, less so for larger objects, but very squishy nonetheless. This leads to two methods of maximizing armor - small parts that exactly absorb one shot, and huge parts that absorb many - Medium size armor plates are not viable but walls of handrails perfectly stop railcannon shots if made of the right material.
There are more problems, you can probably think of some, but in the interest of your precious time, we will move on to the proposed system.


The Proposed Solution:
Most of this proposed solution is not new, but I think it is worth fully writing up anyways. It has two parts, one to address the core of the damage system and one to address the player understanding of the system.

Part 1 - Per Voxel / Fragment Damage:
One of the arguments for keeping the current system I have heard is that it reduces the computational load by limiting the amount of voxel damage that needs to be calculated. I struggle to understand that one when currently ships can look like this after a battle:

shipDamage.png


So, I suggest doing away with armor values entirely and instead allowing every shot to deal voxel damage or fracture damage.

Voxel Damage
For voxel damage, this would mean that every hit would remove at least a little bit of the part it hits. That might be only a single voxel if a pistol bullet hits a plate made out of the strongest material, but it would still deal a little damage. If plates are large or small, it would not matter. Only material choice and thickness would impact armor effectiveness. Of course players would still make their ships bulky with tons of armor, but they could at least use more interesting plate choices since plates smaller than the largest plates would be just as effective against damage.

It might also be the case that some materials can completely absorb damage if it is below a certain threshold. Since damage is either done or not done. Maybe some materials are completely resistant to handguns no matter how many times you shoot them, necessitating a mix of weapons to effectively attack a base or board a ship.

Fracture Damage
Fracture damage is a little more challenging to deal with elegantly. As it stands, objects are already sub-divided into fragments upon being destroyed by fracture damage. I suggest making it so that fracture damage is applied to the fragments instead of the object. If a particular fragment is hit, it begins to fracture around the impact but not elsewhere, As more damage is applied the fractures grow until a piece is completely surrounded by fractures and then it becomes loose. This part might involve a kind of health value, but more on that in the next part.

As part of both of these, projectiles will have to have some kind of volume so that they are able to hit multiple objects at once. If the projectiles don't have volume, then plates narrower than the voxel damage may be punched through instead of blocking a shot. This might not be so much of a problem, but is something to consider and weigh as performance / creative options allow.

Part 2 - Improved Visual Feedback
With damage being voxel / fragment based, it will be easier to tell how much damage a part actually has. Starbase is a game built around physicality and so our ships should reflect that. When a part is damaged with a little voxel damage, there will be a few voxels missing here or there, dents and scars of battles past. Unlike now where damaged parts can look like fresh parts, all real damage will be visible.

When it comes to fracture damage, the fracture lines could either be represented by single layer voxel removal along the edges or some kind of shader along the edges. Parts would look increasingly fractured until they break, (think Minecraft block breaking). Depending on the implementation of the fracture damage, this could either be the entire object being covered with cracks until it begins to break up or, preferably, fragment based fracturing that only shows the cracks along edges of fracture damaged fragments.


Gameplay Implications:
From these changes alone, the game becomes much easier to read and because of that simplicity, both more accessible and interesting. As damage to ships becomes easily seen, repair will be more of a viable activity, but also leaving of small damage marks. Little nicks and dents all over a ship will give that ship character and show that the pilot has gone through a lot and survived.

Being able to tell what kind of damage is applied to anything with any weapon after one shot will dramatically increase the players' understanding of how damage works, giving them more confidence to both build ships for combat and to participate in combat. Having simpler damage mechanics reduces the skill ceiling to make good ships since if the rules are simple, nobody will have an advantage from using arcane tricks of the system that take hours to discover and perfect.

Armor plates of any size becoming viable will allow ship designs to be more creative since plates used for detailing will also provide useful armor. As previously said, there will still be chunky ships that have massively thick walls, but at least they will be able to look nice with these changes.

New and interesting weapons will be possible. Many of the suggestions for new weapon types make make more sense in the context of armor that always can take at least a little actual damage. Personally, I look forward to weapons with interesting voxel damage properties that can do different amounts of damage at different depths.


So, what do you all think? I know this kind of thing has been suggested before, but I wanted a more thorough description of a system. I think I more or less did that. I'm happy to take critisizm but look forward to additions to the idea to make it better.
 
Last edited:
Top