- Joined
- Sep 14, 2017
- Messages
- 666
- Reaction score
- 928
Okay, so here is some math I came up with that could fix the spaghetti problem with minimal changes to the game engine (and help balance docked armor a bit)
The idea is all about weighing a ship's surface area and size factor against how much structural damage it takes per block destroyed such that spaghetti ships become as brittle or more so than their high density counterparts without punishing the typical complexity of RP built designs or higher surface area of small ships.
So the math:
var shipBlockCount; // ship's block count.
var shipArea; // ship's number of exposed surfaces.
var sizeFactor = (length * width * height)^(1/3);
var hitDamage; // shields/armor/structural HP damage caused by a weapon
var preFactorModifier = 60; // a coefficient of how much integrity each block gives your ship
var postFactorModifier = 1.25; // a coefficient of how harshly the penalty scales once a ship breaks the integrity limit.
var shipIntegrityFactor = (shipArea * sizeFactor / shipBlockCount / preFactorModifier) ^ postFactorModifier;
if (shipIntegrityFactor < 1) {shipIntegrityFactor = 1;}
var shipIntegrity = 1 / shipIntegrityFactor * 100; // use this as % indicator of a ship's integrity.
hitDamage *= shipIntegrityFactor;
To verify the effects of this formula, I ran the following case studies:
Each of the following spaghetti ships are assuming that they are 250k block ships build in a 500 x 500 x 1000 m area .
If the system strands are 1x1 block, the co-efficient of damage = 106.921
If the system strands are 2x2 block, the co-efficient of damage = 25.160
If the system strands are 3x3 block, the co-efficient of damage = 10.801
If the system strands are 4x4 block, the co-efficient of damage = 5.952
If the system strands are 5x5 block, the co-efficient of damage = 3.729
This means that true spaghetti ships will suffer punishing damage from each hit simulating the effect of a weapon digging through 107 system blocks (or several thousand blocks if hit by a missile.) More reasonable low density ships by contrast such as the one with 5x5 block strands will suffer a factor closer to 4:1 meaning a penetrating shot will have the effect of hitting about 19 blocks if hit dead on.
This may still give spaghetti an advantage in some fights, but leave it open to some good hard-counter tactics as well as placing a soft cap on the size of spaghetti ships making unreasonably big ones worthlessly fragile.
The following are also factors regarding docked armor
If someone makes a flate plate that is 1x100x400, the co-efficient of damage = 1.187
If someone makes a similar mass sandwich plate that is 25x50x400, the co-efficient of damage = 3.404
While this does not make docked armor completely unviable, it encourages the use flat plates or smaller, selectively placed plates which cause a lot less lag than their wrapped or sandwich plate counterparts. This also makes docked hull completely nonviable on bigger ships, since it would get overheated after the first few hits anyway.
The following are case studies of various ships that could be defined as normal and minimally-exploitative that show that they would not take any integrity penalty because they all fall under a factor of 1.0
A solid 63x63x63 deathcube of the same aprox. mass as the above spaghetti ships would have a shipIntegrityFactor of 0.100.
An extremely RP happy sample frigate of the same mass that is 25x50x400 with about a 50%
density would have a shipIntegrityFactor of 0.639.
Very small ships that often have a lot of 1-block thick surfaces would be unaffected as well. For example, a 10x1x1 stick ship would only have a shipIntegrityFactor of 0.150; so, other pretty high surface area small ships like drop shuttles would be just fine.
It also works fine for Titans and Battleships with reasonable RP features. Even a 5.4 million block sample titan that is 90x100x800 at 75% density would only have a factor of 0.509
In all, this formula appears to make it such that only ships of obviously exploitative design would be penalised. For the PvP crowd, it still leaves enough wiggle room for reasonable design optimisations such as spaced armor, spaced reactors, bulkheads, and responsibly designed docked plates. For the RP crowd it, leaves plenty of flexibility for interior and exterior decorations as well. And for the die-hard spaghetti folks (if there are any), it forces much more thoughtfulness and optimisation to continue to get any positive effect out of their designs.
All in all I feel that is formula would help make things like the "Fair-and-Balanced" actually live up to its name.
[doublepost=1512412993,1512411390][/doublepost]@OfficalCoding: Care to elaborate what part you disagree with?
[EDIT 1-22-18] In light of the new system released this weekend, this system could ALSO negate the need for bubble shields from a spaghetti perspective. Instead of making a spaghetti ship need to fit inside of the bubble, it would make spaghetti ships simply take more damage to their shields. In the case of the 1x1 spaghetti, a 30 mil cap shield could be broken with 300k damage such that a barrage of normal weapons can still de-shield it despite missing a lot.
The idea is all about weighing a ship's surface area and size factor against how much structural damage it takes per block destroyed such that spaghetti ships become as brittle or more so than their high density counterparts without punishing the typical complexity of RP built designs or higher surface area of small ships.
So the math:
var shipBlockCount; // ship's block count.
var shipArea; // ship's number of exposed surfaces.
var sizeFactor = (length * width * height)^(1/3);
var hitDamage; // shields/armor/structural HP damage caused by a weapon
var preFactorModifier = 60; // a coefficient of how much integrity each block gives your ship
var postFactorModifier = 1.25; // a coefficient of how harshly the penalty scales once a ship breaks the integrity limit.
var shipIntegrityFactor = (shipArea * sizeFactor / shipBlockCount / preFactorModifier) ^ postFactorModifier;
if (shipIntegrityFactor < 1) {shipIntegrityFactor = 1;}
var shipIntegrity = 1 / shipIntegrityFactor * 100; // use this as % indicator of a ship's integrity.
hitDamage *= shipIntegrityFactor;
To verify the effects of this formula, I ran the following case studies:
Each of the following spaghetti ships are assuming that they are 250k block ships build in a 500 x 500 x 1000 m area .
If the system strands are 1x1 block, the co-efficient of damage = 106.921
If the system strands are 2x2 block, the co-efficient of damage = 25.160
If the system strands are 3x3 block, the co-efficient of damage = 10.801
If the system strands are 4x4 block, the co-efficient of damage = 5.952
If the system strands are 5x5 block, the co-efficient of damage = 3.729
This means that true spaghetti ships will suffer punishing damage from each hit simulating the effect of a weapon digging through 107 system blocks (or several thousand blocks if hit by a missile.) More reasonable low density ships by contrast such as the one with 5x5 block strands will suffer a factor closer to 4:1 meaning a penetrating shot will have the effect of hitting about 19 blocks if hit dead on.
This may still give spaghetti an advantage in some fights, but leave it open to some good hard-counter tactics as well as placing a soft cap on the size of spaghetti ships making unreasonably big ones worthlessly fragile.
The following are also factors regarding docked armor
If someone makes a flate plate that is 1x100x400, the co-efficient of damage = 1.187
If someone makes a similar mass sandwich plate that is 25x50x400, the co-efficient of damage = 3.404
While this does not make docked armor completely unviable, it encourages the use flat plates or smaller, selectively placed plates which cause a lot less lag than their wrapped or sandwich plate counterparts. This also makes docked hull completely nonviable on bigger ships, since it would get overheated after the first few hits anyway.
The following are case studies of various ships that could be defined as normal and minimally-exploitative that show that they would not take any integrity penalty because they all fall under a factor of 1.0
A solid 63x63x63 deathcube of the same aprox. mass as the above spaghetti ships would have a shipIntegrityFactor of 0.100.
An extremely RP happy sample frigate of the same mass that is 25x50x400 with about a 50%
density would have a shipIntegrityFactor of 0.639.
Very small ships that often have a lot of 1-block thick surfaces would be unaffected as well. For example, a 10x1x1 stick ship would only have a shipIntegrityFactor of 0.150; so, other pretty high surface area small ships like drop shuttles would be just fine.
It also works fine for Titans and Battleships with reasonable RP features. Even a 5.4 million block sample titan that is 90x100x800 at 75% density would only have a factor of 0.509
In all, this formula appears to make it such that only ships of obviously exploitative design would be penalised. For the PvP crowd, it still leaves enough wiggle room for reasonable design optimisations such as spaced armor, spaced reactors, bulkheads, and responsibly designed docked plates. For the RP crowd it, leaves plenty of flexibility for interior and exterior decorations as well. And for the die-hard spaghetti folks (if there are any), it forces much more thoughtfulness and optimisation to continue to get any positive effect out of their designs.
All in all I feel that is formula would help make things like the "Fair-and-Balanced" actually live up to its name.
[doublepost=1512412993,1512411390][/doublepost]@OfficalCoding: Care to elaborate what part you disagree with?
[EDIT 1-22-18] In light of the new system released this weekend, this system could ALSO negate the need for bubble shields from a spaghetti perspective. Instead of making a spaghetti ship need to fit inside of the bubble, it would make spaghetti ships simply take more damage to their shields. In the case of the 1x1 spaghetti, a 30 mil cap shield could be broken with 300k damage such that a barrage of normal weapons can still de-shield it despite missing a lot.
Last edited: