Slashdot Mirror


Breaking Down the Demigod Launch

In addition to the piracy troubles that plagued Demigod's launch (and partly exacerbated by them), Stardock and Gas Powered Games ran into severe networking issues that hampered their ability to accommodate players with a legitimately purchased copy of the game. Brad Wardell has now posted a frank, detailed explanation of what happened and how they dealt with it. Quoting: "Demigod's connectivity problems have basically boiled down to 1 bad design decision and 1 architectural limitation. The bad design decision was made in December of 2008 when it was decided to have the network library hand off sockets to Demigod proper. In most games, the connection between players is handled purely by one source. ... So in Demigod, on launch day, Alice would host a game. Tom would be connected to Alice by the network library and then that socket would be handed to Demigod. Then, Alice and Tom would open a new socket to listen for more players to join in. As a result, a user might end up using a half dozen ports and sockets which some routers didn't like and it just made things incredibly complex to connect people and put a lot of strain on the servers to manage all those connections.

6 of 70 comments (clear)

  1. Re:First post? by wisnoskij · · Score: 3, Informative

    I am pretty sure the peer to peer nature of torrents, that require connections to multiple people to get good speed, makes multiple sockets mandatory.

    --
    Troll is not a replacement for I disagree.
  2. Re:First post? by Jurily · · Score: 2, Informative

    BitTorrent has similar issues. You'd have thought they'd realise that multiple sockets = fail for most home network equipment.

    What are you talking about? AFAIK my torrent client uses one port only. And as with any P2P protocol, the only issue is to allow/enable/kicktherouterinto incoming connections. And if Grandpa can't set up NAT, he's not going to be a full member of the herd, and there's nothing we can do about it.

  3. Re:First post? by L4t3r4lu5 · · Score: 2, Informative

    I've done just that. Passthru of BT port to my PC, and it still shits itself with any more than about 20 peers.

    I eventually manually limited BT to 10 peers total, which essentially made it pointless to use. All because my router couldn't handle the packet load.

    Note that downloading ISOs using a multi-part download resuming app to saturate my downtream from one source does not cause this issue. It's P2P-specific.

    --
    Finally had enough. Come see us over at https://soylentnews.org/
  4. Re:No Stress Testing?? by Tridus · · Score: 4, Informative

    They did, it was the beta test. The trouble is that not everybody was impacted, and the beta group was not a great cross-section of the entire playerbase. Until they got this fixed, I for example couldn't play, at all. A friend of mine in the US with a similar setup wasn't having problems, except when trying to play me. Now I can, and it's pretty fun.

    I followed this throughout the process (because I couldn't play), and a number of times they thought they fixed it but the solution didn't work once they scaled it up to lots of players. If you read the full TFA, the issue was actually something buried pretty deep in the networking library they licensed, it wasn't handling large amounts of traffic. (They had to fly in the lead developer of said library to figure that out, though.)

    Stardock are not that experienced when it comes to multiplayer games, so this was something of a mess. They probably should have known better. They didn't. That's just how it goes. They're pretty honest about it, at least.

    --
    -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
  5. Re:First post? by Ogun · · Score: 2, Informative
    For many years I have been using separate components instead of a single does-it-all box. Right now it consists of:
    • ADSL2+ modem
    • ASUS eeeBox with USB network adapter running debian (fast enough, quiet, low power)
    • Cisco wireless access point (replaced a WAP54G linksys)
    • Netgear gigswitch

    Never had any performance related issues, even on the 24Mbps I had back in Sweden. The homebrew debian firewall can be replaced with m0n0wall, pf sense or similar if you prefer web based administration.

    --
    I found a fast warez site: http://warez.it.kth.se
  6. Re:wow by moderatorrater · · Score: 2, Informative

    Who would have thought that routers might not allow for large numbers of listening sockets on its client machines?

    I wouldn't have. I've dealt with pretty good equipment my whole life because I love computers and am willing to buy nice equipment. The people who don't love computers and don't buy that equipment don't tend to use it like I do anyway, so I've never encountered this in my informal tech support either.

    these devs apparently didn't consider these obvious questions. Do they even have a QA department?

    That's quite a leap there. What you consider an obvious question after reading the summary doesn't seem so obvious in a vacuum when you have the entire rest of the game to consider as well. It's nearly impossible to consider everything you need to consider while programming because there are so many variables involved. QA can't catch everything because QA's not going to try the game in as many ways as home users will. QA catches the most obvious and glaring bugs, but they can't catch everything that 1m+ users will.

    The bottom line is that, while programming their game, they had a bug. In this case, the bug was right smack dab in the middle of the most important part of their game. They should have never let the bug get into production (just like no bug should ever get into production), but to say that it was obvious is going a little far.