Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: OldMan on March 10, 2003, 09:19:55 am

Title: Ablative located hull armor
Post by: OldMan on March 10, 2003, 09:19:55 am
I am trying to implement a located ablative armor system to capital ships. That means that there is armor that degradates when get shot. This degradation is only at impact point. That would make important to concentrate fire at a given place. After the armor is gone.. is much easier to cause serius damage.. even with small weapons..since there is no protection. While armor is Up.. a fraction of damage goes to hull and other reduces armor strenght.

As a result random fire from fighters and small weapons is almost useless against capital ships.. and only focused fire gets good results.

As a second thing to add.. damage given trought a given armor plate is registered comulatively. After a given amount of damage is given to hull by this plate.. no more damage can be done there. That avoids that by shooting only at the extreme point of an antena you can destroy the entire ship.


Anyone has any suggestions? Currently Trying to implment an array of armor_plates where each item is related to a polygon (think would be far more inteligent if associated to low LOD ).

Think will need some time to make it work yet.
Title: Ablative located hull armor
Post by: Sesquipedalian on March 10, 2003, 12:51:32 pm
If you can do that, cool.  I'm not sure how easy it will be though, because the geometry is different for each LOD, which will in turn change where your "armour plates" lie.  But I don't know anything, really, so don't let me put a damper on things if you have an idea.
Title: Ablative located hull armor
Post by: OldMan on March 10, 2003, 04:00:34 pm
I must use a LOD that is not the most detailed for two reasons.. 1st- Would be too many overhead in using all polygons. 2nd- By using a lower detail level... a larger area is covered by each plate, making POSSIble to hit a second shot a same position alreday hit.

The armor plating would be directed to a fixed level of LOD... and would not cahnge when LOD usage changes. I will need to add some extra collision detection .. but with a correct LOD level it should represent no problem

I think I really can do it... the planning is almost finished.. and already found all pieces of code that I must insert new stuff.
Title: Ablative located hull armor
Post by: DTP on March 10, 2003, 04:52:05 pm
:yes:

Geomod, seems ever nearer :nervous: ,

now shoot me :D.
Title: Ablative located hull armor
Post by: Sesquipedalian on March 10, 2003, 06:19:39 pm
Excellent!  YOu should probably use LOD 1, since it will most closely reflect the shape of LOD 0 without being as polygon intensive.  The only trick to throw in, then, is this: some modders have created ships which only have one LOD, so in that case they could break the ablative armour code unless you make accomodation for it.
Title: Ablative located hull armor
Post by: Stryke 9 on March 10, 2003, 06:26:04 pm
Well, how are shields treated? Use this like another layer of shielding, only lower on the polys.

And at a distance, it doesn't matter if the impact model sticks out a bit, since if it's invisible you won't be noticing that the explosion's a meter or two off anyway.
Title: Ablative located hull armor
Post by: OldMan on March 11, 2003, 05:26:33 am
Quote
Originally posted by Stryke 9
Well, how are shields treated? Use this like another layer of shielding, only lower on the polys.

And at a distance, it doesn't matter if the impact model sticks out a bit, since if it's invisible you won't be noticing that the explosion's a meter or two off anyway.


It will be implemented only for capital ships, since selecting wich polygon to hit ina fighetr would be far too difficult.. and unecessary. So no problems with shields.

By now the basic formula is:

Each plate has a damage resistance. Each time a weapon hits this plate.. before damage is applied to hull, it has the damage resistance subtracted of it. About 10% of the damage dealt to a plate is used to Subtract plate`s damage resistance. The weapon damage would be smaller than usual when  plates are new.. but would increase while plates are getting hammered. When there is finally no armor at a plate location.. damage would be severely INCREASED.. to simulate a breach at armor... by where s most effective to attack the ship. That would be especially effective with tag missles.


About LOD... I will have to take a look at this problem of non LOD ships, I think The model would need to have an ablativeArmor flag so that there is no interfecence or problems with some models.

and NO that is no GeoMOd.. but can be used in future to increase damage effects simulations (some plates floating as debris after they are destroyed)
Title: Ablative located hull armor
Post by: RandomTiger on March 11, 2003, 06:59:13 am
A very interesting idea, if Im getting you right then it would be good if you target damaged patches like subsystems so you could command fighters and bombers to attack that area and so you can lock missles on it.
Title: Ablative located hull armor
Post by: Terorist on March 11, 2003, 07:22:47 am
Quote
Originally posted by RandomTiger
...if you target damaged patches like subsystems so you could command fighters and bombers to attack that area and so you can lock missles on it.

Sounds like something impossible, you can't create a subsystem on the fly, and we can't go creating a subsystem of it's own for each plate of armor... Applying a damage decal on the breach spot would help the player in visual targeting, but how on earth (space?) can we tell AI ships to hammer that spot?
Title: Ablative located hull armor
Post by: RandomTiger on March 11, 2003, 07:31:02 am
You could have an array of 5 - 10 initially unactive 'damage'-subsystems for each ship. When damaged areas become significant they are assigned a damage-subsystem. Since only five or so slots exist depending on the level of damage areas are added or removed from the list as things change.

Then all the targetting by other ships and missles can hopefully be handled by existing code.

Very few things are impossible, the question is how difficult would it be to do.
Title: Ablative located hull armor
Post by: OldMan on March 11, 2003, 08:02:00 am
With a compiler and a ascii text editor.. you can do Anything... of course it can be ALM
I am more concearned in making the damage being directed to correct plates by now. After that is ready I will think how to solve upcomimg problems.  Will now add extra code to model_collide_sub.. so that in event of a collision with a polygon .. the index of this polygon is stored at somewhere i can use it... Thimk will do with LOD[0] by now.. only when it works will make it with LOD[1] to increase perfomance
Title: Ablative located hull armor
Post by: Bobboau on March 11, 2003, 10:37:12 am
you know you could make a fairly easy make a damage effect with this so once a poly is destroied you can have a decal like effect by placeing a vert at the poly's center and then makeing a trifan around it giveing all the outer verts  an alpha of 0 and the center on an alpha of 1 and textureing it with some sort of a damage texture, this will let people know when they have destroyed the poly
Title: Ablative located hull armor
Post by: Flaser on March 12, 2003, 05:26:27 pm
You could use the wiframe targeting from 3.5 to show players the damage by coloring the polys. So you would have something similar to the damage displays from the mechwarrior series.

Just an idea...

I'm quite fond of your armor concept. I especially like the idea of damage tolerance.

Depending on the plate's location different kind of damages could be applied to the ship. I don't think it's too realistic that all ships just blow up (there's another thread - and somebody ELSE'S IDEA behind this :o - Dereclict ships, your code may help them a lot).
So a ship could "die" several ways depending on where was the killing blow delivered - some systems should be vital, so a true engine failure should be a lot more devastating, while "ordinary disables" should only damage the prolusion not the actual engine core. A fried electronics should also kill a ship - even if temporarly. A certain amount of hull breach could lead to a loss of life support - killing the crew.

So this code may lead to a whole range of improvements.

Large scale hull breach could effectly snap the ship - but some transformation would look cool (imagine a ship with a hull crushed like a tincane :devil:) - although that's beyond this code's aim as far as I see.
Title: Ablative located hull armor
Post by: WMCoolmon on March 12, 2003, 05:35:45 pm
Using this system, it would probably make the most sense to designate each poly as belonging to a certain part of the ship - engines, systems, weapons, etc - with the rest as "hull". Each subsystem could be destroyed, of course, with specific modifiers taking place for hull damage (for pre-destruction and post-destruction of the subsystem).

Perhaps the polys for the currently selected subsystem could even be highlighted on the targeting screen.

Just my $.02
Title: Ablative located hull armor
Post by: ZylonBane on March 12, 2003, 09:51:28 pm
This all sounds like an incredible amount of effort to produce an effect which, to the player, will be virtually indistinguishable from the existing subsystem setup.
Title: Ablative located hull armor
Post by: OldMan on March 13, 2003, 05:50:08 am
All these Ideas passed by my mind. But they will require extra coding efforts. The implementation of only what i described does not need large modifications at the code. Since I do not have much free time now.. that is all I can do now. When it is fully functional.. OK.. then we move ahead.

But all those ideas are based up on that the hull plating is related to LOD 0... and my basic Idea was to use LOD 1, so that would be easier to hit again a damaged point of hull. I will try to implement with both LOD options and provide 2 version for testing
Title: Ablative located hull armor
Post by: RandomTiger on March 13, 2003, 07:04:41 am
Quote
Originally posted by ZylonBane
This all sounds like an incredible amount of effort to produce an effect which, to the player, will be virtually indistinguishable from the existing subsystem setup.


If you upped the hull strength of capitals so that you had to make use of these 'weak' spots for an effective attack it could really change the way the game is played.

If this is a good or bad idea Im not sure, depends how you balance it I guess but its certainly an interesting idea.
Title: Ablative located hull armor
Post by: OldMan on March 17, 2003, 04:22:39 am
Partially ready.. implemented for weapons (not debris or ship collision).. but could not test yet (having some problems with my windows...dammit forgot how to use such crap piece of Operating System..and seems that it forgot how to operate too). Will keep informed.
Title: Ablative located hull armor
Post by: Stryke 9 on March 18, 2003, 05:03:33 pm
Debris and collisions are negligible anyway. This could be quite handy, under the situations RandomTiger said (which should be done anyway by any campaign wanting to make a more fun and realistic game)