Jul 152007

For the sake of cleaning random stuff off my hard drive, here’s something I saved which I posted to a forum a couple years back. It mainly concerns the Battlefield series of games, developed by DICE. In Battlefield, two teams fight each other for control of key points on the map; players spawn into the world on foot, but they can enter and exit vehicles found in the world, such as tanks and planes, and this has always been the key appeal of the series.

I’m waiting for Battlefield 2 with much anxiety because the developers keep talking about how the original was great because of its “freedom” and “rock-paper-scissors” balance.

BF1942 (Battlefield 1942, the original game in the series) was a great game for about 6 months, but then on public servers, the gameplay devolved into mindless deathmatch: initially, players were excited by the new objective-based gameplay, so interesting public matches were common, but then, when the novelty wore off, individuals just got frustrated in not being able to coordinate with the strangers on their team, so they started taking the ‘freedom’ of the game too far—meaning they just started goofing around, playing only for personal kill counts, and sabotaging their own teams. (Which is unexpected: you’d think there would be more focused play as the game aged compared to the first months, but this only applied to BF1942 clan matches, not public games.)

Furthermore, certain roles got too powerful as players got really skilled, most notably the pilots: remember how everyone fought over the planes all the time? Well, some of those guys won planes and kept winning them. Then they got really, really good at flying them to the point that every server has that one pilot who climbs to a billion feet then dive bombs everything with pin-point precision. Because everyone else never got practice in the planes (and because they never even hear the planes coming from that altitude), they’re mostly helpless.

Perhaps the basic question that needs to be answered is how to design a more strategic action war-game by upping the average stay-alive time while making it much more deadly for players to play in a Quakish manner (jumping around like a chicken with your head cut off) so that players are forced to use cover. In other words, designers need to coerce players into preserving their lives more without going for the Counter Strike (CS) nuclear-option of permanent death. The CS scheme has the fatal flaw of punishing less skilled players—punishing them not only with less play time and therefore less fun, but also with less practice time. Being dead most of the time hampers the novices’ ability to learn. (CS suffers worse from this dynamic more than other games because of its system whereby the best players have the most money and thereby get more practice time with the best weapons, which are very difficult to learn how to shoot accurately.)

My point is that, first, DICE over-rates freedom: ‘freedom’ in gameplay of this kind is neat at first, but then as the balance of the game comes into focus as enough players gain skill, the freedom destroys the coherence. Second, the rock-paper-scissors balance of deadly encounters must be put in a strong teamplay context or else the encounters with the enemy devolve into just random noise: player on side A has the overwhelming advantage one third of the time while player on side B has it another third.

Another reason to coerce players into playing as a team is because of the ‘90/10 rule’: 10% of players far out-class the other 90%. Such disparities make a game fun for no one except the highly skilled players (assuming they don’t care about being challenged), and worse, from a game maker’s perspective, not giving less skilled players a useful role to play discourages new entrants to the game. Forcing teams to really work together would dampen the distorting effect of the outliers upon the game.

To encourage teamplay, the most basic step is to keep teammates near each other. In the Battlefield series (and in fact in most other FPS games), teammates wandering off on their own is a constant problem because the temptation for each player to take their own course of action without consulting or informing their teammates is simply natural: even if players could reach agreements on what to do, the pace of most games is too fast and the communication mechanisms too cumbersome to execute coordinated actions, so few players try. Voice communication is not enough because 1) only a quarter of players tend to have mics 2) there’s a limit how many people you can effectively talk to at once 3) action games tend to move too fast for players to debate a course of action, and no one can decide who should give orders. Instead, what’s really needed is a way to effectively coordinate with players near you without inundating players with useless info spam; this alone will greatly encourage players to actually move in convoy and thereby really play as a team.

To enforce sticking together, the mechanism I concocted is to damage and eventually kill players for straying away from other players. The details of this are a bit tricky, as you must account for the fact that players might respawn far away from their team, a player’s teammates might die around him, and griefers might abuse the system. The system would work something like this:

  • Every few seconds or so, for each player, get the set of teammates within a certain radius. Those with n teammates within their radius are ‘in compliance’.
  • Depending upon the value of n and the number of players on a team, a team might have separate clusters of ‘in compliance’ players, so it’s not necessarily the case that the whole team has to travel as one. The center point of these clusters is found by averaging together the in-compliance players of each cluster, and HUD arrows direct out-of-compliance players to these clusters.
  • Each player has a compliance rating bar: out-of-compliance players start losing compliance points, and when they get to zero compliance, they start losing health.
  • To account for cases where a player spawns far away from other players, set their compliance bleed rate to something slow enough to reach any of the clusters.
  • A player might wish to move to another cluster, so the bleed rate of a player leaving compliance is slow enough for them to reach the other clusters.
  • Players don’t instantly regain their compliance points when going from out of compliance to in compliance; otherwise, players would abuse the system by hoping in and out of compliance, making the compliance radius less meaningful.
  • If a player’s cluster is dissolved because of his nearby teammates’ deaths or desertions, the player gets full compliance and a new bleed rate slow enough to reach another cluster.

Obviously this is all subject to real-world testing, but I think something like this would go a long way to making gameplay more coherent. Getting the bleed rates right would be tricky, so perhaps it would be more effective to instead give in-compliance players significant artificial advantages, such as more health points and/or more powerful weapons; making out-of-compliance players simply not competitive better avoids annoying death and griefing scenarios.

Posted by Brian Will

Leave a Reply

(required)

(required)