How Demigod's Networking Problems Were Fixed 65
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.
Re:Nice summary (Score:2, Informative)
Don't bother, video 1 was some incredibly boring office meetings. video 2 I skipped to cut to the chase, and video 3 was home movie of the boss walking the halls annoying the ever living crap out of the developers actually trying to fix the problem. Again, boring!
Re:Awesome... (Score:3, Informative)
Summary of Technical Reasons Stated In Videos (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:
Video 2:
Video 3:
Re:Multiplayer is not fixed (Score:3, Informative)
Here are some of the problems, having played it since pretty much the first day: In the initial release, they always tried to use NAT punchthrough. This includes when it wasn't needed. This put more load on their servers and made it slow to connect. Maybe piracy played some role, but given how it worked after it was 'fixed' I rather doubt piracy was the main problem, but more of an excuse. There are some ISPs (and routers) that mess with port numbering for UDP receive. This screws up the P2P network connection.
A big part of the problem was routers that performed Symmetric NAT. Basically, the router will randomize the outgoing port from the router, which is actually a sensible security feature. The problem was that the port would get randomized as something to their connection server, and then randomized to another port when connecting to another player. So that other player would attempt to connect back over a port that wasn't valid.
What was funny about it is that you could forward specific ports to your computer from your router, specify those ports in Impulse, but it still wouldn't work. The outgoing ports on the router would still be randomized to the connection server, and the clients would attempt to connect back over the randomized ports instead of the ports specified in Impulse.
They've improved things but, as you say, they still have a bugs to work out. On the plus side, once they've fixed all of networking issues with Demigod, Impulse should be ready to handle whatever other games come along.
The quote at the bottom of the page, "If things don't improve soon, you'd better ask them to stop helping you."
Re:Multiplayer is not fixed (Score:3, Informative)
Your comment of:
>>Demigod itself suffers from the problem of being designed with Microsoft's tools that have been focused on the Xbox, and using similar ideas. For example, running at the speed of the slowest isn't a problem when you have a homogeneous environment. PCs aren't homogeneous.
is wrong. They are using the Supreme Commander engine, which was designed for PCs in mind, and had the same issue. The problem is that SupCom and now Demigod are Peer 2 Peer, which means if one node is lagging and can't keep up, everything has to slow down to that pace or things get out of synch. RTS games in particular seem to suffer from this, with Starcraft having slow players and Warcraft 3 having "laggy" connections as well.
It has nothing to do with Xbox tools.