![]() |
Proposed Damage System Overhaul
Right - copied and pasted from a post I made on the "official" (*cough*) forums.... Sorry if it seems a bit like a brain dump http://forum.shrapnelgames.com/images/smilies/happy.gif
I've already emailed the idea off to Aaron btw (with an offer of rewriting all relevant components to cope), but it's quite a large change so I wouldn't expect things to happen soon (assuming he likes the idea even). Anyway, feedback / other ideas appreciated. Now this is the sort of thing i'd love to see. Off the top of my head, there's kinetic damage (er, rocks / uranium slugs / whatever) - thermal damage (lasers! PEW PEW!), corrosive damage (or other chemical burns), Electromagnetic damage, Explosive damage - and that's only a handful of things we can current produce on earth. It would be great if we could allow specific shield resistances, so a hyper-cooled armour would be great at soaking up the old thermal damage, but not so good at everything else. Although - for 'damage distribution' - it would make more sense to organise shields and armour into a greatest->least resistance order. Example (bear with me, this could be quite long :O ): -------- Now, a *better* way to handle this would be to re-think the way shields and armour currently work, and to assign the following setup to shields / armour and weapons. Damage Types A list of Damage Types needs to be created - each should be conceptually different and ideally non-overlapping where possible. DamageTypes.txt file is partly redundant - penetration, damage and resistance are moved into the relevant components (weapons / shields+armour) so only a few fields (like population killed per damage point, viral weapon flag) will remain - along with the special requirements for targetted weapons, special effects, and so on. <font class="small">Code:</font><hr /><pre>Damage Type Name := Thermal Description := Damage caused by heat. Picture number := 1 Population Amount Killed Per Damage Point := 0.25 Crew Amount Killed Per Damage Point := 0 Is Viral Weapon := 0 Number Of Special Effects := 0 Number Of Requirements := 0 Number Of Abilities := 0 Damage Type Name := Kinetic Description := Damage caused by impact. Picture number := 2 Population Amount Killed Per Damage Point := 0.25 Crew Amount Killed Per Damage Point := 0 Is Viral Weapon := 0 Number Of Special Effects := 0 Number Of Requirements := 0 Number Of Abilities := 0 Damage Type Name := ElectroMagnetic Description := Damage caused by electromagnetism. Picture number := 3 Population Amount Killed Per Damage Point := 0.25 Crew Amount Killed Per Damage Point := 0 Is Viral Weapon := 0 Number Of Special Effects := 0 Number Of Requirements := 0 Number Of Abilities := 0 Damage Type Name := Explosive Description := Damage caused by explosions. Picture number := 4 Population Amount Killed Per Damage Point := 0.25 Crew Amount Killed Per Damage Point := 0 Is Viral Weapon := 0 Number Of Special Effects := 0 Number Of Requirements := 0 Number Of Abilities := 0 Damage Type Name := Corrosive Description := Damage caused by acid and chemical burns. Picture number := 5 Population Amount Killed Per Damage Point := 0.25 Crew Amount Killed Per Damage Point := 0 Is Viral Weapon := 0 Number Of Special Effects := 0 Number Of Requirements := 0 Number Of Abilities := 0 </pre><hr /> Shields/Armour Shields are still hit before armour, but are handled in the following way: ShieldsAndArmourLevels.txt file is now superfluous as resistances will be ordered from highest to lowest. The shield and armour components will get a rather large overhaul. Alongside the usual component fields we would see: <font class="small">Code:</font><hr /><pre>Number Of Resistances := 2 Resistance 1 Damage Type := Thermal Resistance 1 Description := Shield negates 75% of all thermal damage while operational. Resistance 1 Damage Formula := 75 Resistance 2 Damage Type := Kinetic Resistance 2 Description := Shield negates 40% of all kinetic damage while operational. Resistance 2 Damage Formula := 40 </pre><hr /> Weaponry With the introduction of new damage types and resistance formulae - we need a way to be able to quickly and easily define shield and armour penetration. Previously these were held in DamageTypes.txt, but if we were to do this with the proposed model the file would become incredibly complex and unwieldly. Thus - penetration(s) are moved into the weapon components, and damage for weapons will be split up as follows... Alongside the usualy component fields, we get something like (I know it's not exactly the correct language used, but you'll get the important bits!) :- <font class="small">Code:</font><hr /><pre>Weapon Damage Types := 2 Damage Type 1 Name := Thermal Damage Type 1 Shield Penetration Formula := 0 Damage Type 1 Armour Penetration Formula := 0 Damage Type 1 Amount Formula := ([%LEVEL%]*10)-[%RANGE_TO_TARGET%]*2.5 Damage Type 2 Name := Kinetic Damage Type 2 Shield Penetration Formula := 30 Damage Type 2 Armour Penetration Formula := 5 Damage Type 2 Amount Formula := ([%LEVEL%]*10)</pre><hr /> The big example Ship A shoots the weapon described above (level 4) at Ship B (who has one unit of the shields described above) At a range of 5 squares - the weapon will do 27.5 Thermal damage (4*10-12.5) with zero penetration and 40 Kinetic Damage(4*10), where 30% will pass through the shields and 5% of the remainder will pass through armour. So.... it's time for some calculations! 1. Remove all 'penetration data' and move it to one side (we'll come back to this after the shield stage) <font class="small">Code:</font><hr /><pre>27.5 Thermal damage to shields 28 Kinetic damage to shields (40-(40*30%) = 40-12 = 28) 12 Kinetic damage penetrates shields and goes straight to armour.</pre><hr /> Ship B has the shields listed above (75% thermal resist and 40% kinetic resist) - so immediately, the damage applied to shields is completely reduced by this amount. <font class="small">Code:</font><hr /><pre>27.5 Thermal Damage reduced to 6.875 Thermal Damage 28 Kinetic Damage reduced to 16.8 Kinetic Damage</pre><hr /> This damage is then removed from the remaining shieldpool at a 1:1 ratio. If the shield is depleted - you must remember to cancel-out the resistances on the remaining damage, and move on to any remaining shields in order of greatest resistance. Let us assume that the ship only had 10 shield points remaining. <font class="small">Code:</font><hr /><pre>6.857 Thermal damage and 16.8 Kinetic Damage = 23.675 Total Damage of which 10 gets soaked by the shields leaving 13.675 which gets through. The damage ratio after resists is 6.875:16.8 or 1:2.4436 So after the 10 soak we are left with 3.97 Thermal and 9.70 Kinetic damage</pre><hr /> We then need to reverse the shield-resist calculations on this remaining damage pool (after all, the shield couldn't cope with this much damage so the shield-resists can't affect this portion of damage. Undoing the 75% thermal resist and 40% kinetic resist leaves us with: <font class="small">Code:</font><hr /><pre>3.97*(1/25%) = 15.88 Thermal Damage. 9.70*(1/60%) = 16.16 Kinetic Damage</pre><hr /> This added to anything which directly penetrated the shields gives us the amount we then start using when working out armour damage In this case, we add the 12 Kinetic Damage which penetrated before to give a new starting point for the next round of calculations: 15.88 Thermal Damage and 28.16 Kinetic Damage. All of the calculations are then repeated for armour and resists, and anything remaining / penetrating armour will damage the internal structure. Multi-mixed-shields and multi-damage types. Since weapons can deal more than one damage type, and shields can resist more than one you must apply each damage type to the shield with highest resist for that type, in order descending. This could get complex if you're working it out on paper, but the computer just needs to track each current damage-type path. So, if Ship B had two shield generators, once specialising in Kinetic and another specialising in Thermal, each shield would deal with the particular part of the damage as best it could: e.g. (woop - another example full of maths) Simpler weapon though. It deals 50 Thermal Damage and 50 Kinetic Damage. Ship B has 3 shield generators, one has 60% thermal resist (and 5% kinetic resist), the second has 75% kinetic resist only. The third does a flat 20% resistance to everything. For each damage type that gets gets calculated, order the shields (or armour if you're at that stage) into resistance order. <font class="small">Code:</font><hr /><pre>75% kinetic resist on generator B 60% thermal resist on generator A 20% kinetic resist on generator C 20% thermal resist on generator C 5% kinetic resist on generator A</pre><hr /> Damage and resistance versus the shields will then get computed in the order listed above.... So firstly, all kinetic damage will be worked out against generator B, any remaining damage is put on one side until we hit the next kinetic damage step later, then all thermal damage is worked out against generator A... again any remainder is put on one side, then all combined remaining damage is worked out against generator C, finally leaving any remaining kinetic damage versus generator A. Anything not absorbed by shields, resisted by shields, or so on gets through to armour. --- Also - handling them in this way shouldn't break the existing concept of simple shields, phased shields and whatever else in stock because by (when damage is worked out) applying the shields in order of highest resistance you'll get the same overall effect. Just define a few simple damage types (Normal, Phased, Null-Space) and you'll get identical behaviour - but this model increases the scope for modding significantly. Of course - shields don't *have* to have resist values - they'll be depleted by unresisted damage or damage remaining after resists are worked out. I hope I explained that all in enough detail - the concept is sound in my head at least http://forum.shrapnelgames.com/images/smilies/happy.gif If anyone needs / would like, I can work through more (more detailed!) examples. |
Re: Proposed Damage System Overhaul
Not sure I get the percentage thing on penetration/damage absorbtion. A layer of sheet metal from a car door will stop a much larger percentage of the total damage from a .25 auto pistol bullet than from a .50 cal machinegun bullet. In fact, it might completely stop the .25 and not measurably slow down the .50 cal.
It seems to me that a more realistic model is to rate waepons for penetration and shields/armor for penetration resistance, with the damage actually taken by the target = D * (P-R)/P where D = base damage caused by the weapon at the given range P = penetration of the weapon at that range R = resistance of the shield/armor You could then have different damage types for which a given weapon might have different D & P and a given shield/armor might have a different R. To prevent just piling on too many layers of shield/armor (so as to outclass all weapon P values), though, you'd want to limit the number of slots available for defenses but have something conceptually similar to mounts for them so bigger ships can mount a stouter defense. |
Re: Proposed Damage System Overhaul
The reason for the % absorbtion / resistance was mainly because quite a lot of things are energy based weapons - without the % you lose the ability to simulate that. Yes, with kinetic damage it's quite often all or nothing, but then again - you can't accurately represent that alone because armour doesn't just "fall off" when it gets hit by a slug.
|
Re: Proposed Damage System Overhaul
A couple ideas for shielding systems:
Trank Shields Trans-Kinetic shields use superstring theory of action at a distance (remember when they said that wasn't possible?) to absorb kinetic energy. Using a gyroscopic flywheel effect of perpendicular energy fields, it converts forward momentum and returns angular momentum, thus deflecting objects before they strike the hull. Only good against projectile weapons. Warp Shields Nearly impenetrable by their nature, warp shields are an extension of warp drive theory. They connect the space in front of a ship to the space behind a ship, forming a short wormhole. This takes the ship out of harm's way, and is effective against all weapons that travel to their target, including most energy weapons. However, warp shields must be aimed along the axis of danger, and so it's hit or miss. Temporal Shields Surrounds the ship in a temporal anomaly; all things approaching the ship take longer and longer to get there as they pass through the field, until at the field's event horizon they take an infinite amount of time to strike the shield. Until the ship and it's field move along down the road. Instant weapons, and weapons that don't travel to their target are immune. Phase Shields Broadcasts an energy pattern identical to incoming beam, but 180 out of phase, damping it's effect out. Phase shields can only counter energy beams the player has researched. Further, if incoming fire is of a higher tech level, damage is passed through as a weapon of strength equal to the tech difference. |
Re: Proposed Damage System Overhaul
Make a mod, release it, let players test it. You wont receive many opinions without people actually realizing exactly how your change influences the system.
|
Re: Proposed Damage System Overhaul
Quote:
Quote:
For an enhancement, armor could "leak" proportional to the percentage of damage it has absorbed. If the armor is at 90%, not only is its R reduced by 10% for the next shot but a damage point inflicted by the next shot has a 10% chance to get allocated to internal systems even though the armor isn't completely destroyed. This would basically model the increased possibility that the hit occurs on a previously damaged spot on the armor as the armor gets shot up. |
Re: Proposed Damage System Overhaul
What you really want is emissive ability.
Reduce damage by a fixed amount so small shots kapwing off, and big shots mostly go right through. Combine that with armor-as-inert-internals, and you can make holes. |
Re: Proposed Damage System Overhaul
Quote:
|
Re: Proposed Damage System Overhaul
Sounds alot like the Carrier Battles Mod...
http://forum.shrapnelgames.com/images/smilies/cool.gif |
Re: Proposed Damage System Overhaul
Barnacle Bill said:
Yes, emissive is pretty close to the idea except I'd want shields to work that way, too. Surely leaky shielding can be implemented in SE5 too. http://forum.shrapnelgames.com/images/smilies/happy.gif Also there should be a limit by hull size on how much you can pile on. Even easier done than said. http://forum.shrapnelgames.com/images/smilies/laugh.gif Look up my thread on modding out LCX as early game warship for a method of limiting the number or percent of hull you can use for arbitrary groups of components. |
Re: Proposed Damage System Overhaul
You can also limit more simply than Fyron's example - look and see how engines are restricted in VehicleSizes.txt - you can do that for any component or ability.
|
Re: Proposed Damage System Overhaul
Is emissive armor and the other special armor types working properly in SEV?
|
Re: Proposed Damage System Overhaul
Are shields & armor at all dirrectional in SE5?
If not, what might get close to what I want would be to limit ships to one each but have "mounts" that can be used to put heavier armor/shielding on bigger ships. I'd still like shield strength to remain constant until/unless the shield generator (inside the armor) gets hit, though. |
Re: Proposed Damage System Overhaul
Crystalline ability was abused to make leaky shields like that in SE4, and it works the same way in SE5.
Directional armor can be made thusly: http://imagemodserver.mine.nu/other/...d_NewArmor.png Shields are global. |
Re: Proposed Damage System Overhaul
nice!
|
Re: Proposed Damage System Overhaul
Thanks, SJ, so to make it directional the armor is placed in the "outer" slots instead of the "armor" slots? http://forum.shrapnelgames.com/images/smilies/smile.gif
|
Re: Proposed Damage System Overhaul
Yep.
I renamed the slots a little, so the outermost outer hull slots are named "Starboard Edge" and such. That should hopefully make it easier on the AI if anyone wants to write some. |
Re: Proposed Damage System Overhaul
SJ: And to think people complained about too much clicking in *stock*. http://forum.shrapnelgames.com/images/smilies/wink.gif
|
Re: Proposed Damage System Overhaul
Well, that IS the biggest hull in the game aside from stationary superfortresses.
And I did use lots of 20cm armor plates instead of a smaller number of bigger plates for the aesthetical effect. And it does all fit on that one deck, aside from three or four PD guns which I dropped to deck 2. |
Re: Proposed Damage System Overhaul
Quote:
Do you know something we simple mortals ignore ? http://forum.shrapnelgames.com/image...s/rolleyes.gif |
Re: Proposed Damage System Overhaul
Play the demo, watch the combat. Armor damage isn't directional, but damage to the Inner and Outer hulls IS.
SJ gets around that by not giving his armor the "armor" attribute. |
Re: Proposed Damage System Overhaul
I've seen your post on official forums http://forum.shrapnelgames.com/images/smilies/happy.gif and learned that Inner and Outter hull were damage directional.
Then it becomes easy to understand. But then it means the ship map is strategically very important. |
Re: Proposed Damage System Overhaul
Quote:
Also on damage, Yes its Shields/Armor/Outer/Inner, but what is the selection process of what in that layer gets hit first from that direction (Outer and Inner)? In SE4, it was if I remember correctly the biggest structure item, or it was more likely to be hit first as apposed to smaller structure items.... |
Re: Proposed Damage System Overhaul
Quote:
EDIT: sometimes I think I should wait to get the game and let the people who knows answer http://forum.shrapnelgames.com/image...ies/stupid.gif |
Re: Proposed Damage System Overhaul
For any one particular hit, it will deal all its damage to one component before spilling over to the next.
If you take multiple hits from different directions, you can have lots of components partly damaged. |
Re: Proposed Damage System Overhaul
How many directions are there?
|
Re: Proposed Damage System Overhaul
Quote:
|
Re: Proposed Damage System Overhaul
All Outer components, then the Inner components.
|
Re: Proposed Damage System Overhaul
I *really* wish we could mod out the decks on ships... if I want to intentionally limit frigates to 4 inner hull components in a mod, I can't do that - I can do 3, or 6, but not 4, and if a player wants to put more than 1 or 2, he'd have to go to other decks, messing with the UI and requiring anyone viewing the design to poke through all the decks to find the components! http://forum.shrapnelgames.com/image...s/rolleyes.gif
|
Re: Proposed Damage System Overhaul
Do you know how damage is dealt between decks ?
In case of your "directional armor" (only Outer Hull elements), what of the lower and upper decks while the middle deck "armor" is not destroyed yet ? |
Re: Proposed Damage System Overhaul
As far as I can tell, the decks are ignored when it comes to damage- the ship is treated like one big grid, and if multiple components are in the same slot one is picked randomly.
|
Re: Proposed Damage System Overhaul
Quote:
http://forum.shrapnelgames.com/images/smilies/smirk.gif I meant of all the components in the Outer layer, or all the components in Inner layer, which one will get damaged first? Or is it random? |
Re: Proposed Damage System Overhaul
Good point...
|
Re: Proposed Damage System Overhaul
It is not random, it is based on the direction of the incoming weapons, as has been mentioned earlier in the thread.
|
Re: Proposed Damage System Overhaul
I'm wondering now whether it would be possible to use the following ability on a component:
Type : Sector - Damage Scope: Vehicle To simulate self damage over time and: Type : Sector - Damage Scope: Sector - All But This Player and Allies To simulate some kind of radoactive damaging field ? |
Re: Proposed Damage System Overhaul
Quote:
|
Re: Proposed Damage System Overhaul
Quote:
|
Re: Proposed Damage System Overhaul
Think of it like a linear wave front coming in from wherever. Whatever it reaches first gets damaged first.
|
Re: Proposed Damage System Overhaul
I'm wondering about damage without direction, like WP damage or system damage. Is it equally dealt on every section in that case, or equally dealt first in armor, then equally in Outer, and finally equally in Inner Hull ?
|
All times are GMT -4. The time now is 05:05 AM. |
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2025, Shrapnel Games, Inc. - All Rights Reserved.