We’ve internally staged the new proxy server update for Demigod. It’s going through QA right now but it’s looking like it won’t pass QA tonight due to just sheer lack of time. Last week we had a lot of people working late into the night in QA to get builds but I’m trying to avoid having people working crazy hours now that the MP works for most people pretty flawlessly.
Here are the things that the update is supposed to do:
- If a user failed direct connect and then fails to connect via NAT it will send them over to a proxy server that will host the game for them. In theory, it should be pretty bullet proof but you’d be surprised how hard it is to test since, not surprisingly, “direct connect and NAT work great here!”.
- Supposedly the favor points and favor items work properly. But I’ve heard this before so I’ll believe it when I see it.
- Supposedly, and I haven’t verified this personally yet, the /noAI option is in which will prevent AI players from being in pantheon or skirmish games.
- When looking to join pantheon or skirmish games, Demigod will tell you once it starts polling users, how many people are looking for games. By doing so, we can increase the match making max time from 2 minutes to 5 minutes so that players can get better quality matches.
But it’s not looking like it’ll go up tonight for the public.
Some comments from “What the hell happened?”
I get around the net too and the article I wrote that outlined specifically what happened with Demigod got out there. There have been lots of interesting comments on the net and I thought I’d take this opportunity to respond to some of them.
How did they not perform any simulations or trial runs with players connecting out over the internet in order to stress test this? If they did, how could their testing not notice that routers in general don't like large numbers of listening sockets on it's clients? This is a serious amateur mistake.
Very few routers have a problem with this. The problem was not the # of sockets but the precise timing needed in handing off the sockets. We didn’t realize until 2 weeks in that the scalability problem in Demigod’s MP matchmaking was due to the third party network library we used having up to 30 to 40 second delays once there were thousands of players on. During the beta, users ran into this problem too and the solution was to add more servers and increase the timing threshold from <1 second (in beta 2) to around 5 seconds for beta 3f and release). But the delays we saw weren’t 3 or 4 seconds but 30, 40, 60 seconds. It increased exponentially not linearly.
Minus an open public MP beta, this would never have been found. In hindsight, that’s what we should have done, clearly. But neither Stardock or Gas Powered Games, both with considerable experience in this area, foresaw a problem. Clearly we blew it. The ultimate answer is that neither of us have ever released a game that was primarily played multiplayer and so our assumptions on what to expect were simply wrong.
I thought it was so distasteful how this team tried to blame Gamestop for releasing the game early... but then the big problem with the game really ended up being shitty coding on their part. I kind of think Stardock is full of whiny bitches now.
The Gamestop early release didn’t help matters but it did expose that the MP system didn’t scale well. And while Stardock takes full responsibility for the decisions it made. The issues involved don’t involve Stardock “code”. We are the publisher of the game and licensed third-party tech. The third party tech works very well under normal circumstances but simply had not been used in a P2P game like this. As the publisher, we made the final call on what tech was used for this so it’s ultimately our fault.
Soooooooooooo they are going to do it right this time with their Single Player [Elemental] game, but not fix Demigod so it's server hosted?
We can only do things “right” on games we code. Moreover, Elemental is a turn-based game and thus a client/server game is less sensitive to latency than a RTS like Demigod. For the record, I support GPG’s MP design given what was known at the time. Every RTS I know of, other than Sins of a Solar Empire, is P2P.
What is going on these days with company reps feeling obligated to explain the intricate deatils of the inner-workings of their, engine, business strategies, technical issues.
Here's news to anyone in the future who feels compelled to offer an explanation for whatever bad befalls their company.
No one cares why. Notice in sports how there isn't a "Loseres circle" where the losers get to rationalize and explain why they lost. Sadly reporters force the loser coaches to speak up these days but in general we do not celebrate the loser.
So buck up kiddies. This is a tough inductry, not for the faint of heart. When you fail you (should) fail alone. Don't bring the rest of us down with your miserable stories of failure.
This comment is particularly hard to address. Demigod is certainly not a “failure” by any standard. While I might focus on the negative (clearly, I’m a glass is half empty kind of guy), Demgod’s reviews put it well in the upper list of games released this year (particularly if you remove the first week reviews). Its sales are quite strong, particularly digitally. That doesn’t mean the multiplayer launch wasn’t a total cluster. It was. But I don’t think that makes Demigod anything remotely approaching a failure. In the long-run the game’s constant updating and growing community will ensure it has a strong long-term future.
That said, I also believe strongly that when a product or service has problems in some area that the company who produces (or publishes) it should be very up front with their customers. Maybe I’m wrong and people are sick of these journal entries but that’s my view on it.