To err is human; to forgive, infrequent.
-Franklin P. Adams
I got to play a little Battlefield 2 on my newly reformatted game machine last night (there are other problems with the machine that I don't want to think about at the moment). It got me thinking about the punishment system for team killing. In BF2 you lose a few points off your total if you damage or kill a teammate. If you actually kill a teammate he has the option of punishing you which causes you loose even more points.
You do have to have a system that lets players have some sort of recourse against their team mates who do them wrong, because there are people out there who get bored with the game and then decide its fun to ruin your game.
Turning off friendly fire isn’t really an option because it ruins a lot of the balance and dramtic tension. With friendly fire turned off there isn’t any drawback to just tossing grenades around, zooming around in a buggy running not caring who you run over, and just firing your mini-gun at any and everything in the hope that you'll hit any enemy.
The first problem with the punishment system in BF2 is the way they implemented it in their user interface. During the game people can call for votes of various things such as voting to kick people off the server, voting to change maps, or voting to mutiny against your commander. When voting in all these cases it is the Page Up key to vote “Yes” and the Page Down key for “No”. But after being killed by a teammate it asked if you want to “Forgive”. So if you follow that you would be voting “No” I don’t want to kick this player off the server, “No” I don’t want to change maps, “No” I don’t want to mutiny, but then its “Yes” that I do want to forgive. It should be asking you if want to “Punish” him so the “Yes” and “No” answers are consistent with the other votes.
The second problem and the one I was thinking about was that it is too easy to punish. Most players of these types of games, safely protected by the anonymity of the online community are jerks. They punish every time they are team killed. Most team kills are accidents. Yes there are a few asses out there that do stupid stuff like shooting their teammates when they don’t get a seat in the Blackhawk or some such, but overall most are accidents. They are obvious accidents. Hell, a lot of them are accidents caused by the person getting killed, running out in front of a vehicle or not paying attention and running into friendly artillery fire. But they all punish.
There are posts in various forums where some people talk about some mythical promised land where eventually the community will come in line with some polite code of conduct. Not happening won’t happen, not with this type of game, these types of players, in this environment. By the way, for every “don’t punish” thread on the forum there is a “that’s it I don’t care anymore, I punishing everybody now too” post. I personally tried the televangelist thing where after I forgave somebody I would preach to the team channel “I have been TK’ed and I have forgiven!” It didn’t catch on.
The problem is the people punishing aren’t losing anything themselves. It is no skin off their nose. As a game designer you only want players to punish other players when those players deserve to be punished. So make the person who is punishing lose a few points too. If person who is presented with the question of punishing or forgiving is going to lose something too, they might not just punish by default. This is assuming it is implemented in such a way that the player is informed of this when he is asked if he wants to forgive or punish. (Another problem with Battlefield 2 is there is just so much they don’t tell you, but that is another rant.)
I should note there are other problems with Battlefield 2 that if fixed would help alleviate this problem. For example it is too hard to see the icon warning you of a mine or claymore set by a friendly unit. There is also a bug where sometimes you will see a friendly target with a red name. I have personally starting shooting at a helicopter with a red name that suddenly turned into a blue name after I had hit it with a missile.