[1.0] Controlled combat testing results - 15 tests done (updated 19th Jul 2018)

Started by XeoNovaDan, July 08, 2018, 07:26:39 AM

Previous topic - Next topic

Boboid

Quote from: XeoNovaDan on July 09, 2018, 03:57:35 AM
Quote from: Boboid on July 09, 2018, 03:51:39 AM
...Can you actually support that with a piece of code that alters the likelihood of internals being damaged on a weapon by weapon basis? Or even a by-damage-type basis...

  <DamageDef>
    <defName>Stab</defName>
    <label>stab</label>
    <workerClass>DamageWorker_Stab</workerClass>
    <externalViolence>true</externalViolence>
    <deathMessage>{0} has been stabbed to death.</deathMessage>
    <hediff>Stab</hediff>
    <hediffSolid>Crack</hediffSolid>
    <impactSoundType>Slice</impactSoundType>
    <armorCategory>Sharp</armorCategory>
    <stabChanceOfForcedInternal>0.6</stabChanceOfForcedInternal>
    <stabPierceBonus>2.5</stabPierceBonus>
  </DamageDef>


Done. This in Damages_MeleeWeapon.xml. See 'stabChanceOfForcedInternal' two lines up from the bottom. A spear mostly stabs, so it has a ~40-50% chance of hitting the artificial brain with each attack since that's the only 'internal' part mechanoids have.

And to back this XML up with some decompiled code (using dnSpy):

protected override BodyPartRecord ChooseHitPart(DamageInfo dinfo, Pawn pawn)
{
return pawn.health.hediffSet.GetRandomNotMissingPart(dinfo.Def, dinfo.Height, (Rand.Value >= this.def.stabChanceOfForcedInternal) ? dinfo.Depth : BodyPartDepth.Inside);
}


This is from Verse.DamageWorker_Stab.

If you're still skeptical, I can even do some recordings, as video evidence that this is real.

Very interesting! And no I don't require video evidence - I can interpret that code just fine :P

Do you happen to know where I can find the information regarding the % chance of any given attack type being used? Spears for example have 3 attack types in addition to the fists/dust throwing that pawns do irrespective of their armed status, but I haven't got a clue how prevalent each attack type is.

A prison yard is certainly a slightly more elegant solution to Cabin Fever than mine...

I just chop their legs off... legless prisoners don't suffer cabin fever

XeoNovaDan

Quote from: Boboid on July 09, 2018, 04:20:15 AM
Do you happen to know where I can find the information regarding the % chance of any given attack type being used? Spears for example have 3 attack types in addition to the fists/dust throwing that pawns do irrespective of their armed status, but I haven't got a clue how prevalent each attack type is.

I don't know if there's actually any logging for this; I went through and skimread all of the dev mode logging options and there doesn't appear to be any, but I have attached a melee DPS calculator spreadsheet that I never got around to finishing though. I've confirmed that the calculation side of it is fully functional and accurate for B18, but some weapon values will need tweaking for 1.0, and then there's the issue with it then not factoring in those terrain tools you mentioned.

I don't think there's been any significant changes in terms of standard DPS calculations either, so the formulas should still be accurate. The one exception would be the armoured formula due to the armour system's revamp though, but the new system should be quite easy to put into a formula.

[attachment deleted due to age]

Boboid

Hrm bummer. It would be useful to know how often a pawn is swinging with their fists instead of bean-filled-whack-bonk.
Would make my analysis of melee altering prosthetics a bit more accurate.
Oh well!
Test on sir! You're doin' god's work. Or at least statistically relevant testing, which is basically the same.
A prison yard is certainly a slightly more elegant solution to Cabin Fever than mine...

I just chop their legs off... legless prisoners don't suffer cabin fever

Ser Kitteh

TIME FOR REPEAT DAN

Melee spear v scyther
Melee longsword v scyther
Melee longsword v melee spear

XeoNovaDan

Quote from: Razzoriel on July 08, 2018, 05:58:42 PM
- 7 vs 14 melee, both naked, both steel knife, normal.
- 7 vs 7 melee, nimble vs no traits, naked, normal steel knife
- 7 vs 14 melee, nimble vs no traits, naked, normal steel knife
- 7 vs 7 melee, nimble vs brawler, naked, normal steel knife
- 7 vs 14 melee, nimble vs brawler, naked, normal steel knife
- 14 vs 7 melee, nimble vs brawler, naked, normal steel knife

Whew, this one took a while to test! 180 trials (1,800 battles!) in total, maybe given a little since I did 20 before build 1959 dropped, and I had to scrap a few because of trauma savantism (which I should probably disclose; it's always been part of the methodology to scrap trauma savant runs unless the trauma savant was already in pain shock).

Also, since this is such a large amount of data, I've decided to present this all in a stacked column chart:



Not the prettiest since I tried following a tutorial on doing the grouping but Excel wasn't playing ball, so I did what any sane person would do and manually do the group labels using GIMP. Not perfect, but it at least seems legible enough!

For those that would prefer to see just the tables though, they are also available.

Naked results:



Flak results:



Power armour results:






Next up:

Quote from: Greep on July 08, 2018, 04:27:43 PM
Joywire + excellent power armor/helmet + plasteel longsword vs 2 megaspiders

compared with
same but without joywire.
Not really a 1v1, but I guess I'll do 1v2s as well. Seems easy enough.

Quote from: Ser Kitteh on July 09, 2018, 08:45:52 AM
TIME FOR REPEAT DAN

Melee spear v scyther
Melee longsword v scyther
Melee longsword v melee spear

I doubt the meta's changed but sure, I guess it'll be interesting to see how things have changed with the CD rebalancing! :D

Tynan

We're planning to make a debug output that shows all the melee attack tools/modes for each weapons, race, and hediff. And their selection weights.

Selection weights are basically not tuned because we don't have this. I think they favor low-damage things too much.

E.g. if you have a 20 damage attack and a 10 damage attack, currently it uses the 10 damage 33% of the time (selection chance proportional to damage). Should be more  like 10%.
Tynan Sylvester - @TynanSylvester - Tynan's Blog

Boboid

Ah right, that's very interesting.
I imagine that causes some odd interactions too.. I should probably do the math on this but - Adding the first power claw is probably really, really efficient compared to the second.

There's what... Four? Standard unarmed melee attacks? Both fists, biting, throwing dust? Or is throwing dust handled separately?
A prison yard is certainly a slightly more elegant solution to Cabin Fever than mine...

I just chop their legs off... legless prisoners don't suffer cabin fever

Tynan

Fist, fist, bite, headbutt.

Dirt kick actually comes from the terrain. You can't do it on e.g. tile floor.

So melee verbs can come from races, weapons, hediffs, and terrain! A dude with a beer and a power claw on dirt can headbutt you, bite you, punch you, claw you, smash you with his beer, or kick dirt in your face.
Tynan Sylvester - @TynanSylvester - Tynan's Blog

XeoNovaDan

Quote from: Greep on July 08, 2018, 04:27:43 PM
Hmm, if this is too hard to set up, no worries:

Joywire + excellent power armor/helmet + plasteel longsword vs 2 megaspiders
compared with
same but without joywire.

Done:



And in table form:






Quote from: Ser Kitteh on July 09, 2018, 08:45:52 AM
TIME FOR REPEAT DAN

Melee spear v scyther
Melee longsword v scyther
Melee longsword v melee spear

Next set of testing to do. Gonna also throw mace vs. scyther/centi results in like last time, but all with level 14 melee pawns (standard methodology), and it'll be graphed.

[Edit: Type derp fix]




Quote from: Tynan on July 09, 2018, 10:30:08 AM
We're planning to make a debug output that shows all the melee attack tools/modes for each weapons, race, and hediff. And their selection weights.

Selection weights are basically not tuned because we don't have this. I think they favor low-damage things too much.

E.g. if you have a 20 damage attack and a 10 damage attack, currently it uses the 10 damage 33% of the time (selection chance proportional to damage). Should be more  like 10%.

What about if the 10 damage attack had a higher DPS than the 20 damage attack? Say a 1s CD vs. a 3s CD on the 20 damage? Probably not too relevant to vanilla weapons, but I reckon there are probably some strange modded weapons that'd do something similar. I guess it'd then just be a matter of adjusting the tool commonality anyway.

Boboid

Quote
A dude with a beer and a power claw on dirt can headbutt you, bite you, punch you, claw you, smash you with his beer, or kick dirt in your face.
What a talented individual! I can barely juggle.
Totally forgot about headbutts, hrm I wonder what value dirt kicking is assigned when calculating its weight.
And I wonder what influence the lack of dirt has on combat. So many questions!
Should I be paving the world when using melee weapons? Is it more or less efficient vs gun users if they have dirt but I don't? What about centipedes!? My mind races with impractical stupidity!

My devolution into insanity aside. I look forward to mucking about with melee colonies every time there's a change - They offer such a stark and interesting contrast. And the general viability of melee makes combined arms that much more engaging.

I will say that knowing the weight of each melee attack is reasonably important information for a player to have access to - although I'll admit that it could easily take someone out of the experience to see that their pawns headbutt enemies 12% of the time or what have you. Although I guess they're already looking at the gritty, behind-the-curtain damage calculations anyway.
Anyway the min-maxer in me would appreciate it, who knows about everyone else.

A Stab's tendency to target internal organs would also be kind of handy to know in-game.. as would a description of whatever this part of the cut mechanic is doing :P

-<cutExtraTargetsCurve>
-<points>
<li>0, 0</li>
<li>0.6, 1</li>
<li>0.9, 2</li>
<li>1, 3</li>
</points>
</cutExtraTargetsCurve>
<cutCleaveBonus>1.4</cutCleaveBonus>


Quote from: XeoNovaDan on July 09, 2018, 11:25:09 AM
What about if the 10 damage attack had a higher DPS than the 20 damage attack? Say a 1s CD vs. a 3s CD on the 20 damage? Probably not too relevant to vanilla weapons, but I reckon there are probably some strange modded weapons that'd do something similar. I guess it'd then just be a matter of adjusting the tool commonality anyway.

Edit: Interesting question. Really highlights how heavily the attack weighting affects the overall melee system.
A prison yard is certainly a slightly more elegant solution to Cabin Fever than mine...

I just chop their legs off... legless prisoners don't suffer cabin fever

Razzoriel

Quote from: XeoNovaDan on July 09, 2018, 11:25:09 AM
What about if the 10 damage attack had a higher DPS than the 20 damage attack? Say a 1s CD vs. a 3s CD on the 20 damage? Probably not too relevant to vanilla weapons, but I reckon there are probably some strange modded weapons that'd do something similar. I guess it'd then just be a matter of adjusting the tool commonality anyway.
Yes. I'm modding all polearms to have a 3-damage, 1s attack which involves striking with the butt of the pole. This is very relevant.

XeoNovaDan

Quote from: Ser Kitteh on July 09, 2018, 08:45:52 AM
TIME FOR REPEAT DAN

Melee spear v scyther
Melee longsword v scyther
Melee longsword v melee spear

And re-ran for build 1959!

Chart for Longsword, Spear and Mace vs. Scyther and Centipede:



Chart for Longsword vs. Spear, Longsword vs. Mace and Spear vs. Mace:



If anybody is wondering why these results differ quite a bit from the last run (other than the build update), it's because all of these runs were tested with level 14 melee pawns across the board, rather than some level 8 and some level 20.

Just like last time, everybody's also wearing flak pants, flak vests, flak jackets and steel simple helmets.

As always, I'm also showing the tables which give a per-trial score breakdown too. These are sliced differently because the slicing had to be adapted to cut down the graph count.

Battles against Scyther:



Battles against Centipede:



Weapons against eachother:






Quote from: Boboid on July 09, 2018, 11:29:26 AM
...a description of whatever this part of the cut mechanic is doing :P

-<cutExtraTargetsCurve>
-<points>
<li>0, 0</li>
<li>0.6, 1</li>
<li>0.9, 2</li>
<li>1, 3</li>
</points>
</cutExtraTargetsCurve>
<cutCleaveBonus>1.4</cutCleaveBonus>


I looked into the code for that, and this is my understanding of what those particular bits of XML affect in terms of mechanics:

cutExtraTargetsCurve - This appears to be a percentage-based chance curve which determines how many extra parts a successfully-landed cutting attack will actually hit. The game randomly generates a float between 0 and 1, and based on what that number and curve are, the cut will land x amount of extra hits (e.g. if 0.75 is rolled, hit either 1 or 2 extra parts, both with equal probability).

cutCleaveBonus - Looks like some sort of damage amount retained/given determined by how many parts the cutting attack hits. When a cut hits multiple parts, its damage amount per part is actually reduced, but if cutCleaveBonus is greater than 0, the weapon will effectively do more damage than normal.

The formula that determines how much damage each affected part takes is this:
finalDamage = baseDamage * (1 + cutCleaveBonus) / (affectedPartCount + cutCleaveBonus )

So say that an attack from a longsword hits and does 23 damage (normal quality steel), and you got really lucky and that strike actually hits 3 extra parts. The cutCleaveBonus is 1.4, so the damage amount will be determined by this:
finalDamage = 23 * (1 + 1.4) / (4 + 1.4)

So each affected part takes around 10.22 damage, meaning that the affected pawn can take as much as roughly 41 damage - ouch! Compare that to the original amount of 23, and that really is quite a significant jump. For reference, it takes 64 points of damage to incapacitate a healthy adult human from pain with most attack types (including cuts).

Razzoriel

CutCleaveBonus is a multiplier.

A 10-damage attack that hits two body parts with 0 cutCleaveBonus deals 5 damage to each part.

A 10-damage attack that hits two body parts with 0.5 cutCleaveBonus deals 7.5 damage to each part.

Greep

Interesting, I was expecting joywire to make a lot more of a difference, but I guess it just matters more for shooting since that's per-tile accuracy.  Nice!
1.0 Mods: Raid size limiter:
https://ludeon.com/forums/index.php?topic=42721.0

MineTortoise:
https://ludeon.com/forums/index.php?topic=42792.0
HELLO!

(WIPish)Strategy Mode: The experienced player's "vanilla"
https://ludeon.com/forums/index.php?topic=43044.0

Ser Kitteh

I'll be honest, I'm somewhat surprised at the the almost half/half results for the spear/longsword/mace thing. I'm not sure how to balance it myself, but it's clear that maces should be buffed in a way. Considering that longswords' Thing is cutting, I don't personally mind it being a pawn v pawn thing.

I've also come to equip every melee fighter with a spear. It has gone, very very well!

Alright, the big thing:

Powerclaw vs scyther
Powerclaw vs centipide
Powerclaw vs spear

Not sure about dual power claws or single power claws either. You do you!