Removing the randomness

Bringa

King
Joined
Jan 23, 2006
Messages
678
Summary
I propose a way of making the combats in FfH less random. I explain first why I believe this is necessary, then how it's done in the xml, how it affects the gameplay, what doesn't work yet, and finally what I would need some help with still.

Why I believe combat is too random as it is now
FfH 2 concentrates your overall army strength in fewer units, mainly due to two changes:

1) promotions are much stronger than in Vanilla
2) FfH has Heroes

This change means that losing a single unit tends to have much more of an effect on your overall strength than it used to in Vanilla. Certain circumstances exacerbate this effect: losing Barnaxus as Luchuirp for instance or losing your main hero as the Mercurians can be the end of a game.

This leads to certain behavioral patterns that are much less fun than they could be. For instance, players will very rarely use their heroes unless they have really high combat odds. Entering a 80% combat with a hero is foolish, as things are right now. This means that players will drag their heroes around with their invading armies, only to use them when the odds are overwhelmingly in their favor.

Also, certain very powerful units become nearly unkillable to a player who only has much weaker units (and no matter how many of them) since the very powerful unit will win most combats without taking any damage.

Especially in competitive multiplayer I've often found this highly frustrating. You may have the better strategy and you may have performed much better so far, but hey, here's your hero attacking at 98%, and look, he's lost, it's game over.

Now you may argue that this is realistic; that in war there is no such thing as a safe win. Be that as it may, in a computer game this sort of unpredictability can become very frustrating.

After yet another multiplayer game that ended prematurely due to a ridiculous combat outcome (highly unsatisfying for both the winner and the loser) I decided to attack the problem, and I've come up with a sort of preliminary solution.

What to change
Essentially, you want to turn the MAX_HIT_POINTS setting in the GlobalDefinesAlt.xml file up to 1000. You will also need to multiply the enemy/neutral/friendly/city_heal_rate settings by 10. In case you want to try this in any version of FfH running on BtS (right now either the beta or AoI), you will also need to go into the CIV4UnitInfos.xml file and multiply each iCombatLimit by 10. This is a very tedious process unless you know a scripting language that can do this for you. If there is any demand, I'll post a modified xml for Age of Ice and for FfH itself as soon as there's a semi-complete port to BtS.

The easiest way to do this is to use the Excel based FfH editor.

Before you run off merrily changing this setting, do read on; some things break or behave oddly for the time being.

What you get
You get very predictable combat. 3.00 vs 2.00 combats will practically always end as you would assume: the 3.00 unit winning but suffering some injuries. Also, there will practically not be any combats where the victor emerges unscathed. This has a number of implications, which we'll get to in a moment. First, bugs.

What doesn't work
The percentile combat odds do not work. They will practically always be 0%, even in a 12.00 vs 1.00 combat. Ignore the percentage and look at the actual numbers. You can trust them. You will win a 7.0 vs 4.0 combat all of the time. That said, the higher number does not always win; there is still some residual randomness, which comes into play when the two strengths are very close to each other. 10.50 and 10.00 are much much closer to each other than 1.00 and 1.50. We're talking ratios, of course.

I'm not at all sure how the AI handles this change. I've played some games and they performed alright--not much worse or better than otherwise. They've attacked both in combats they would clearly win and in combats they would clearly lose. Note, though, that I'm testing these changes against the AI of Smarter Orcs.

How this affects balance
First of all, heroes and stronger units become even stronger than before because you can now use them in a much higher percentage of combats. Combats that would have been 60% before may now be 99%. I'm not convinced yet that a rebalancing of costs is required though, due to the new efficiency of swarming.

Swarming a very powerful unit with very many weak units becomes feasible now. No matter how much difference between the strengths, an attack will now always weaken the attacked unit.

This makes magic considerably stronger. For mid to late game purposes, mass summoned units (and fireballs) are perfect swarming units. Instead of sinking 10 fireballs into Hyborem and watching him shrug off most, if not all, of them, you can now be sure that you will cause damage. Offenbarungsjoe points out that this effect is self-amplifying and as such much, much stronger when there's a lot of weak units. The logic behind this is simple: the first attack is guaranteed to remove a bit of strength, making the ratio a little bit better for the second attack, and so on. This aspect may require rebalancing.

This change has not been thoroughly tested!
We've had a couple of games with those settings and we didn't run into any crashes or anything like that, but we never got anywhere near building and using all of the units in the game. I hope that most magic will be percentage based and as such work the same on 1000 hp units as it did on 100 hp units.

What I would like some help with
If someone who knows the source well enough (and isn't busy doing outstanding work on Smarter Orcs, cough cough) can look at why the percentile odds aren't calculated properly, I'd be much obliged. Also, maybe someone with a good knowledge of the FfH source will be able to tell me right away which other areas might be affected by this change.

I wouldn't be much surprised if the AI cannot really handle this after all. That wouldn't be a show stopper for me: I want this change for competitive, fair multiplayer. If any of you other multiplayer people would like to test this change a little and give balancing feedback, I'd be much obliged.
 
Very good point. So instead of one first strike you should probably get 10 first strikes.
 
I definitely like this idea. I had the same thought (combat being too random means you only attack with important units if it's 90% or better), and the same idea for a solution (increasing hitpoints - was unsure whether to increase them across the board, or just for heroes (with a corresponding decrease in the combat strength of heroes?)). I didn't post it because I figured it would get shot down very quickly, and the designers might say they prefer the randomness - afterall a high str unit shouldn't automatically kill any lesser unit. I also never did any modding or testing on it. I think I'll definitely try out your idea and see how it works.

I don't recall if I thought of the corollary - that swarms would become that much stronger, but I think that I like that part of it as well. Making 1-on-1 fights tipped further in favor of the stronger unit, and swarming more in favor of the swarms seems like a wholly positive change, AFAICT.
 
Sounds decent, I would hate to see how it effects the combat animation, would likely be fighting for 5 minutes.
 
What about 200HP or 500HP? There should be at least some randomness.
I am a single player and e.g. I disliked playing Romans in vanilla because it was all about preatorian rush. I consider losing Barnaxus or Basium as a challange.
 
Looks like I'm the only one who doesn't like the idea. I'd imagine that the game would get rather boring with almost all of the battles becoming predictable.
 
Well, I hardly thought this miniscule edit would be worth a mod-mod, seeing how you can do it yourself with FfH Editor.xls in about half a minute, but I've prepared a GlobalDefinesAlt.xml for those of you who don't have Excel etc.

I'm not sure if this breaks save games or not; to be safe just start a new game. Theoretically it shouldn't break save games, but I'm not such a good theorist ;)

Unzip this file into your Program Files\[...]Civ 4\Mods\Fall From Heaven 023\Assets\xml directory, overwriting the old GlobalDefinesAlt.xml. You may want to make a backup copy. If you forget to do this, you can simply run patch 023c again which will overwrite this change.
 

Attachments

TheJopa: that is very much the case. ESPECIALLY in multiplayer games you can now do some very cool things.

I spoke to a friend of mine who's studying game design and who told me that a good rule of thumb was always to balance first and then, if necessary, add a little bit of randomness again. He personally believes, though, that there's no need for randomness in strategy games at all, but I'm sure Firaxis had a good reason for making the combats so random.

TheBoatMan: you can play with different values yourself. Just use the FfH Editor, go to the "Global Defines" tab, and scroll down until you find MAX_HIT_POINTS. The default is 100, and of course for every x that you multiply the max hit points by, you should also adjust the heal_rates to default * x.
 
This change should've been in Civ IV to begin with. Especially now that BtS has added extra precision (or at least visibility of it) to the economic model, it's surprising that combat still uses a dodgy low precision 100-point integer system.

Since this proposal adds a huge amount of precision to fights, I believe it'll be a tremendous improvement! :goodjob: Any strategy game benefits from favouring planned strategy over random luck. And since strong units (heroes) & swarming (taking down said heroes) play a big part in FFH, this idea feels like it isn't just nice to have, it's required.
 
Sounds decent, I would hate to see how it effects the combat animation, would likely be fighting for 5 minutes.

As far as I can tell, the combat animation always has the same length. Try it out, but I think you'll see no change. I always play with quick combat because I'm impatient ;)
 
I play exclusively single player games because I don't know anyone willing to wait for the end of my turn if there's more than three or four things to decide.
I like the thought of being able to trust the combat odds (ratio, not the calculated success%) better and will be looking for a mod mod. What I would love in this regard, but sadly I'm sure is a substantially bigger endeavor, would be a slider during game setup marked 'fortune' at one side and 'fortitude' at the other. :)
 
Daladinn: In the xml I attached, I only changed the following things:

Code:
    <Define>
        <DefineName>MAX_HIT_POINTS</DefineName>
        <iDefineIntVal>1000</iDefineIntVal>
    </Define>
    <Define>
        <DefineName>ENEMY_HEAL_RATE</DefineName>
        <iDefineIntVal>75</iDefineIntVal>
    </Define>
    <Define>
        <DefineName>NEUTRAL_HEAL_RATE</DefineName>
        <iDefineIntVal>125</iDefineIntVal>
    </Define>
    <Define>
        <DefineName>FRIENDLY_HEAL_RATE</DefineName>
        <iDefineIntVal>200</iDefineIntVal>
    </Define>
    <Define>
        <DefineName>CITY_HEAL_RATE</DefineName>
        <iDefineIntVal>300</iDefineIntVal>
    </Define>

Meaning I only upped the max hit points and changed the heal rates (since they're absolute; healing a 1.0/2 units up to full health still takes exactly as long as before). Sureshot pointed out that First Strikes would need changing and I agreed; I haven't quite decided how I want to do that yet.
 
Not really, but I've rained enough on this parade. Enjoy your modmodding. :cool:

Well people don't call chess and go the top strategy games for no reasons. No kind of randomness in those games as far as I remember ;)
 
Cool idea, I for one would welcome this but sadly only when the &#37; chance of success displays properly (because I don't know how it works based on strength ratios alone...maybe I should look up how combat works).

Wouldn't the heal bonuses/penalties from Medic and certain spells need to be multiplied as well?

EDIT: just thought about vampires...I'm of the opinion these guys are broken as it is, and this looks as if it'd make them stronger.
 
Back
Top Bottom