Starting Troops

Hi all,

I thought of doing some tests after reading Steven’s post here, to compare the starting troops between VCMI & HOMM. As you’ll see in the files attached below, I did repeated tests using the same 8 starting heroes (+1 @ Tavern), wrote down numbers and also calculated the total value of the starting armies.

I have to admit, after spending like half an hour with this, I was a bit “disappointed” :stuck_out_tongue: because, with one exception, I didn’t find any major VCMI errors in the starting stacks generated. :slight_smile:

The main and maybe only real problem were the L3 creatures. Except for Valeska (0) and Edric (4), ALL other Castle heroes were starting with 2 Griffins ALWAYS.

Two other very minor issues (possibly even non-issues - not sure yet):

  • *apparent *lack of variation in Valeska’s starting stack sizes in VCMI (in HOMM all 3 stacks seem to variate between 4 and 7 units; in VCMI they are most of the time stacks of 5, or else 6, after more than 10 iterations)
  • in general, VCMI seems to have less variation of starting troops stack sizes (haven’t seen yet in VCMI any stack of 20 Pikemen or 7 Archers or 3 Griffins - which are the highest values I’ve had in HOMM if I’m not mistaken)

General things I noticed about HOMM (didn’t specifically noticed before in such detail):

  • War Machine holders tend to start with smaller armies, but not always
  • No noticeable difference between knights & clerics in terms of starting troops
  • Game difficulty does not influence the size of the starting armies
  • No stacks of level 4 or higher creatures (not even for specialists)

Please find attached the test map and excel sheet log, in case you want to do similar tests with other alignments (I may do it myself otherwise, just not sure yet when and if there’ll really be added value).

In general, I guess we could use this thread to:

  • monitor to see if the VCMI formula of generating starting troops is close enough to the HOMM
  • debate on whether the HOMM formula was balanced enough and see if we should go for a different one
  • original ideas regarding starting troops (e.g.: would it spoil the game, or on the contrary, if L4 creature specialists will have that creature in their starting army already?)
    just testing.h3m (4 KB)
    Starting Troops VCMI 0.7.zip (6.89 KB)

I just noticed this reply from Tow in the bug thread:

Those percents seem to be close to my results me as well.

One question though, regarding the War Machine heroes: by 2nd stack you mean the 2nd level creature? As I had Rion starting with Archers as well, not only Griffins.

Wow, impressive work!
It’s a bit late, so I only post several general remarks now. I’ll take closer look at this later.

It looks as bug, I’ll check.

War Machines are placed instead of second stack. So hero with machine will never start with three stacks and have two stacks as often as other heroes have three.

Starting armies are defined in the HCTRAITS.TXT config file (it’s in the h3bitmap.lod archive, can be downloaded with others h3 config files from: download.antypika.aplus.pl/dataEN.7z ).
Rebalancing starting armies is already possible by editing that file and it should work both for VCMI and original Heroes.

Actually the bug is valid for Edric as well. Those 4 Griffins were always 2 stacks of 2 Griffins if I remember correctly.

Regarding War Machines, you’re probably right, although I thought I did see Christian once with both Archers & Griffins (but maybe that’s just me starting to see things after testing starting troops over and over again so late in the night). :mrgreen: :stuck_out_tongue:

Got the bug. Hero never received maximum possible stacks. Griffins possible counts for stacks are almost always 2 - 3, so VCMI took it as 2 - 2.
Fixed :slight_smile:

Christian should never have Archers in his army. His HOTRAITS.TXT entry goes:

Christian	10	20	Pikeman	1	1	Ballista	2	3	Griffin

So he can receive 10-20 Pikemen, Ballista and (possibly) 2 - 3 Griffins.


I’ve also just implemented drawing a number of stacks that hero will receive at start (used 5%/62%/33%). :slight_smile:

Which column in that file refers exactly to the army? I extracted it in the 3rd sheet of the Excel file attached below, but none of the columns seem to refer to the army of the hero, but only to the hero itself.

As a side question, regarding the Hctraits.txt file content, do you know what the “Aggression” indicator stands for in there (how does it influence the hero characteristics or gameplay)? And same question about the last “Selection” columns, with alignments as headers.

Actually I did a more thorough testing, and I came to results a bit different than those (unless I misunderstand what the percents represent in your calculations).

I took the “Starting troops test.htm” file attached, prepared with 4 knights & 4 clerics for the red player, plus Christian & Rion for the blue player. Christian & Rion were there to double check that the formula regarding the L3 creature works for the War Machine specialists in the same way, which checked out. :->

I restarted the game 25 times. Multiplied by the number of heroes, that is 100 cases of starting knights and 100 cases of starting clerics. That because I also wanted to double check if there are differences between knights and clerics - and they were, but ignorable I would say. If you want, you can check these differences in the attached file, but I’m only going to give here the averages between the values for knights and for clerics, thus assuming NWC went for a general basic probability value for the starting troops (so except for L1-L3 & WM specialists).

Here are the numbers:

8.5% of the heroes started only with L1 creatures. This is probably not relevant, as I guess the formula is sth like 100% chance of L1 + XX% chance of L2 + YY% chance of L3. But I’ve put it for the record as I see you also mention it as 5% (again, that I case I understand what those percents in your post refer to).

88.5% of the heroes started with a L2 creature in their army (67.5% only L1+L2 and 21% L1+L2+L3)

23.5% of the heroes started with a L3 creature in their army (2.5% only L1+L3 and 21% L1+L2+L3)

Or, other way put, I’ve had 70% cases of 2 stacks army (67.5+2.5) and 21% cases of 3 stacks army.

These results are a notably different than the 62% and 33% in your test. Possible causes for these differences:
a) If by “40 trials” you mean restarting a game 40 times with 1 starting hero, than my test would then count for 200 trials, so probably of higher relevance;
b) I’ve ran my test in the Heroes III Complete version of the game. If you ran yours in another version (original RoE / AB / SoD), it could be NWC had the formula adjusted from one release to another
c) Did you restart with random hero? Meaning, of the 40 trials, did you have also L1-L3 or WM specialists? As they have altered formulas, which would of course influence the general values
d) Did you test with Castle heroes? It could be that there are different probabilities implemented for different alignments (I could test that in one of the following days).

My opinion is that the probability values should be pretty close to those from my test. And my best guess is that NWC must have gone for some round numbers, probably a 90% chance of getting a L2 in your army and a 25% chance of getting a L3, which would be way closer to the test results.
Starting Troops VCMI 0.7.zip (10.8 KB)
starting troops test.h3m (4.03 KB)

I think that’s going a bit too deep into game mechanics … I mean Vcmi doesn’t have to be a 100% clone of h3 especially since such small things take up much time, and many of those are broken design anyway. from balance point of view, or have some bugs illogical behaviour and quirks which are hard to even know about… Yeah I’m saying some formulas behave strange under some set conditions. Isn’t it better to instead focus on the main engine job :wink: ? Just an opinion though, but I don’t think that for example setting the exact same creatures transformations in Undead tranform is a priority (some creatures convert to dragons instead of skeletons ). Same here instead of getting the formula the same as in h3 why not just go with own formula, or just give 3 stacks always ? There are IMHO more important things to focus on… Just an opinion…

BTW from balance point of view heroes should always have 3 stacks, because (especially in MP ) for example getting the elven archers on heroes in first week or not getting them makes a big difference.

To be honest, it was quite annoying in H3 when I was getting only 1 stack of L1 creatures in the beginning of the game, so I see what you mean.

I did the above tests to have a correct start point; but that doesn’t mean I don’t agree the starting troops in the original game were not always balanced, and a bit of tweaking would be good.

I’m just not sure what’s better: increase the probability of getting L2 & L3 troops, or balance only the total value of the army (i.e.: if we get no L2 & L3, then we should have a bigger L1 stack). I wouldn’t really make it that we always have 3 stacks, as that might be too predictable, and too obviously different than the original game.

Sorry, my mistake. I meant HOTRAITS.TXT. (I should never write names of H3 config files from memory.)
The format is following: Hero name / minimal count for stack 1 / maximum count for stack 1 / creature reference name for stack 1 / (same for stacks 2 and 3)

I don’t know. I suspect it has no affect on gameplay mechanics, it’s rather “suggestion” for AI.

IIRC we use it as probability of appearing a particular hero in tavern when player has given alignments.

Indeed, I’ll alter formula in the code so it’ll be closer to your results.

Yes, I’ve used castle heroes. Though I don’t think it’s likely that formula is different.

It’s a matter of simply altering two numbers in sources. If there will be such need, it can be easily moved to the one of external .txt files.