Removing the randomness

Maybe *10 is to strong but its easier to do the math with x10 than with
x3,7483 :)
Also the results are different enougth to spot em on first sight.
 
Are you saying it's hard to multiply by numbers from 2 to 9? Besides, this is the age of computers and this is a computer game - why limit yourself to a factor of 10? It would be like having a computer game that rounds all fractions to the nearest whole number... :rolleyes:
 
I meant that its easier for me when i make some quick calculation to simply multiply x10.
For example:
90/100hp ->90%
890/1000hp->89%
329/374hp -> please say me how much this is without useing a calculator

Of course it doesnt matter when i type in my calculator but with x10 you can compare results faster (because you dont have to always use a calculator to compare the results-> see above hp example)
And for this tread i prefer numbers that are simple so that people dont have to use a calculator everytime.
If you want to you can of course use every number (exept 0 or negatives)

Edit: Maybe the best formulation would be: Numbers with x10 are "nicer" to look at.
 
Is there any reason why you couldn't change the number to some arbitrary value, but then add a small section of code that would convert it o a percentage for the display?
 
Having worked my way through all this, I'd like to add the following:

1) Combat odds don't work for me even with combat damage lowered and max hp unchanged. I get 0.0% for a 12.00 vs 6.00 combat.

2) If I read the thread right, I'll say that the original maxhp = 1000 change is still "better" (I'm using quotes because there's really no way to qualify good or bad in this situation). First strikes and stoneskin need to be changed at any rate and we get better resolution with more hp (meaning there isn't such a sudden cutoff where a weaker unit is unable to kill a stronger one).

Have I got it right so far?

Next, are there simple ways to fix first strikes and stoneskin?


Finally, I just ran a couple of tests and I have one more question: could it be that somehow this change counteracts the fix for the combat bug that was in 023c? Because I've let a mage cast a fireball vs an axeman str 5.0 with magic resistance and fire resistance and next round vs an axeman str 5.0 without those resistances, and in each instance the combat seems to have gone exactly the same way (with the axeman inflicting 21 damage per round and the fireball 18).
 
Having worked my way through all this, I'd like to add the following:

1) Combat odds don't work for me even with combat damage lowered and max hp unchanged. I get 0.0% for a 12.00 vs 6.00 combat.

2) If I read the thread right, I'll say that the original maxhp = 1000 change is still "better" (I'm using quotes because there's really no way to qualify good or bad in this situation). First strikes and stoneskin need to be changed at any rate and we get better resolution with more hp (meaning there isn't such a sudden cutoff where a weaker unit is unable to kill a stronger one).

Have I got it right so far?

Next, are there simple ways to fix first strikes and stoneskin?


Finally, I just ran a couple of tests and I have one more question: could it be that somehow this change counteracts the fix for the combat bug that was in 023c? Because I've let a mage cast a fireball vs an axeman str 5.0 with magic resistance and fire resistance and next round vs an axeman str 5.0 without those resistances, and in each instance the combat seems to have gone exactly the same way (with the axeman inflicting 21 damage per round and the fireball 18).
1) Correct, assuming that you don't like a drastic change in real combat odds between two very similar units.

2) Either should work, but either needs a code change. I'm presently looking at it closer; I think I'm pretty close.

Technical note: The issue is that if there are a large number of combat rounds (as either reducing the damage or raising the HP will result in), then the intermediate numbers aren't containable within their present types (for example, the binomial coefficient wraps around a 64-bit int). Bascially, I'm moving everything significant to a double.

First Strike/Stoneskin question) Yes. For that matter, it isn't hard to fix the original stoneskin problem either (that stoneskin isn't reflected in the combat odds).
 
Very cool. Thanks for the reply, xanaqui. I hate to be distracting you from Smarter Orcs, but since 95% of *my* FfH playtime these days is multiplayer anyway, this has priority for me personally. Also, if we (by which I mean you ;P) can manage to implement a sort of combat randomness slider (or at least an adjustable setting in the xml) there's a good chance (I'd say, judging by the response to this thread so far) that we might get it into FfH itself, and in that case the AI would have to know how to handle it, so, uh, we COULD put it into Smarter Orcs once it's stable ;P
 
Very cool. Thanks for the reply, xanaqui. I hate to be distracting you from Smarter Orcs, but since 95% of *my* FfH playtime these days is multiplayer anyway, this has priority for me personally. Also, if we (by which I mean you ;P) can manage to implement a sort of combat randomness slider (or at least an adjustable setting in the xml) there's a good chance (I'd say, judging by the response to this thread so far) that we might get it into FfH itself, and in that case the AI would have to know how to handle it, so, uh, we COULD put it into Smarter Orcs once it's stable ;P

I should note that I'm putting this code into Smarter Orcs (why? because it's easier to maintain 1 mod than 2). If someone else would like to peel off this code (or part of it), and steal it for their own mod, they're free to do so; I'd be happy to point out the functions and XML that need changing. I figure that we'll release Smarter Orcs with vanilla type values for these numbers, and allow changes via XML.

In any case, I figure that these changes are almost worth it for the benefit of counting Stoneskin correctly, both by the AI, and in the display.
 
As a note, a mod that allows (through multiple XML variables) the changes I suggest above and/or the ones Bringa suggested, is released (warning: it's a 0.22h base, with heavily modded AI). It also accounts for Lifespark and Stoneskin in Combat odds. Frankly, I'm surprised how significant Stoneskin is, and how weak Lifespark is (in both cases in comparison with my previous perception).
 
people have been talking about the idea of a 'swarming' imbalance a bit. Personally I don't think this is an issue. Although, yes, heroes are less likely to come through an attack unscathed, there is a flipside to this- because the heroes strength will decrease in a more linear fashion, it is more likely they'll reach the 'safe' zone (when another friendly unit has a higher str than them, and so becomes the priority target) without getting killed by an unlucky combat.

Also, something I think a lot of people are missing here, is that this does NOT effect the relative strengths between units, nor does it effect the average outcome for a battle. All it effects is how likely 'fluke' victories and defeats occur.

Personally I don't see why firaxis decided to have such a random combat system in the first place. Random combat systems reduce strategy- it takes no skill to get a lucky roll and kill that hero with your goblin.
 
people have been talking about the idea of a 'swarming' imbalance a bit. Personally I don't think this is an issue. Although, yes, heroes are less likely to come through an attack unscathed, there is a flipside to this- because the heroes strength will decrease in a more linear fashion, it is more likely they'll reach the 'safe' zone (when another friendly unit has a higher str than them, and so becomes the priority target) without getting killed by an unlucky combat.

Yeah, but if you're like me and you like to waltz your heroes around unprotected in enemy land, you very quickly feel the pain of being swarmed ;) Also, my enemy is definitely not a moron. But you're right: in a stack, heroes are MUCH safer now--unless, that is, the enemy attacks with a bunch of units that are stronger than the other units in your stack. Then the moment where your hero can be defeated by an enemy unit comes BEFORE the moment that a friendly unit takes the hit. But in that case it's not really swarming anymore :)
 
<Lurker mode OFF>

Hello, i'm coming out of lurker mode to say i REALLY appreciate this idea. I HATE it when my heroes, or very skilled veteran unit lose a combat with 95+% victory :mad: . Usually i'm not playing multiplayer so in such case i can reload, but this leads to another issue, i'm saving my game each time i attack with a valuable unit and this can quickly create LOTS of saves on my not-so-large hard drive. In multiplayer however, this can really be a game-losing situation and this is simply bad.

I think reducing the randomness of combat is a great idea. It will increase the strategic aspect of the game as you will no longer lose a war due to bad luck, but due to bad choices (sending your heroes alone, creating too few units ...

I hope this will be included in the main mod. :goodjob:

<back to lurker mode ... maybe>
 
<Lurker mode OFF>

Hello, i'm coming out of lurker mode to say i REALLY appreciate this idea. I HATE it when my heroes, or very skilled veteran unit lose a combat with 95+% victory :mad: . Usually i'm not playing multiplayer so in such case i can reload, but this leads to another issue, i'm saving my game each time i attack with a valuable unit and this can quickly create LOTS of saves on my not-so-large hard drive. In multiplayer however, this can really be a game-losing situation and this is simply bad.

I think reducing the randomness of combat is a great idea. It will increase the strategic aspect of the game as you will no longer lose a war due to bad luck, but due to bad choices (sending your heroes alone, creating too few units ...

I hope this will be included in the main mod. :goodjob:

<back to lurker mode ... maybe>


you've got to lose one day. statistically if you have enough battles every unit will eventually die (yes i know you become unbeatable after you get enough experience points).

who says you can't lose a 95% battles? after 15 battles + heal there is 54% chance that he's dead. or when playing with 90% odds in your favor, then after 10 battles there is 65% chance that he's dead. how many battles in the game? it shouldn&#8217;t be such an upset if he dies, it's just statistics.

it's always risk vs benefit, you want to risk a unit in battle to stop the enemy attack and gain experience then there is some risk that you could lose the unit.

there is always a chance that your hero can die, if you always save and re-load you are increasing the probability of him winning, which is the same as increasing the battle odds. this can be much easier to do this cheat by simply going into the xml file and give him 100 strength, he'll be unbeatable, but then a hollow victory is never much fun. maybe it feels better on your conscience to get this effect from saving and re-loading.
 
Vulcans, those are valid thoughts, but they are besides the point. There certainly is a risk reward situation here; all we're saying is that the risk is currently too high. If you have a feature in your game that your players aren't using most of the time (even though they'd like to), then something is wrong with your game design. Such is the case with heroes and high powered units right now. Also, removing the randomness from combats has nothing to do with cheating (while reloading when you lose does qualify as cheating). You simply gain predictability. Your hero does not become stronger. What you do is adjust statistics so that the overall result you'd expect in the long run becomes the expectable result. Excessive luck has no place in a strategy game. The most enjoyable aspect of a strategy game is to plan ahead, and that is simply not possible if practically any combat can go either way.
 
And he doesnt get stronger:
He has higher chances to win against a single unit but less chances against two or more since he gets more damage in a single battle.
Which is a very good thing for a fantasy, ancient or medievel setting.
While today it is first to hit wins and leaves unharmed, in those settings its 500 vs 500 soldiers in melee (or even more) and then you will have casulties
-> damaged unit.
and if you attack 500 soldiers with 5000 better equipped and trained soldiers in open field you shouldnt loose 1 out of 50 battles.
 
And he doesn&#8217;t get stronger:
He has higher chances to win against a single unit but less chances against two or more since he gets more damage in a single battle.
Which is a very good thing for a fantasy, ancient or medieval setting.
While today it is first to hit wins and leaves unharmed, in those settings its 500 vs 500 soldiers in melee (or even more) and then you will have casualties
-> damaged unit.
and if you attack 500 soldiers with 5000 better equipped and trained soldiers in open field you shouldn&#8217;t loose 1 out of 50 battles.

The hero doesn&#8217;t automatically get more damage with the newly proposed system, it is just less random about how much damage he gets.
I know this is over-simplified model of combat, as the combat duration depends on how long the opponent lasts, so the number of rounds change due to the luck of how long it takes to kill the opponent, and the result is the summation of all the scenarios. But this is just a simplified model to highlight the effect of changing the number of random seed generator rolls


Let&#8217;s compare, simplify to rolling two dice, and
say scenario 1

Scenario 1:
Damage received=10*(sum of 2 dice rolls-2 )

Or scenario 2:
Damage received=10*(sum of 20 dice rolls/10-2)

in both cases:
0<=Damage<=100
Most likely damage=50

Now in scenario 1 there is more statistical variation
It is 1/36 chance of him being undamaged, so there is a reasonable chance of him escaping unscratched.
While in scenario 2, there is about 10^-15 chance of him being unscratched.

So your statement is correct, he won&#8217;t walk away unscratched. But does he really receive more damage on average?

In scenario 2, the average of 20 dice rolls is 3.5. So he is most likely to to receive 10*(7-2)=50 damage, with a little statistical variation, meaning he could possibly get 40-60 damage, with statistically very little chance of getting extremely large or small damage.

While in scenario 1, you rightly pointed out there is a significant chance he is unscratched (1/36 in this example) but then there is significantly more chance he&#8217;ll be badly hurt (1/36 chance of 100 damage, ie a ie 3% chance he&#8217;ll die. I.e. it&#8217;s a 97% battle)

While in the first scenario he has 10^¨-15 chance he&#8217;ll die, and 10¨^15 chance he&#8217;ll be unscratched.

In both these situations the most likely outcome is he&#8217;ll have 50 damage. The only difference is the standard deviation.


the real question is how much luck do you want in the game? and this is a subjective question depending on the individual player.

if you don't want any aspect of luck you could multiply it by 100, all you're doing is decreasing the statistical variation, making it more a comparison of strength, till you get to a Boolean case.

Then a 4.1st unit will always win against a 4st unit.

here is a much simpler combat code for you:

Here is the new combat code:

If attacking_unit_strength>defending_unit_strength
victory=true
Else
victory=false
End

Wouldent that make it easier?

i know that's very extreme case, I&#8217;m sure many people would disagree with the Boolean case, or maybe some people would prefer a 100% predictable case.
Excessive luck has no place in a strategy game.


i don't think you can really say one system is better than the other, it's just changing the randomness factor. So this is more of a balancing issue than a bug. In the end reduced randomness favors the stronger unit.

In the end this is a discussion about balance in the game, and how much chance is in the game. I personally think there was intended to be some chance in the game. but this is all up to the balance of the creators.

i guess it is in a way pointless to endlessly debate this since this is a totally subjective question of how much luck someone wants. some people like one balance and others will like another. there is no right or wrong, it's just a different game, with different effect of the random seed generator.
 
Back
Top Bottom