cRPG

cRPG => Suggestions Corner => Topic started by: Akynos on June 15, 2013, 07:57:53 pm

Title: Remove random damage
Post by: Akynos on June 15, 2013, 07:57:53 pm
Players want to be happy. Players like fairness. They rage when the outcome of a combat relies on luck.

When someone get killed faster than he should because the damage was higher than average, he rages. His anus contracts and starts bleeding.

When someone kills faster than he should, he feels like he doesn't deserve the win. He cuts his veins because he feels he is a shame to society.

When someone loses because it took more hits to kill than it really should, he rages and his anus contracts. He proceeds to bleed.

When someone wins because he took more hits than he should, he feels lucky and sees himself given a victory he does not deserve. Ashamed and heavily burdened by the reputation he does not deserves, he hangs himself. After opening his veins and bleeding to death.




Stop the bloodshed.

Think about sad kittens.

Remove random damage.
Title: Re: Remove random damage
Post by: Zlisch_The_Butcher on June 16, 2013, 01:32:02 pm
Imo all randomness in combat should go, speed bonus and all that shit should stay though.
Title: Re: Remove random damage
Post by: Micah on June 16, 2013, 02:28:01 pm
Players want to be happy. Players like unfairness. They rage when the outcome of a combat relies on luck.

When someone get killed faster than he should because the damage was higher than average, he rages. His anus contracts and starts bleeding.

When someone kills faster than he should, he feels like he doesn't deserve the win. He cuts his veins because he feels he is a shame to society.

When someone loses because it took more hits to kill than it really should 1, he rages and his anus contracts. He proceeds to bleed.

When someone wins because he took more hits than he should, he feels lucky and sees himself given a victory he does not deserve. Ashamed and heavily burdened by the reputation he does not deserves, he hangs himself. After opening his veins and bleeding to death.





Stop the bloodshed.

Think about sad kittens kids.

Remove random damage is fine.

Title: Re: Remove random damage
Post by: Rebelyell on June 16, 2013, 02:32:16 pm
make knockdown chance only after hold and not based on raw dmg or make ironflesch negate chance to get knockdown
Title: Re: Remove random damage
Post by: BlueKnight on June 16, 2013, 04:19:54 pm
Make the weight influence knockdown exponentially, so 2,5 weight is meh and 5 weight is whoa!
Title: Re: Remove random damage
Post by: Kafein on June 16, 2013, 04:34:33 pm
When I take more than 5 hits to kill someone, I rage. That pretty much means I rage all the time.

Make the weight influence knockdown exponentially, so 2,5 weight is meh and 5 weight is whoa!

That weight difference already pretty much doubles the knockdown probability. Try 2h knockdown weapons, really.
Title: Re: Remove random damage
Post by: BlueKnight on June 16, 2013, 04:58:25 pm
When I take more than 5 hits to kill someone, I rage. That pretty much means I rage all the time.

That weight difference already pretty much doubles the knockdown probability. Try 2h knockdown weapons, really.

Barmace is 'perma knckdown' and military hammer, warhammer and other light kd weapons are 'often knockdowns'. I would prefer them to be: Barmace and stuff of this kind -> may knock down or may not and light weapons -> rarely knock down.

In this way, blunt weapons could be used more for their blunt damage not for the knockdown, which is supposed to be just a feature not a primary use of a weapon.
Title: Re: Remove random damage
Post by: Akynos on June 16, 2013, 06:18:11 pm
WOAH WOAH WOAH what the heck this isn't a useless-debate-as-devs-dont-give-a-fuck about knockdown !! Its a useless-debate-as-devs-dont-give-a-fuck about random damage you silly billies !!
Title: Re: Remove random damage
Post by: BlueKnight on June 16, 2013, 07:07:27 pm
More important things first bro  :lol: Ye, I'm sorry for taking part in this little derail but I don't think damage you deal is this random. It's the damage you receive that is fucked up. Dunno if it's because of randomness or some sort of sick maths that the game engine does.
Title: Re: Remove random damage
Post by: Akynos on June 17, 2013, 05:35:42 am
whatever it is, whatever the initial purpose ( which I suspect to be realism, as a hit can sometimes hit a vital organ or not), it is a balance-breaking feature that randomly advantages one player over another, and from what I know about the community luck is something than is truly hated.
As Zlischy said, keep speed bonus and all other positional damages, but random damage only contributes to unfairness, bitterness and confusion.
Title: Re: Remove random damage
Post by: Penguin on June 17, 2013, 08:03:30 am
whatever it is, whatever the initial purpose ( which I suspect to be realism, as a hit can sometimes hit a vital organ or not), it is a balance-breaking feature that randomly advantages one player over another

Say what you will about random damage. But how is random damage breaking balance? If each person has equal chance to do random damage then it would have no effect on the balance of the game.
Title: Re: Remove random damage
Post by: Ninja_Khorin on June 17, 2013, 10:19:35 am
Every time you get hit, you deserve to die. Every time you survive a hit, you thank the higher powers that they've shown you mercy.

This is the secret to life.

visitors can't see pics , please register or login

Ninja_Khorin, Keeper of Traditions in the Ninja Clan.
Title: Re: Remove random damage
Post by: Zlisch_The_Butcher on June 17, 2013, 10:23:50 am
Every time you get hit, you deserve to die. Every time you survive a hit, you thank the higher powers that they've shown you mercy.

This is the secret to life.

visitors can't see pics , please register or login

Ninja_Khorin, Keeper of Traditions in the Ninja Clan.
Ninjas are gay.

This is the secret to life.

visitors can't see pics , please register or login

Ninja_Khorin, Keeper of Traditions in the Ninja Clan.
Title: Re: Remove random damage
Post by: Kafein on June 17, 2013, 11:18:56 am
Every time you get hit, you deserve to die. Every time you survive a hit, you thank the higher powers that they've shown you mercy.

This is the secret to life.

visitors can't see pics , please register or login

Ninja_Khorin, Keeper of Traditions in the Ninja Clan.

I can't agree more.

Where are the Native days ? Where is gone the time you could survive maybe two hits of a 1h weapon and maybe one hit of a 2h weapon ? Buff melee damage please.


Say what you will about random damage. But how is random damage breaking balance? If each person has equal chance to do random damage then it would have no effect on the balance of the game.

Actually it does influence weapon balance, as weapons with weaker damage values are closer to the bouncing threshold, the randomness makes them glance when they are unlucky, while being unlucky with a weapon that does a lot of damage means you still do a solid hit.
Title: Re: Remove random damage
Post by: Vibe on June 17, 2013, 11:23:36 am
Speed up game
Remove RNG damage (speedbonus is not rng)
Increase damage of everything, so that everything dies in 1-3 hits, meaning 1-2 hit for agi, 2 hits for a balanced build, 3 max for high IF/STR - not this hit 15 times with a 1h on a fully loomed high armor IF stacker and rq because SNOOZ
Title: Re: Remove random damage
Post by: JackieChan on June 17, 2013, 12:43:37 pm
Speed up game
Remove RNG damage (speedbonus is not rng)
Increase damage of everything, so that everything dies in 1-3 hits, meaning 1-2 hit for agi, 2 hits for a balanced build, 3 max for high IF/STR - not this hit 15 times with a 1h on a fully loomed high armor IF stacker and rq because SNOOZ
If you suggest this, dont forget to at least buff heavy armors, i mean its normall that a one handed sword doesnt kill a heavily armored guy so easily.
Title: Re: Remove random damage
Post by: Sniger on June 17, 2013, 12:46:27 pm
u r rendering IF and armor point/use-less then
Title: Re: Remove random damage
Post by: Vibe on June 17, 2013, 12:51:22 pm
u r rendering IF and armor point/use-less then

How is it useless? Stack IF/armor ~3 hits to die, don't ~2 hits. It's one more hit to kill you which is 50% more tankiness compared to two hits killing you.
Title: Re: Remove random damage
Post by: Zlisch_The_Butcher on June 17, 2013, 12:54:51 pm
Armor should just make it easier to glance, not protect against proper hits whatsoever.
Title: Re: Remove random damage
Post by: Akynos on June 17, 2013, 04:49:22 pm
Say what you will about random damage. But how is random damage breaking balance? If each person has equal chance to do random damage then it would have no effect on the balance of the game.

That's only true if you work in high numbers. If we worked with 1000 hits, the average would indeed be the same for both parties.

However, the combat limits each parties to a maximum of 3-5 hits per duel. As we work with small numbers one can easily be 'lucky' and score higher damage over the other person.

Speed up game
Remove RNG damage (speedbonus is not rng)
Increase damage of everything, so that everything dies in 1-3 hits, meaning 1-2 hit for agi, 2 hits for a balanced build, 3 max for high IF/STR - not this hit 15 times with a 1h on a fully loomed high armor IF stacker and rq because SNOOZ

Well I'll try an be as objective as possible despite using heavy armor:

I think damage with heavy armor should highly depend upon the swing = ie: there should be a barrier where damage below would do nothing and beyond it does much more damage

ie: 79 armor   Penetration point at 70 raw damage
 
knightly arming sword: raw damage: 50 ==> damage = 3 HP

Danish Greatsword ; raw damage : 75 ==> 40 HP


So beyond that 'penetration point' , the char would take a lot of damage as the armor would have been pierced and flesh would directly be exposed to the swing.

This would not apply to blunt damage as it does not penetrate armor.

Right now, the 7 dmg x 15 swings is bullshit. I think it would be more realistic that way.


this would force people to be more tactical about their targets.

Title: Re: Remove random damage
Post by: Kafein on June 17, 2013, 05:27:15 pm
this would force people to be more tactical about their targets.

I don't agree that should be a thing.
Title: Re: Remove random damage
Post by: CrazyCracka420 on June 17, 2013, 05:38:51 pm
 :idea:
Title: Re: Remove random damage
Post by: Grumbs on June 17, 2013, 05:39:19 pm
Going to quote this again from a thread I made in dec 2011, not sure how accurate it is:

Looking through the source for the damage calculator, it looks like they are accounting for a substantial random factor:

Code: [Select]
// Urist:
// "However here is where randomisation kicks in again. I think that a
// random number between the full and the half armor value are used."
var min_damage = potential_damage - 1 * arm * soak_factor;
var max_damage = potential_damage - 0.5 * arm * soak_factor;

//Damage reduction

// Urist:
// "The same random armor between the half and full armor points
// of the armor is used."
min_damage = min_damage * (1 - arm / 100.0 * reduction_factor);
max_damage = max_damage * ( 1 - 0.5 * arm / 100.0 * reduction_factor );

Assuming this is correct, it would be nice if this could be removed. Random factors are always bad.

I'm not familiar enough with Warband modding to comment on whether or not this is correct, however.

Raw damage(without armor) isn't randomised much, it's between 90 and 100%. For both armor soak and reduction calculation, the armor value gets a good chunk of randomness with being between 45 to 100% of the shown value. It's Native and not changed yet with WSE as far as I know.

If I read this right that means that your armour value only acts as between 45% to 100% of what it shows, so if you have a bad dice roll in 70 armour you might actually only have 31.5 armour for that hit
Title: Re: Remove random damage
Post by: Akynos on June 17, 2013, 08:13:51 pm
'Dice roll' , exactly my point. Who likes to have their combat decided by a dice roll?
Anyway,enough ranting about that, as devs won't do shit to change it anyway.
Title: Re: Remove random damage
Post by: Vodner on June 17, 2013, 08:49:52 pm
I think the best option would be to just peg armor and damage calculations to the average values (72.5% soak and reduce, and 95% raw damage).

Quote
I think damage with heavy armor should highly depend upon the swing = ie: there should be a barrier where damage below would do nothing and beyond it does much more damage
A player should never be in a 1v1 position where he is forced to go 'welp, there is literally nothing I can do here except lose'.
Title: Re: Remove random damage
Post by: Matey on June 17, 2013, 08:58:19 pm
Remove IF and metal armour. now everyone dies in 1-2 hits. problem solved.
Title: Re: Remove random damage
Post by: Angantyr on June 17, 2013, 11:25:24 pm
Yes, I've also never really understood this concept; the TW dev explaining it pre-release as 'the random chance of veins and arteries getting hit' or something along those lines didn't really justify it from a gameplay perspective, I think.
Title: Re: Remove random damage
Post by: Paul on June 18, 2013, 08:28:09 am
Well, I might repeat myself but my theory why the high armor randomisation was added has to do with single player and AI. Fixed armor value would pretty much mean there that a lower tier troop can never hurt a knight because bots can't into holds or using speed bonus to overcome (Native) soak. So with the chance of a low armor dice roll a zerg of lesser troops can whittle down a top tier troop given enough time and numbers, which is probably more realistic than a single knight soloing whole armies.

Cmp is the only one who could change it if he wanted to but he might be busy with Melee. Maybe he got a different opinion of the issue and don't want to remove/lessen the randomisation though.
Title: Re: Remove random damage
Post by: jacouille on June 18, 2013, 11:27:38 am
Buff me !
Title: Re: Remove random damage
Post by: Shaksie on June 18, 2013, 12:39:47 pm
This is truly a glorious post, my commendations and utter support :).
Title: Re: Remove random damage
Post by: Vodner on June 19, 2013, 04:41:32 am
I've managed to put together some memory patches that peg damage, soak, and reduce to the average values. Sadly this is only for the 1.143 client - I'm not sure how the WSE client and server are handled. Still, hopefully this might remove some of the work involved.

Old way of generating a number between 0 and 1 for the damage calcs:
  (rand(0..32767) % 15817) / 15817.0
New way of generating the same number:
  7908 / 15817.0
(i.e. just 0.5; the patch is smaller this way though)

I'm not entirely certain why they don't just divide the result of the RNG by 32767.0, but there's probably a good reason.

Code: [Select]
Note: these are in-memory addresses, not offsets in the binary.

client patch:
0x004E1051 - BA E4 1E 00 00 90 90 90 90 90 90 90 90
0x004E1088 - BA E4 1E 00 00 90 90 90 90 90 90 90 90
0x004E10E4 - BA E4 1E 00 00 90 90 90 90 90 90 90 90

dedicated server patch:
0x00459895 - BA E4 1E 00 00 90 90 90 90 90 90 90 90
0x004598CC - BA E4 1E 00 00 90 90 90 90 90 90 90 90
0x00459928 - BA E4 1E 00 00 90 90 90 90 90 90 90 90

original client values:
0x004E1051 - E8 15 0C 19 00 99 B9 C9 3D 00 00 F7 F9
0x004E1088 - E8 DE 0B 19 00 99 B9 C9 3D 00 00 F7 F9
0x004E10E4 - E8 82 0B 19 00 99 B9 C9 3D 00 00 F7 F9

original server values:
0x00459895 - E8 66 31 09 00 99 B9 C9 3D 00 00 F7 F9
0x004598CC - E8 2F 31 09 00 99 B9 C9 3D 00 00 F7 F9
0x00459928 - E8 D3 30 09 00 99 B9 C9 3D 00 00 F7 F9

The differences in the original values are just due to the relative location of the RNG function changing.

I tried debugging the WSE client (without joining any servers, just to track down the equivalent function), then it occurred to me that there may be some sort of cheat detection that would lead to my getting banned for having a debugger attached. At any rate, I doubt the devs are updating the WSE client by just patching the binary anyways.

e:
I've put together a small program for testing the changes in single-player. Everything seems to work. Source (ugly, sorry) and executable are here (https://dl.dropboxusercontent.com/u/20274963/warband_derandom.zip).

Take the 'mb_warband_old.exe' (this is just Warband v1.143) from your 'cRPG\WSE' directory, and copy it to your root Warband directory. Extract 'warband_derandom.exe' to your root Warband directory. Run 'warband_derandom.exe', and then proceed to test things in single-player.

No attempt is made to verify that 'mb_warband_old.exe' is actually Warband 1.143. If it isn't, chances are it will crash.

e:e:
Offsets for the 1.143 dedicated server are 0x00459895, 0x004598CC, and 0x00459928. Same patches as above.
Title: Re: Remove random damage
Post by: Kafein on June 19, 2013, 05:08:28 pm
Surely the RNG is used for other things than just damage calculation
Title: Re: Remove random damage
Post by: Vodner on June 19, 2013, 05:37:27 pm
Surely the RNG is used for other things than just damage calculation
It's doesn't patch the RNG. It patches the result from the RNG, in three spots.

(click to show/hide)
Title: Re: Remove random damage
Post by: Kafein on June 19, 2013, 05:44:47 pm
It's doesn't patch the RNG. It patches the result from the RNG.

You mean the code for this weird half modulo stuff is copied everywhere they want a [0,1[ interval ? lol
Title: Re: Remove random damage
Post by: Vodner on June 19, 2013, 06:12:03 pm
You mean the code for this weird half modulo stuff is copied everywhere they want a [0,1[ interval ? lol
The code is used in an enormous number of spots, which means it's probably just a macro, or an inlined function.

e:
The integer part of it is also used in many spots. 15817 is prime, so I suspect there was a good reason for choosing it when no floating point operations are done (and in the places where they are done, they are likely just reusing the same macro or inlined function).
Title: Re: Remove random damage
Post by: Kafein on June 19, 2013, 06:24:23 pm
Why would they modulo by half, doesn't make sense