What Big Game Houses Can Learn From Indie Game Teams?

Before the Battle For Middle Earth 2 was released, there were public complaints about the network code in BFME 1. Especially in the player made maps, the out-of-sync error happens quite often.

There was rumour in the BFME1 forums before the release of BFME2:

The BFME2 network code will be much better than in BFME1

I’m not sure who started the rumour, but I believe it must have been heard by the EA/BFME’s producers.

Now, just about a month after the full game is out, we hear the following story:

In an effort to resolve the desync issues in BFME 2 patch 1.02, EA is asking for help regarding the circumstances that are creating desyncs.

It’s a shame that they still experience network problems. I realize sometimes you just have to ‘cut the corners’ to get the game out as possible, but it’s shame that it causes problems to player. I think that BFME is a great game, and can bear the network code – but there are people who won’t. Same applies for BFME2, I believe.

There’s quite important lesson to be learned from this: If you have an online multiplayer playing option in your game, make sure people can play online. In online multiplayer games it’s more important to get to play the game rather than making sure everybody is at 100% sync all the time. It’s acceptable to have some lag and wrong positions, but it’s not acceptable to end most of games by saying that ‘game has gone out-of-sync’.

It’s wonderful to hear stories from indies who can delay their game launch for couple of weeks just to go the extra mile and fix the problems. Delaying the launch is something that big game houses cannot do due deadlines and huge marketing process. They aren’t agile enough – at least not always. Small indie companies are simply more flexible, and that’s our competitive advantage. It’s something that big game houses would need to learn from us.

11 thoughts on “What Big Game Houses Can Learn From Indie Game Teams?

  1. It’s okay to comment… but unfortunately I don’t know what’s the deal with them. I suppose they are concentrated on doing BFME 2 rather than updating the (better ;) BFME 1.

  2. Hi, dont knw if this thread is still open, but any news on any kind of save of pause feature, so many times ive had to go in the middle of the game just for ten mins and its ruined! Thanks,

  3. I believe it to be network code inefficiencies. There were 3 of us playing BFME2 on a 100Mb switch in my basement yesterday on the same side vs 3 AI players. Everytime we hit the first major battle we would get an out of sync message. There were no modded game files or maps and nobody had any cheats enabled. This has to be addressed. I agree the game should pause and re-sync vs just disbanding. However, I also feel the game should have a pause and save game feature in multiplayer mode. Older games like AOM and WC3 both have this feature. I can’t imagine why they didn’t include this.

  4. @Duncan: If somebody could answer that.

    I must also point out that I don’t know the actual reason for out-of-sync. I just know it happens, and that’s irritating when it happens.

  5. Assuming that the Out of Sync condition is reached due to a timing mis-match, why can’t they correct it? They obviously have enough data to detect the offset, and know when the offset is affecting play. Why not implement a system to dynamically correct for offsets? If the games really do get un-synced, then the system should be able to pause, re-sync, and recover without disbanding the game. Ending just because of intermittent lag is a poor way to “recover” from a bad situation.

  6. The idea of the out of sync system is to halt cheating, if one file is modified on one machine but not the other the game will go OOS. It’s an anticheat feature and it’s the most effective one.

    Yes, that’s true in generaly, but not totally true in this EA’s case, because it happens pretty much randomly! Sometimes it happens just when the game is launched, sometimes after few minutes, sometimes not at all. It has also happened with friends (who I know that they aren’t cheating). It usually happens in player made maps (even when you play on the same side!).

  7. The idea of the out of sync system is to halt cheating, if one file is modified on one machine but not the other the game will go OOS. It’s an anticheat feature and it’s the most effective one.

    The problem with it is game mods alter files, yet there are no seperate lobbies for modded games, it’s also pretty eaasy to abuse the OOS system to force an OOS to avoid a loss which is what most OOS cases are.

    Game modding is becoming easier because it adds life to games however it also gives people the tools to change files on a whem. change a file and forget which one you changed all you will do is go OOS and be forced to reinstall thus blaming the developer becuase “your game is buggy”.

    OOS can also be caused by packet loss which Gamespy is notorious for which is why most RTS players dread seeing “powered by gamespy” on the box. Most gamespy lobbies that I’ve ever seen are just disgusting, unfinished, and useless. This is because gamespy has no rules for how thier netcode is used and how well put together an online service is.

    OOS is the fault of developers for half-assing the netcode side, its the fault of the publisher for not instituting proper quality control, and if an outside service is used it’s partly their fault for not setting a standard.


  8. That’s possible. And good that you decided to drop that protection. BFME has zero tolerance on cheating, and they have ‘report cheater’ system implement. And as they use centralized game finding system (through gamespy), it’s quite easy to block cheaters. Not sure how well they are doing, but the technology seems to be planned for that.

  9. I’m just guessing, but it sounds like they’re checking whether the client player position is so far from the server position that they suspect it’s been moved by cheating. That goes to show that they haven’t tested the feature in the real world, as their network code can cause symptoms similar to cheating.

    I was actually planning on something similar cheat protection for our new game, but decided to drop it because of this precise scenario.

  10. The idea of out-of-sync, as I believe it to be, is (partially?) for copy protection measures. They mention that ‘it seems that somebody has modified the game, this game cannot continue’.

    But I also believe that is not the real reason, the real reason is the problems with the network code (and perhaps *problems* with the cheat protection, also)

  11. Giving an out of sync error makes no sense. How would they even know the client is out of sync, without sending much of the to-be-synchronized data to the client?

    The more people working on a game, the more unflexible it gets. There’s salaries to think about for instance, and the timing of marketing efforts.