Slashdot Mirror


How Demigod's Networking Problems Were Fixed

The launch of Demigod was troubled by piracy and networking difficulties, which publisher Stardock worked quickly to correct. They've now released a documentary that gives a detailed look behind the scenes of diagnosing and fixing those problems. It includes meetings, interviews with the devs, and part of the bug-tracking process during a frenzied 108-hour work week.

1 of 65 comments (clear)

  1. Summary of Technical Reasons Stated In Videos by The+Real+Nem · · Score: 5, Informative

    I've summarized the technical reasons given by the three videos.

    Executive Summary:

    Seems like their peer-to-peer architecture exasperated otherwise common matchmaking and NAT transversal problems that should be expected and thoroughly tested when developing networked games.

    Video 1:

    • Summary: The game is peer-to-peer.

    Video 2:

    • Quote: "We're trying to figure out why users are being removed from the database, which keeps them from being connected, but their not really disconnected, but the server thinks they're disconnected."
    • Quote: "...and if you put a return to just ignore the disconnect message it works fine".

    Video 3:

    • Quote: We're working on a problem in which something, for some reason, keeps telling the database that manages people's records that they're disconnected and we don't know why.
    • Quote: So you're putting in the the debug messages?
    • Quote: Yep. Just putting in some debug messages to figure out where these ... what is, like ... wh what ... first of who is sending what, um these disconnects.
    • Quote: Right, okay, we'll be back.
    • Quote: "One of the fields in the database are backwards, or something, on IP addresses because there are so many IP addresses and ports and sockets and stuff that I don't know anything about."
    • Observation: They test a fix and it seems to work on several office PCs.
    • Summary: The description of the fix includes faster lobby connection time and visual changes to each players ping in the game lobby.
    • Paraphrase: How about in terms of the robustness of it, like, how much will people be able to connect?
    • Paraphrase: Their games are significantly more intelligent now. Um, there were are lot of crazy things that were going on before and we've been able to simplify a lot of them.
    • Paraphrase: What about proxy servers, do you think we need proxy servers now?
    • Paraphrase: No I don't think we need proxy servers. It might be good for backup; we were tossing around the thought, I think you brought this up, with routing some traffic if we can thorough the host. That may or may not be possible.
    • Paraphrase: Though we had to take care of the case if the host leaves the game we don't want the whole thing to fall apart.
    • Paraphrase: Right, right. But it might be a solution for players with low ping times who, you know, can't seem to connect to anybody, but, you know, want to get in the game.
    • Paraphrase: Right, that's true. Of course as a backup plan; so if the host left it would take out those people who have really bad connections. But based on what we're seeing, we think, this should handle symmetrical NATs now?
    • Paraphrase: What's that?
    • Paraphrase: Asymmetrical NATs; this should handle that now?
    • Paraphrase: Uh, it's going to handle it better, yeah.
    • Paraphrase: Well before it didn't handle it at all, so...
    • Paraphrase: Right before it didn't handle it at all, before...
    • Paraphrase: I mean if I have two IP addresses, will this work with it now?
    • Paraphrase: I don't know that if you have two IP addresses this will work. Uh, this is going to help alot with firewalls and nats, however, um, it does a better job of piercing through the firewall.
    • Paraphrase: Of course if you port forward to the right IP, then, from your router, then you're just set.
    • Paraphrase: Yeah, that's not an issue.
    • Paraphrase: So anyone who's technical will be fine, pretty much for sure, no matter on what kind of crazy connection they've got.
    • Paraphrase: And since we've spent more time improving the base systems in the program instead of doing one of the thing