Marksmen, on your marks!

The beginning of a Call of Duty 4 Search and Destroy game is essentially a race. When the game starts, experienced players all make a mad dash from the starting post, head for their preferred defensive or offensive positions, to dig in before the enemy can bring their guns to bear. From these choice spots, they engage the enemy within seconds, and despite moderately large maps which are a few hundred metres across, up to a third of the kills in a 3-5 minute game do take place in the first 15 seconds. Of course there is skill in figuring out what to do next (the top 1% of players distinguish themselves through adaptability and quick thinking), but the fact remains that the opening of an S&D match is critically important.

I have previously posted about “Neo-Tactics” – unintended side-effects of low-level game algorithms which create competitive advantage. Once a player seems to win without a visible justification this sort of effect causes a problem – it creates the perception of cheating. At a second level, actual cheats might deliberately manipulate their network infrastructure or game client to take advantage of the effect. Well I think I might have found a new one…

The screenshots below give a flavour of the sort of sneaky position that players might hope to be first to reach, affording a narrow but useful line of sight through multiple windows and doorways, crossing most of the map. NB: Seasoned COD4 players will laugh at my choice of so-called sneaky position, but I am a novice and I cannot hope to reach the ingenious hideouts they have discovered after years of play-testing.

Now, when each game starts, everybody spawns at the start point, but seeing as COD4 has collision detection players cannot all inhabit the same physical space. There must therefore be an algorithm to place people in a group in the vicinity of the start marker. The algorithm could go as follows:

1. first player to join starts on start marker
2. second player to join starts at a random position a fixed radius R from marker
3. subsequent players start at random position on the circle of radius R
4. if a player is too close to any other player radius R is expanded
5. repeat until all players positioned

Now, this algorithm appears innocuous. But now consider this: players with different speeds of PC and latencies to the server will be ready consistently at different times. People with the fastest machines and the lowest pings will nearly always be placed dead on the marker (green), people with slower machines could be placed much further out, either at the front of the group, right at the back, or at one of the sides (orange). Well, ok this is not quite fair, but statistically it should be fair, as everybody should, averaged over many games have the same distance to run.

Wrong – it is unfair. If you have a fast PC and are consistently in the centre of the group you will never be first in a race to reach the best position, so you will never chalk up those opening kills in your name. Someone with a slower machine may not always be at the front, but at least he has a chance of being there. It may only take one game in a series of 10 where you are first off the line and then if you are a skilled player, you are guaranteed to boost your kill stats with a good opener. The more devious player might deliberately modify his latency or load process to exploit this neo-tactic, and then bring his latency back to optimal afterwards.

Now, like most neo-tactics they are a pain to prove experimentally. It requires so many observations, and there are so many variables to hold constant which is hard to do when you don’t have 30 patient experimental subjects at your disposal. Without the source of the game, it requires both time and patience to prove or disprove this theory. It needs a smart student to dream up an elegant experiment to test this, a modder to dig out the relevant algorithm if it is encoded in the game scripting language rather than deep in the C++ core, or a very open game dev studio (cold day in hell!).

I hope you have enjoyed this example: it builds towards my hypothesis that in any sort of game which is finely balanced, the smallest inadequacies in the underlying algorithms can surface and show their effect on the leaderboard, be they used unknowingly or with malice aforethought.

4 thoughts on “Marksmen, on your marks!

  1. Why not randomly perturb the map each round, so that a particularly sneaky vantage point is only rarely actually sneaky?

  2. @Tom,

    It’s an interesting idea. In practice a lot of people take pride and satisfaction in fully learning the “ins and outs” of a particular map, and it is considered fair game to win because of your superior understanding of the map. Randomly generating maps would be a problem because a lot of random maps might be a bit dull, or give an unfair advantage to one side. I like the idea of perturbing a map say by randomly blocking off or opening windows of buildings on a map which is otherwise structurally static.

    Personally, I much prefer shooter games with much larger map sizes, where although the layout may be static there is so much more terrain that learning it to that level of detail is impossible, and no two games play out in *precisely* the same way.


  3. This is an excellent point you raise and as you point out one that would be difficult to prove or discard without a lot of work.

    As far as COD4 is concerned (assuming that your hypoisis is correct) unless you could monitor changes in ping (through some sort of anti-cheating software like Punk Buster), it would be very hard to dectect and prevent this from being an advantage. They there is the question of what do you do to people who have bad pings just during loading?

    For future games however (or a future patch to COD?) this could be reduced or eliminated by waiting for all players to finish loading before randomly assigning spawn points around the marker you have identified.

    In conjuntion with this maps could have 4 or 8 different spawn points randomly selected by the game (in matched pairs).
    This would allow players to learn the map but increase the time for all of the sneaky places to be discovered and even out the play for a longer period.

    This would make map design much more difficult for smaller map based games like COD (the larger map based games may not benefit due to the size of the maps).

    The addition of multiple routes, routes with lots of cover/ limited line of sight and developer made map tweaks based on player feedback would round this out.

    Sorry to go a little off subject

  4. Let’s get to what’s important. Your chosen spot is fair enough, provided you’ve protected your rear with two claymores. Even there, you are horribly exposed to fire from the partially ruined upper floor of the building opposite you and to your right. The best way to mitigate that is to keep coming on and off scope. Staying on scope throughout makes you tunnel vision, and likely to be stabbed in the head.

Leave a Reply

Your email address will not be published. Required fields are marked *