1. Gnoupi
    February 17, 2012 @ 1:44 pm

    I think people at Arrowhead discovered that the hard way also with Magicka.
    Magicka earned a reputation of a buggy game, mostly because of multiplayer issues. There were other bugs which were not related, but nothing so big or which would have stayed for long.

    In Magicka, you can make your own spells by combining 5 from 8 elements. And the effect depends on the combination. There are status effects, physical forces (push), shields, laser rays reflecting on shields… Etc.
    The game worked quite ok in single player, or in LAN. But as soon as you hit multiplayer, you realized that not only it was streaming a very large amount of data (the host for a game of 4 players had to have more than 110 kbytes/s in upload), but also they didn’t expect the most common issues with this kind of online multiplayer. Packets get lost. Or are late. Or come in the wrong order. Or you don’t know which you should deal with at which time.

    And it lead to a full bucket of null pointer exceptions. Or invalid states for entities. And when you encountered such thing, it was not planned at all, and the exception was simply going up, leading to the game just crashing. People who played the first week of Magicka were actually happy to finish one level without someone getting disconnected (and it was very, very rare).

    30+ patches later, the game is more or less stable, but you really see that they had issues. And they didn’t see a thing from it earlier, because all their testing was made on a local network, or on very fast connections.

    But indeed, it shows the difficulty of such development (especially when you don’t have the experience).


    • Rob
      February 17, 2012 @ 3:30 pm

      I’m lucky because the networking framework in Unreal is incredibly robust and has been used heavily over alot of internet games under some of the worst circumstances.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.