Demigod: A new day

Published on Monday, May 4, 2009 By Brad Wardell In Demigod Journals

Our story so far...

The initial release of Demigod was marred due to us not taking into account pirates trying to get validated when we set up our network infrastructure. This resulted in the multiplayer game being basically unplayable which resulted in some pretty negative first day reviews.

48 hours later, we set up an alternative network for legitimate players, released a Demigod update and most people were able to connect - but with a big catch:

Demigod also debuted with a technology internally referred to as "Super NAT". The idea was to let people be able to connect to other people without having to mess with routers or anything.  And it worked great in theory.  In the beta, we noticed that the connection servers required a lot of resources to do their thing quickly. No problem, we added more servers and added still more again for the release.  But that turned out to have been a vast under-estimation still as it wasn't a linear progression but an exponential one.

So over the past 2 weeks, we ditched what we had and started from scratch.  Late last week, because we realized that time is of the essence, the Impulse team at Stardock got assigned to the project and we began to use Impulse tech to build something new.

The new system supports Direct Connection (which is pretty traditional - port forwarding). If that fails, it will use NAT negotiation. And if that fails it'll hook up to a series of Proxy servers to handle it.


The proxy services will not be in tonight's build because of the lateness and we don't want to put that up and then leave for the evening only to wake up in the morning, go over to Shack News or Voodoo Extreme and see a headline "Stardock's Network becomes sentient, begins world conquest!" or something. So we'll wait until Wednesday during the daylight hours to turn that part on.

We are marking this build as a BETA still since it's so late into the evening we don't want to take any chances.

Expected Results

This update isn't the end all, be all update. This week is the week of putting this pain behind us.  Tonight's update is just the first step. Without the proxy, you'll still have people who will fail on the NAT and we are sure, given the sheer quantity of changes, that there will probably be some problem in there since we've had to take out most of the licensed code and replace it with Impulse code. But based on what we're seeing it should be much better for most people.  

If you are one of the people who it doesn't work for, hang in there.  If you are part of the majority who is having no problem with Demigod, I realize that we keep focusing on connectivity versus game enhancements or improving the Pantheon and such it's just that my first priority is to make sure everyone can play the game online as well as single player.  

The team at GPG and at Stardock are already working on v1.01 which will have the kinds of new features and such our users are used to seeing in Stardock games.  But we have felt it would be in bad taste to talk about new features while there are people who couldn't play online so I hope you understand why we've not been talking about that yet.


So now we’re testing it with people on the chat channels and learning lots of things that we can now pass on to you.

Below are some suggestions for connecting faster. You don't have to do them but they will make a huge difference in how fast you connect and how widely you can connect to other people.

First if your router has an SPI “firewall” you may find you have a better experience if you turn it off. SPI firewalls provide good protection against random packets coming in but the downside is that on some consumer routers, it will prevent you from directly connecting to another player forcing the NAT servers (which are far slower) to pick up the slack.



Next: You need to make sure your router is port forwarding to ports 6100 through 6200 to whatever IP address your computer is using.  Don’t assume your machine is that IP address because there’s a good chance it’s not.



If you do these things right, you’ll be able to DIRECT-Connect with the new Impulse Reactor we’re releasing tonight. If you don’t, it will fail over to the new Impulse Reactor NAT negotiation system we’ve been working on the past 2 weeks which is a thousand times better than what we already have out  but it will slow everyone down.

If THAT fails, then it really gets painful because then you’re going to be sent over to one of the Proxy servers. These sound great in theory and they have the nice advantage of working basically 100% of the time but it will probably take us weeks to set up enough of these to make everyone happy because we have to locate them near you otherwise lag will be high.

If you're afraid of port forwarding go here:


The next thing we’ve discovered: There is a lot of software out there now that packet sniffs.  Anti-virus programs even Google Desktop.  How do you know if something is sniffing packets on your system? The game will stutter – go for a couple seconds, then pause a bit, go for a couple seconds, pause, and so on.  There’s not much we can do on our end to stop that. You can try lowering your graphics settings but odds are, someone you’re playing has something that’s sniffing through your packets and slowing things down. And it only takes one person in the game to have this to make it stutter for everyone.

BTW, in the 10 person game we were playing, *I* was the one with the firewall applet I had forgotten to turn off that was monitoring packets. So it can happen to the best of us.

The update status

So they’re putting it together now.  It’ll still be a couple hours because of all the uploading that has to do. Everyone’s very excited.

Again: If there are any IT people hanging around reading this, I’m not a network guy but I am being told by people that the fact that the entire backend for this game has been completely re-designed and re-implemented in 2 weeks is super insane.

Once this is up, our team will be talking at length at what was learned.  What I keep being told is this: What works fine for 500 people can totally fall apart for 5,000 people and that’s what we’ve run into in a nutshell for these past 2 weeks.

Known bugs

Tonight's build does have an annoying bug in that it says Sim speed is 0 for you so you can't tell how well you're running. We've informed GPG and it'll get fixed in an upcoming update.

Favor points should acrue without a problem with tonight's build as well.