Company of Heroes Games

More on Random Numbers in Company of Heroes 2

Company of Heroes 2

Earlier this week, I published a piece on entitled “Random Numbers: The Cinematic Experience and Company of Heroes 2“. In it, I attested that the random number generation model used in Relic’s RTS games is core to the Company of Heroes and Dawn of War experience, (which essentially amounts to dice rolling for the outcome of unit actions such as attacks or special abilities) and that the game would be impoverished without the RNG elements used by Relic. By way of contrast, I also mentioned that some of the fringe scenarios caused by this RNG seem a bit too extreme, neither rewarding fine player control (micro) nor sound tactical planning, leading to reduced value of otherwise seemingly solid units or strategies, such as anti-tank guns. However, due to fact that the post was already starting to drag on without even getting out of generalities, I was unable to expand my argument meaningfully within the context of a single article.

So buckle, up, we’re going in for round 2.

It's all about stacking the odds in your favor.
It’s all about stacking the odds in your favor.

RNG, Unit Control and Stacking the Odds

I mentioned this only in passing before, but in my opinion, RNG in Company of Heroes 2 really helps to emphasize the practice of stacking the odds in your favor. I’m not saying that this is not the case in other RTS games (it is) but instead am attempting to call out the logic behind that aspect of this game.

An encounter between a single, un-microed Soviet Conscript squad and German Grenadier squad (the basic infantry units in COH2) in open ground, with no cover, is going to have a semi-random outcome. A Grenadier squad has a higher liklihood of winning due to the fact that its models are harder to drop, meaning that it tends to retain its DPS better than a Conscript squad over the course of the encounter. However, since a Grenadier squad has fewer models, each lost model is a larger hit to the overall DPS of the unit than Soviet model losses.

But, even looking at that Conscript and Grenadier encounter, there are plenty of factors that come into play. Cover, buildings, activated abilities, engage distance, and even micro can stack those random numbers in your favor. To say nothing, of course, about other units in the fight. Without having the exact numbers on hand, cover decreases an enemy unit’s chance to hit, bumping the odds of the encounter in your favor. Conscripts’ grenade, the Molotov, is a flame-based weapon, which means it has a chance to critically hit models, and (I believe) ignores Grenadier’s higher armor value. In the meantime, the Grenadier’s Rifle Grenade can take out multiple models and decide an encounter in a single fell swoop. So even 1 on 1, controlling your units and picking a good location to fight can stack the odds in a player’s favor and give them the victory in an individual battle. There’s a much larger number of factors involved in this fight than, say, Zealots vs Marines in StarCraft 2, where hits are assured and terrain only serves to interfere with unit pathing and the ability of the Zerglings to get surrounds on the Zealots. There’s (in my very humble opinion) an actual advantage to this, which I’ll talk about below.

Of course, there are what I call fringe scenarios (I’m sure in statistics there’s a better term for this, but that’s honestly not really my forte) where RNG seems to “turn against” the player. These are the scenarios that bother the proponents of StarCraft-esque deterministic play models, and are often the only really obvious indicator of the game’s random factors. I’ll talk about that a little later, though.

I talked about this very briefly in the previous article, but random events and dice rolls permeate Company of Heroes from the highest level to the lowest. Very few numbers and events lack some random  factors (I believe that Snipers always instantly kill other models and either have a low chance of missing or cannot miss, for instance? And area damage attacks such as the German Mortar Halftrack’s barrage cannot miss). In some cases as with vehicles, several random or variable factors accumulate to decide the outcome of an action.

De-Crewing Vehicles, Capturing Weapons, etc.


Real-Time Strategy games are all about resource efficiency, and Company of Heroes is no exception. In addition to % chances for flame weapons to critically hit infantry, % chances (modified by the armor of the target vehicle) for attacks to be deflected or to deal penetrative damage to a vehicle, resource efficiency is a huge part of the gameplay in Company of Heroes 2. Losing a squad, or even losing an excessive number of models within squads cumulatively, can drain a player’s economy to the point where they’re unable to adequately fight back against their enemy. Losing vehicles slowly leeches valuable Fuel reserves from a player, and can lead to increasingly one-sided tank battles.

This, coupled with the benefits of cumulatively stacking % chances (and allowing units to provide covering fire for one another) and the ability for an army to entrench with Bunkers, Wire, or AT mines of various description, leads to the most efficient way to combat the enemy typically being carefully orchestrated combined-arms offensives. Mobile strikes or territory capture attempts using single units or small, mobile squads (such as an M3 Scout Car with an associated Penal Battalion) become risks for a variety of reasons. In addition to the lost resources, vehicles have a % chance to be de-crewed when destroyed (I believe it’s 3 or 5%) and capturable either by enemies or allies. The same applies to heavy weapons like mortars, HMGs, or AT guns, as well as infantry upgrade weapons such as flamethrowers.

Where am I going with this? I hope I haven’t lost anyone yet: there is a destination. From here on out, things might get a little controversial.

Company of Heroes is a game with a fairly binary counter system. German Flame halftracks require appropriate counters, be it Guards Rifleman or t-34s or carefully-managed AT guns and Conscript squads. Likewise, t4 units like the Panter require appropriate (often combined-arms) response. If you’re a Soviet stuck on T3 when the big guns come out, beware! StuGs will eat up far more than their cost in T-34s, especially if they’re used properly.

This semi-binary counter system, which is to an extent navigable by better player control (as in the case of MG42s pitted against Conscripts or enough T-34s getting behind a Panther) is strongly complimented by the game’s random number generation system. It is my opinion that using a deterministic damage system like the one in StarCraft 2 would significantly impact the interactions between tanks, as a for instance.  The issue, in my mind, is not the presence of random events, but the severity of “losing” RNG dice rolls, and scenarios where neither fine control nor tactical planning pay off.

Stacking odds and resource efficiency are interesting mechanics and (as I mentioned in my RTSGuru article) the specific implementation of mathematical uncertaintly, rock/paper/scissors gameplay model, and control-point based objective oriented matches combine in a very unique way in Relic’s titles. Frankly, I don’t think I’d like the game as much if it were more twitchy and deterministic (though of course that’s just opinion).

Moving on, I’d like to talk a little about what I see as the advantages and disadvantages of Relic’s model.

An Ecosystem of Control: The Advanatages of Relic’s RNG system


One of the largest advantages of Relic’s model is the amount of control it gives over specific unit matchups. A perfect example of this is the fairly recent change to anti-tank grenades for Conscripts and Grenadiers. This altered the penetration and damage of these weapons in such a way that left them just as effective as previous against medium vehicles such as the T-34 and Panzer 4 tanks, but made them considerably less effective against heavy tanks. This change was made to leave the midgame and relative effectiveness of medium tanks the same, but encourage the use of heavy tanks, which now have less to fear from basic infantry and became more capable of going on the offensive.

Whether or not that change was effective, it’s a clear indication of the beauty of the system. Another example was a change to HMG suppression that increase the initial suppression time, but left pinning time after units are suppressed virtually identical to its state before the change. This gives attacking infantry a little more leeway to respond before having to retreat, while leaving the ultimate crippling pin state the same. This fine grained control over unit interactions looks to have a ton of promise when considering the long term balance of the game.

Likewise, in my previous article I mentioned infantry “reacting” to being fired upon by ducking and flailing about in a rather cinematic fashion, which while visually interesting caused some serious utility issues when certain units came up against certain weapons. The very day (9/10/2013) that article was posted, Relic included a patch which decreased the frequency of those events to once every 30 seconds. This alone increased the control players have over their infantry in combat scenarios, which was very welcome for people like me, who find infantry-heavy play to be quite fun.

The Disadvantages of RNG: Fringe Scenarios

Company-of-Heroes-2 (1)

It’s not all sunshine and roses, of course.  One of the biggest pain points in Company of Heroes 2 are fringe scenarios where RNG breaks down. It’s heartbraking when a Panzer IV is bearing down on your army and your ZiS-3 fires 3 shots, none of which penetrate the dang thing’s armor, or when your T-34 rams that Panther and it does… nothing. Likewise, it’s frustrating when a stray mortar round hits a structure just right and it collapses on your MG42, killing it. Meanwhile, your motar hits some hut with a Maxim in it like 10 times and the danged thing just won’t collapse.

In many cases, these fringe scenarios average out over the course of a match, especially in 2v2s where there tend to be a lot more moving pieces. But there are always those cases where a player would just have won if… You know. If RNG hadn’t been against them. Or if their units had been more responsive (I do see this as a separate issue and hope this is addressed sometime soon. Units take too long to let off special abilities and to react when told to move).

The issue isn’t (in my opinion) the fringe scenarios themselves, but the severity of those fringe events. I fully expect that Relic will eventually fiddle with those numbers, making partially-successful events like mines, rams, or AT Gun shots a little more potent than they are now and softening the impact of “failed” rolls less heartbreaking. For instance, simply increasing the penetration rate or deflection damage of the AT Guns would make them more consistent against vehicles and would probably see their usage go up.


  1. Some RNGs can be very, VERY annoying, to the point where you just want to stop playing and uninstall the game.

    Here’s my case: micro-ing my armoured car (and I HATE micro-ing) so that it would avoid the incoming fire from an anti-tank gun. Just as my AC reversed back into a corner and out of line of sight & fire, I manage to see the AT gun fire. Of course, there’s no way that shell would hit; it fired right when my AC is safely tucked behind a brick wall and the trajectory path was going straight, no where near my AC is.

    But fucking RNG just had to budge in and say “nope, fuck you, I say it hits, it hits” and the shell does a bloody physics-defying move, swerves through the corner, hits my AC and kills it.

    Liked by 1 person

    1. If you don’t like micro, I don’t think that COH2 is for you. The Company of Heroes, and indeed Dawn of War games give MUCH more weight to micro, or unit control than macro, or economy management. It’s just the design of the game.

      In fact, I vastly prefer unit management to economy management. That’s the fun part of RTS to me. I’d suggest you look into macro-heavy games like Planetary Annihilation.

      As far as “RNG” – yes, COH2 does lean a little heavily on that stick, to me. But what you’ve given an example of is categorically not RNG. It actually sounds like it’s latency related.

      RNG would be, a grenade thrown that either wipes a squad or does nothing (though RNG is only part of this, as the bigger element there is position of AOE circle vs number of models in the circle and where on the AOE curve they fall). It would be a Zis gun firing at a PAnzer IV and not penetrating shots. It would be scatter from a missed SU76 shell still killing infantry models.

      What you describe is this:

      a situation where from your perspective, your vehicle is out of harm’s way, and it’s still destroyed. Since I know that AT gun fire is not point-to-point, the most likely scenario is that, as far as the Battle Servers are concerned, the AT gun fired – and hit – your Scout Car while it was in LOS, and your client rendered that as best it could. Because of latency, you saw the weirdness with the projectile turning a corner.

      Either way, COH2 is my favorite game right now and there are a number of aspects (not the least of which your frustration at such nominal losses) that make the game unsuitable for you.

      Liked by 1 person

    2. Not sure what that has to do with RNG. That’s more of an example of how projectiles function in the game engine. It’s not RNG messing things up for you, it’s the way the projectile isn’t programmed to stop when it encounters the building it hits.

      This kind of “projectile guilding” can be very, very helpful. In Sudden Strike, for example, often anti-tank missiles (bazooka, Panzerfaust, etc.) would miss because their operators didn’t lead their targets. Which led to a lot of micro-management because you had to be sure they fired only when enemy tanks weren’t moving. It also of course led to a lot of frustration. Which is why I prefer it when projectiles “act up” a little for the sake of hitting.

      As for RNGs and weird scenarios like the above: no problem. As the article say, these weird incidents even out over time. Sometimes they work in your favour, sometimes they mess your game up, but that’s just how it is. I suppose you could have safe-guards that prevented, say, several critical hits in a row, but to be honest, I don’t know how fun that’d be.


Comments are closed.

%d bloggers like this: