multiplayer lessons from CoH

I am sure quite a few of you have been playing the WW2 Relic RTS game ‘Company of Heroes’ stated t by many to be the best RTS game to date (though probably Supreme Commander will replace CoH in this respect).

Whilst Relic have produced a great title they have yet again balls up the multiplayer experience leaving some lessons to be learned by other developers. I’ll go into the specifics in a bit but to broadly summarise their mistakes CoH essentially has a stats system and game mechanics which allows players to completely take the piss if they choose. This has resulted in the multiplayer game being plagued with lame players who take more pleasure from disrupting games than playing them properly or with any intention to win.

The actual game itself can be very enjoyable online, it’s well balanced the graphics and gameplay are all really good. This accounts for about 25% of games if you are lucky, the other 75% of games players quit, drop, kick, go afk, play like an ass deliberately, turn on their teamates etc etc. Now this isn’t uncommon for most games though CoH does seem to take it to new extremes, but what really does your head in is the how the stats system will seemingly reward this type of lame gameplay which encourages more players to do it!

For example you can be playing 1 vs 1, get kicked by your opponent and they gain a win whilst you register a loss. Players on the verge of defeat might drop from a game by deliberately disconnecting their Internet connection or closing CoH from task manager with similar results!

Lessons for SoaSE (learned from CoH):

1. Only the host or game initiator should be able to kick another player so there is no ambiguity who is responsible for doing so.
2. If a player is kicked the game should inform the other players exactly what has happened i.e. ‘Player xyz has kicked player abc’.
3. If a player is kicked no stats should be recorded for the game, no-one wins, no-one loses.
4. If a player quits or drops in the first 2mins of a game, no stats should be recorded for that game, no-one wins, no-one loses. So if your team mate is behaving like an ass you can go find another game.
5. In CoH your stats and rank do not necessarily coincide, so a lvl1 player may well be stronger than a lvl9 player which completely makes a mockery of the rank system.
6. Stats which show players losses encourage smurf activity to a great extent, a far better way of doing things in my opinion would be to display only the number of victories a player has, and to preserve those stats between profiles. So this gives players the freedom to change their names, it doesn’t hinder or embarrass them by displaying their number of losses, but it does mean they cannot hide their experience to create a stacked team. You rank or level should be determined by your success and not hindered by your defeats, so if you beat some higher ranking players that should boost your own rank and the 10 games you lost last week whilst learning the game are forgotten, kind of like a sliding window of performance.

One thing Relic has done right is provide an email address for an admin team to deal with abusive, disruptive and cheating players. I have used it twice already and they have responded to my emails both times which is reassuring.
46,858 views 18 replies
Reply #1 Top
Excellent post! I agree with all the points above, it would also be nice to have a multiplayer lobby that list other players pings, and being able to only play a game with players that have a certain ping or lower. If everyone is below 100 I am usually happy.

Relic needs to learn to use FILTERS so its easier to find the game you want...



2. If a player is kicked the game should inform the other players exactly what has happened i.e. ‘Player xyz has kicked player abc’.
3. If a player is kicked no stats should be recorded for the game, no-one wins, no-one loses.
4. If a player quits or drops in the first 2mins of a game, no stats should be recorded for that game, no-one wins, no-one loses. So if your team mate is behaving like an ass you can go find another game.


2,3,4 are the most important of the list, nothing can get under your skin faster than someone dropping and getting the win. I 100% agree if a player is kicked and or has dropped its nice to know who it was and what team they were on...

The only other thing that could be put in should someone drop or be kicked and all remaining players agree, is that a AI takes the place of the missing player, and again all players would have to agree that it is ok. As long as the AI is half decent and can understand, ATTACK HERE, and DEFEND HERE commands, I am all for AI based teammates.

The email option that relic gives is alright, but I reported a person an never heard back, I guess its hit or miss.

Ok , that is all........
Reply #2 Top
Just one thing i ask for...disconnects = Loss. Please do this, game communities get destroyed because ignorant people dont do this.



Reply #3 Top

Just one thing i ask for...disconnects = Loss. Please do this, game communities get destroyed because ignorant people dont do this.



thats pretty extreme, what if the person hosting loses connection, in THEORY you would then be "disconnected" from the host and then would you get the loss? I dunno, its a tricky area to enforce and keep fair. drop winning in general is just cheap, prolly the best way to play is clan vs clan to prevent crap like that from happening, it will be interesting to see what ironclad does

Reply #4 Top
Just one thing i ask for...disconnects = Loss


Yeah this is also a fair point, I mean even if you have a legitimate reason to disconnect e.g.

1) your ISP is crap, and its their fault
2) your PC is overclocked/overheated and has crashed
3) your broadband isn't setup right

The thing is why should the other players suffer as a result of something that is effectively your problem.
Reply #5 Top
It could have a certain amount of grace time, say up to 1 minute, allowing that person (same game ID or whatever they end up using) to reconnect and resume play without any penalty.

What happens if the host disconnects
Reply #6 Top

Just one thing i ask for...disconnects = Loss


Yeah this is also a fair point, I mean even if you have a legitimate reason to disconnect e.g.

1) your ISP is crap, and its their fault
2) your PC is overclocked/overheated and has crashed
3) your broadband isn't setup right

The thing is why should the other players suffer as a result of something that is effectively your problem.


If its 1 , you shouldn't be playing an online game
If its 2, after the first crash, you'd prolly downclock the game so you can actually play it.
If its 3, again after the first crash you will get it configured correctly, else you'll never get to play.

I think all disconnects should just not count, the game either becomes void, or you resort to fighting an AI should everyone agree, if you are playing 3 or more player game. Whats the worse of two evils, getting the loss for disconnects beyond your control or not having it count at all.

I think we need some developer input!
Reply #7 Top
It could have a certain amount of grace time, say up to 1 minute, allowing that person (same game ID or whatever they end up using) to reconnect and resume play without any penalty.

What happens if the host disconnects


I dunno if that grace time option could work, unless it is a team game where everyone knows each other, OR... if you drop from the game and its is a game related drop and not power or some external ISP issue, you drop back to the lobby and can still chat with people who were in the game with you letting them know what happened, and or be able to rejoin.

Hopefully the game will be bug free and we won't have to worry about drops at all at least related to the game external issues is another question...

The few times I did drop in COH , and ended up back at my desktop at least I could still use Xfire to chat with my buddies letting them know what happened.
Reply #8 Top
Why would it not work unless it's a team based game where you know each other? I see absolutely no reason for that. Here's how it'd go.

You check the server broswer, find a suitable game named "1337 server by Lordkosc" and join it. A good hour into the game you get a connection error/the game crashes/whatever.

The server realises it but doesn't simply make all your ships or whatever disappear, or ask the other players if they want you to be replaced by an AI. Instead it keeps your empire fully functioning as you left it and waits for your return for one or two minutes.

During that time, you've managed to reconnect, started up the game again, went to the server browser, found "1337 server by Lordkosc" (if you have a "joined server history" it would make it even easier) and attempted to connect again.

The server recognises you as the same player that disconnected earlier because of your game ID (you MUST have something of that sort for it to count the wins/losses) and lets you do so with the other players never knowing anything happened (if they were notified they would all attack your defenceless empire).

If on the other hand you were too late in reconnecting, the server would proceed to the other solutions involved. Awarding you with a loss, asking the others if they want an AI to replace you, or whatever was suggested.

That's it. I don't see why the above would be affected by the game type (teamplay) or the other players' relation with you.

Source Engine based titles have a similar feature I believe (or perhaps it's due to Steam and not Source). If you are playing a game and somehow disconnect, if you manage to connect to the same server within a certain amount of time, you don't lose your score. It's nifty.
Reply #9 Top
i guess i could live with that...

anyone know how GalCiv deals with droppers? I've never played it.
Reply #10 Top
all technicallities

I generally oppose open stat records, why the hell should you have that embarrasing number of losses sitting next to your record? who gives a shit how many times you've won?
I just dont like the idea of any little mistake sitting with you permanently, if I come in and kick your ass fine, there isnt any shame in it.
Reply #11 Top
look people..you can argue all you want. The fact remains.. id rather lose 2 or 3 games because my Internet died -my fault , then spend 2 hours kicking someones butt then him going "hahaha..im gonna pull my plug and void the game". Seriously this community does not need this crap. It will only cause hatred and more people to disconnect just because others do it them.

i am btw refering to ladder games only, if people were wondering.


Feel the hatred in this community...Gamespys hapless solution.

Thread begging for disconnect losses

Half the forum topics are "fsake he disconnect i want my win!" do we want that?
Reply #12 Top
I agree, not having a disconnect counted as a loss is just begging for exploitation. If the game is going badly for you, you can simply unplug your phone line for a minute and it would be like the game never happened. The others have explained great ways to deal with this.

Another idea is to give the host the option of whether or not to count a disconnect as a loss or just ignore it. This would obviously work on the honor system but it's better than just automatically deciding what to do. If the host thinks that their opponent had a legitimate crash or ISP drop and the game's final outcome is impossible to predict then they can choose not to count the game. But if they are clearly winning or suspect that the other player is just trying to pull a fast one then they can give them the loss.
Reply #13 Top
Exploitation is something I plan to look at very closely and feedback on during the beta, not cheating as such but methods by which player might ruin a game delibrately.

This is even more important if we are forecasting long 1hr+ games, as opposed to the CounterStrike 3min type games.

Sure you could try to build a decent set of teams using players known to you over time, but realistically most games you will play will be with random publc players which is why you need the game to plug oppourtunties for lameness.

Its even a pain when its your opponents doing it, I left a CoH game the other day when 2 of my opponents dropped. Its not just about winning or gaining recognition through stats it was just going to be a real boring game where my team was going to win from that point on. There's no fun in that I took a loss rather than waste 20mins of my time....

The best gameplay solution would be to have an Expert CPU AI takeover the dropped players position/units WITH the option of the lead player remaining to micro those units when the need arises. I could imagine that being pretty difficult to program into a game but it is the ideal scenario for the poor bugger who's team mate just dropped.
Reply #14 Top
Liking the rules so far.

But i have one question, will Iron of SD be providing their own online hosting, or are the going to be doing throught someone else, like GameSpy(please no).
Reply #15 Top

Liking the rules so far.

But i have one question, will Iron of SD be providing their own online hosting, or are the going to be doing throught someone else, like GameSpy(please no).


from the FAQ :

Q. Can I play on the internet?
A. Yes. A free subscription to IroncladOnline is included with the purchase of Sins of a Solar Empire. IroncladOnline provides internet matchmaking, statistics tracking, player ranking, and more.

So no evil gamespy!!!!!
Reply #16 Top
still pointing out the redundancies of a rating system...  
Reply #17 Top
still pointing out the redundancies of a rating system...  


Well showing the number of victories as opposed to simply the number of games played is a positive thing and it also distinquishes for example new players who are starting to win games.

I agree with your earlier point about 'I just dont like the idea of any little mistake sitting with you permanently' because its a very negative stat record and generally speaking very inaccurate as an indication of ability. It serves no purpose other than to incourage players to change or refresh their profiles and start again which defeats the whole purpose of rankings and stats i.e. to have high abillity or improving players appearing to be newbies.

The topic of Rank calculation I'll save for another post.

But on stats my view is:
1- All games played get stats recorded.
2- Only a players victories are displayed with their profile.
3- Stats carry forward from one profile to another.
4- The game should record losses for rank calculation if required but not display the information publically.


Reply #18 Top
But on stats my view is:
1- All games played get stats recorded.
2- Only a players victories are displayed with their profile.
3- Stats carry forward from one profile to another.
4- The game should record losses for rank calculation if required but not display the information publically.


Sounds good to me.