Jump to content

[1.10.0] Kerbal Krash System (0.5.1) 2020-08-05


EnzoMeertens

Recommended Posts

And a huge problem with the takeoff from the water. Damage the plane receives constantly.
...As if the acid eats airplane...... here are the pics... didn't take off, had to swim :lol: .

 

b1bc8e2b627f.jpg

remains :lol:

1048c90bd1f1.jpg

and very simple hydroplane for you to test damages named "Cormorant"

http://www.fayloobmennik.net/5751119

Edited by *MajorTom*
Link to comment
Share on other sites

On 7-2-2016 at 8:17 AM, *MajorTom* said:

And a huge problem with the takeoff from the water. Damage the plane receives constantly.
...As if the acid eats airplane...... here are the pics... didn't take off, had to swim :lol: .

and very simple hydroplane for you to test damages named "Cormorant"

http://www.fayloobmennik.net/5751119

I'll fix and upload today. (If I find enough time)

Edit: I didn't find enough time.

Edited by EnzoMeertens
Link to comment
Share on other sites

would be nice to tie this into testflight mod, as TF already has alot of data about part reliability and damage effects that are easily fired, either by choice or by letting TF pick based on the effect weight

does collision take into account the parts collision tolerance? to scale the damage it takes?

 

Link to comment
Share on other sites

On 1/29/2016 at 3:57 AM, OrtwinS said:

I have a few thoughts about the balance between engineer level and repair ability.

Generally, I think you have three options:

  1. The engineer experience determines a simple 'is able to fix? yes/no', if not the damage stays.
  2. The experience limits the amount of repair an engineer can provide. For this you will have to track another number for every damaged part.
  3. Experience limits the type of parts which can be repaired.

 

3 is... bad, really.

2 is nice but a little too complicated, too many stats - there are enough mods that make playing KSP miserable already (unless a player is a guru and/or can spend 10hr a day playing)

1 is little bit too simplistic, but I would DEFINITELY prefer that - simple, easy to track, and easy to understand for any player level.  May be add +-10% RNG on each check ("if you hit it enough times, maybe, just maybe you'll fix it").

Also, for "repair workshop" - nice idea, BUT ALSO you could use spare parts and/or tools using KIS to increase engineer's performance.  May be even give pilots and scientists a minor boost (e.g., up to 10-15%) if they have "proper tools", and may be limit engineer's ability even on top level if they do not (e.g., up to 50% max at level 5, +25% for tools, +25% for repair supplies, or just +xx% (times engineer skill + 10%, for example) single-use "repair kit" for simplicity).  And please limit the damage meter to 100% , if possible :)

Anyway, just ideas (and personal opinions), I hope this mod sees the full release (and subsequent updates).

Link to comment
Share on other sites

just to add to above, testflight has a nice repair system that gives chance of repairing, items and skills needed

worst case if not tying in, reference for design - though would be nice if any repair system created not stand in the way incase someone does tie-in testflight :)

edit

after some more testing, noticed it seems like colliders only change? just the model? had a rocket rolling on the ground, bent all zig-zag, chunks went underground and no signs that it effected the rolling which was fairly smooth

Edited by anxcon
Link to comment
Share on other sites

Testflight....  failure rate, reliability and such... Oh, DangIt!  This is an opinion of just one player, but it would be so nice to have a simple damage (visual AND functional, or at least functional) mod, without all the complexity of others.  If I have 2 hrs to play the game, I would like to be able to finish a mission relying on my construction, planning and piloting skills (and [lack of] stupidity during the mission) - not on some random chance of failure.  Unrealistic?  Absolutely!  But I am definitely not installing Testflight or Dangit - not until I quit my day job.

Link to comment
Share on other sites

23 hours ago, EnzoMeertens said:
On 7-2-2016 at 8:17 AM, *MajorTom* said:

And a huge problem with the takeoff from the water. Damage the plane receives constantly.
...As if the acid eats airplane...... here are the pics... didn't take off, had to swim :lol: .

and very simple hydroplane for you to test damages named "Cormorant"

http://www.fayloobmennik.net/5751119

I'll fix and upload today. (If I find enough time)

Edit: I didn't find enough time.

Also I didn't find an easy fix for this, yet.

Damage only occurs when impacting the water (or other things for that matter) above certain speeds. Keeping one part of your plane in the water (keep contact) would result in no damage.

As I am typing this, I came up with an easy fix (I think). Thank you, Rubber Duck1. I will split the velocity at which you hit the water into its horizontal and vertical components and only use the vertical part to calculate damage.

 

1Rubber Duck problem solving: Many programmers have had the experience of explaining a programming problem to someone else, possibly even to someone who knows nothing about programming, and then hitting upon the solution in the process of explaining the problem. In describing what the code is supposed to do and observing what it actually does, any incongruity between these two becomes apparent.

 

15 hours ago, anxcon said:

would be nice to tie this into testflight mod, as TF already has alot of data about part reliability and damage effects that are easily fired, either by choice or by letting TF pick based on the effect weight

does collision take into account the parts collision tolerance? to scale the damage it takes?

KKS has several events you can listen to in your mod, e.g.: "DamageRepaired(object sender, float damage)", "DamageReceived(object sender, float damage)" and "Splashdown(object sender, Krash krash)". These events should allow you to do just about everything you need in your own mods.

Collisions are based on the part's crash tolerance (I scale the crash tolerance by a certain factor (configurable in config files)) and divide relative velocity (impact velocity) by the tolerance. So stronger parts get less damage than weak parts.

 

6 hours ago, Tau137 said:

Testflight....  failure rate, reliability and such... Oh, DangIt!  This is an opinion of just one player, but it would be so nice to have a simple damage (visual AND functional, or at least functional) mod, without all the complexity of others.  If I have 2 hrs to play the game, I would like to be able to finish a mission relying on my construction, planning and piloting skills (and [lack of] stupidity during the mission) - not on some random chance of failure.  Unrealistic?  Absolutely!  But I am definitely not installing Testflight or Dangit - not until I quit my day job.

I completely agree with this. I hope KKS won't change the game too much so that players, who only have a limited time to play, won't suffer from it.

I won't mind taking such mods into account so KKS doesn't conflict with them, but at this stage I don't have the time to support everything.

Edited by EnzoMeertens
Link to comment
Share on other sites

can't really test just got to work before thinkin it

how well does this work on animated parts? loved the tests i did last night on engines/tanks, but didnt think to try animated stuff like landing legs, or Porkjet inflatable stuff etc, just curious on quality, i see nothing in code that would disable the animation

on another note, i assume currently the system just treats all models as "rigid and can be dented"? so such things as tires and inflatable parts would be incorrectly dented, but turning off dents fully would also be incorrect - this idea might not work for all such parts, but wouldnt the different parts of a mesh have different object names? perhaps ability to add a list of names that the krash system will apply to (to list rigid bits)

Link to comment
Share on other sites

is there a cfg for choosing max deformation amount?

from engine testing last night, got some fairly ...weird....shapes, that seemed like the system was just overdoing it

initial crashes and damage looked fine, just repeated/constant banging to damage leads to it going too far

Link to comment
Share on other sites

2 other fields on parts, breakingForce and breakingTorque, would be nice to toss in too, so the collision isnt only on the collided part, but other parts in the ship - perhaps on collision check through some parts, and see how much force from parts higher up is transferred down, so parts in the middle of a craft can squish from the weight/momentum of other parts

Link to comment
Share on other sites

23 hours ago, anxcon said:

is there a cfg for choosing max deformation amount?

from engine testing last night, got some fairly ...weird....shapes, that seemed like the system was just overdoing it

initial crashes and damage looked fine, just repeated/constant banging to damage leads to it going too far

I'll look into this a bit more. In the config files there's a "malleability" variable, that determines how easily a part is deformed, but there's no "maximum" deformation, yet.

Link to comment
Share on other sites

This looks very promising; how does it play with Dang It! and Entropy? I've had a brief skim through the thread and couldn't find any major incompatibility issues; has anyone tried it out to confirm it? My clapped out computer is wheezing under the weight of a couple of dozen mods; therefore I'm reluctant to add anything which may cause problems! Having read the thread, the way I see it is that there's potential for significant overlap in how problems are solved - both Dang It! and Entropy use the "spare parts" idea, which adds extra mass - therefore a decision for the player about how much they take - and engineer levels as to what they can/can't fix on EVA, resulting in players taking care of their engineers and having to make a decision about who they take on a mission. I see these mods as two sides of the same coin - stuff broken by DI!/E arising from issues with manufacturing (Think Apollo 13, Gemini 8, etc), random chance and micrometeorites, whereas KKS causes problems because they've been ham fisted about landing/docking too fast, punishing the player for sloppy play but still giving them a way out if they're smart instead of just exploding. Would there be any scope for compatibility, so deformation and damage caused by KKS decreases the mean time between failures for DI!/E, whilst using the same spare parts resource for repairs? It would add depth to what looks like a fantastic mod!

Keep up the good work!

Link to comment
Share on other sites

6 hours ago, BLUESTREAK said:

 Would there be any scope for compatibility, so deformation and damage caused by KKS decreases the mean time between failures for DI!/E, 

DI/E don't really have the infrastructure to have KKS do such, as well DI/E is just a random flip of coin when it will fail, so less in the logic of "manufacturing defect" and more of bad luck roll of the dice. for such to work, you would need to use testflight, which does have the reliability area and mean time simulated. that said yes TF can very much do as you ask, DI/E can go as far as integrate the damage effects to trigger on crash. either case looks to be minimal code.

Edited by anxcon
Link to comment
Share on other sites

9 hours ago, anxcon said:

DI/E don't really have the infrastructure to have KKS do such, as well DI/E is just a random flip of coin when it will fail, so less in the logic of "manufacturing defect" and more of bad luck roll of the dice. for such to work, you would need to use testflight, which does have the reliability area and mean time simulated. that said yes TF can very much do as you ask, DI/E can go as far as integrate the damage effects to trigger on crash. either case looks to be minimal code.

Ah cool - I'll admit, that's how it plays out in my head, sometimes stuff just breaks! I've not tried TF, I'll give that one a whirl. Just got to figure out what to uninstall first...

Link to comment
Share on other sites

On 12-2-2016 at 3:58 PM, Ser said:

EnzoMeertens, does your mod calculate collisions with ground only or with other vessels too?

It also works with other vessels, water and Kerbals.

I hope I have more time to work on this mod, tomorrow. 

Edited by EnzoMeertens
Link to comment
Share on other sites

6 hours ago, EnzoMeertens said:

I hope I have more time to work on this mod, tomorrow. 

If I ever get around to learning to code I'll add support for other mods, also just noticed we are 2/10 of the way to a  full version (In theory)!

Link to comment
Share on other sites

hmm conflict

the explosion mods scale explosion by what resources are in the tank, but when non explosive combination raise crashTolerance (even to maxval) so no boom, messing with ability to cause dents via KKS

 

Link to comment
Share on other sites

On 11-2-2016 at 7:51 PM, BLUESTREAK said:

This looks very promising; how does it play with Dang It! and Entropy? I've had a brief skim through the thread and couldn't find any major incompatibility issues; has anyone tried it out to confirm it? My clapped out computer is wheezing under the weight of a couple of dozen mods; therefore I'm reluctant to add anything which may cause problems! Having read the thread, the way I see it is that there's potential for significant overlap in how problems are solved - both Dang It! and Entropy use the "spare parts" idea, which adds extra mass - therefore a decision for the player about how much they take - and engineer levels as to what they can/can't fix on EVA, resulting in players taking care of their engineers and having to make a decision about who they take on a mission. I see these mods as two sides of the same coin - stuff broken by DI!/E arising from issues with manufacturing (Think Apollo 13, Gemini 8, etc), random chance and micrometeorites, whereas KKS causes problems because they've been ham fisted about landing/docking too fast, punishing the player for sloppy play but still giving them a way out if they're smart instead of just exploding. Would there be any scope for compatibility, so deformation and damage caused by KKS decreases the mean time between failures for DI!/E, whilst using the same spare parts resource for repairs? It would add depth to what looks like a fantastic mod!

Keep up the good work!

KKS shouldn't really add much RAM usage. It's mostly calculations on collisions which have been optimized quite a bit. You shouldn't experience any noticeable performance loss.

I think an easy way for the Dang It! and Entropy support is to just use their spare parts. If those mods aren't installed, I will just use my own implementation of the repair mechanics:

Level 1 engineers can repair once every 5 minutes,
Level 2 engineers can repair once every 3 minutes,
Level 3 engineers can repair once every 1 minutes,
Level 4 engineers can repair once every 30 seconds,
Level 5 engineers can repair once every 10 seconds.

Or something similar.
I am still unsure if I want to limit this per part or per engineer.

 

2 hours ago, anxcon said:

hmm conflict

the explosion mods scale explosion by what resources are in the tank, but when non explosive combination raise crashTolerance (even to maxval) so no boom, messing with ability to cause dents via KKS

I am unsure what this means.

 

1 hour ago, ialdabaoth said:

For thermal damage, and for sound effects, please feel free to use the code and sfx from Deadly Reentry. (I'm the one that added those bits)

Thank you kindly, I will definitely make use of this offer when the time comes.

 

I am sorry for not being active these past few days. I've fallen ill but I will get back to coding soon.

Link to comment
Share on other sites

3 hours ago, EnzoMeertens said:
6 hours ago, anxcon said:

hmm conflict

the explosion mods scale explosion by what resources are in the tank, but when non explosive combination raise crashTolerance (even to maxval) so no boom, messing with ability to cause dents via KKS

 

I am unsure what this means.

KKS scales crashTolerance, to determine if it should dent the part, or if finally hard enough, explode

other mods that scale a part explosion size (based on fuel contents usually) scale crashTolerance as well - which just lead me to having a part (a tank that ran dry) to have immunity to being damaged by KKS due to having crashTolerance raised high by explosion mod

perhaps instead of the scaling, could have hardset values for malleabilityPoint and ExplosionPoint

on another note, can damage done be based on model? some parts such as inflatables shouldnt care about hitting things, but their frames would. the ability to list model names to include/exclude (or blank defaults to all) could fix this

Link to comment
Share on other sites

10 hours ago, anxcon said:

KKS scales crashTolerance, to determine if it should dent the part, or if finally hard enough, explode

other mods that scale a part explosion size (based on fuel contents usually) scale crashTolerance as well - which just lead me to having a part (a tank that ran dry) to have immunity to being damaged by KKS due to having crashTolerance raised high by explosion mod

perhaps instead of the scaling, could have hardset values for malleabilityPoint and ExplosionPoint

on another note, can damage done be based on model? some parts such as inflatables shouldnt care about hitting things, but their frames would. the ability to list model names to include/exclude (or blank defaults to all) could fix this

First note:

I have to scale the crash tolerances, otherwise parts just explode at low speeds. There's no way around this. The game uses crash tolerance to check whether a part has to be deleted (explode).

Why would explosion size scale the crash tolerance of a part? A high tolerance doesn't mean a bigger explosion.

 

Other note:

Exclusion of deformation has been in for quite a while.

Code snippet:

        /// <summary>
        /// Apply krash to all meshes in this part.
        /// </summary>
        /// <param name="krash">Krash to apply.</param>
        /// <param name="fireEvent">Fire "DamageReceived" event.</param>
        public void ApplyKrash(Krash krash, bool fireEvent = true)
        {
          ...

            if (_exclude)
                return;
          
          ...

If a part is labeled as "_exclude = true", damage is applied but deformations aren't.

 

Made it a bit easier to exclude parts in the next update:

Just add this to the part you want to exclude.

	MODULE
	{
		name = ModuleKerbalKrashSystem_Exclude
		_toleranceScaling = 2.0
		_malleability = 2.0
	}

 

Edited by EnzoMeertens
Link to comment
Share on other sites

8 hours ago, EnzoMeertens said:

First note:

I have to scale the crash tolerances, otherwise parts just explode at low speeds. There's no way around this. The game uses crash tolerance to check whether a part has to be deleted (explode).

Why would explosion size scale the crash tolerance of a part? A high tolerance doesn't mean a bigger explosion.

Other note:

Exclusion of deformation has been in for quite a while.

Code snippet:

If a part is labeled as "_exclude = true", damage is applied but deformations aren't.

explosions mods scale crashTolerance to a high value to turn off explode, say a tank is normally 10, itll spend its life at 10, but once empty explosion mods set it to say 10,000 to disable explosions, since ksp doesn't straight up have canExplode = false field on parts :)

now normally KKS will have that scaled to say 20 crashTolerance, and 5 malleability, once the explosion mod scales it to 10,000 then KKS will see it as 5,000 malleability so high no dents will happen, and 20,000 crashTolerance - clearer?

as for deforming, i was speaking per model not per part, so parts with multiple MODEL nodes, so that as said framework for an inflatable tank canbe dented, but not the inflatable tank balloon model itself, or malleability per model so ladders are cheap junk but the pod itself is stronger :) one of the most used cases could be SSTU, as its parts are all multi-model configurable, engine bells easy dent while sturdier thrust plates take harder hits

Link to comment
Share on other sites

1 minute ago, anxcon said:

explosions mods scale crashTolerance to a high value to turn off explode, say a tank is normally 10, itll spend its life at 10, but once empty explosion mods set it to say 10,000 to disable explosions, since ksp doesn't straight up have canExplode = false field on parts :)

now normally KKS will have that scaled to say 20 crashTolerance, and 5 malleability, once the explosion mod scales it to 10,000 then KKS will see it as 5,000 malleability so high no dents will happen, and 20,000 crashTolerance - clearer?

as for deforming, i was speaking per model not per part, so parts with multiple MODEL nodes, so that as said framework for an inflatable tank canbe dented, but not the inflatable tank balloon model itself, or malleability per model so ladders are cheap junk but the pod itself is stronger :) one of the most used cases could be SSTU, as its parts are all multi-model configurable, engine bells easy dent while sturdier thrust plates take harder hits

I still don't understand why the "Explosions mods" scales the crash tolerance of the tank to 10.000. Is the purpose not to explode when contacting something too violently?

I'll leave that per-model deforming to willing volunteers for now. ;) 

Link to comment
Share on other sites

8 hours ago, EnzoMeertens said:

I still don't understand why the "Explosions mods" scales the crash tolerance of the tank to 10.000. Is the purpose not to explode when contacting something too violently?

As I read the above, it does this to stop empty tanks from exploding. This seems redundant with KKS on the scene to bend them into funny shapes, and I don't think it's a bug in KKS that if another mod makes a part's crash tolerance very hard it is then very hard to damage. That is exactly the behaviour I would expect.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...