The Forums Are Now Closed!

The content will remain as a historical reference, thank you.

Demigod: So what the hell happened?

By on May 18, 2009 7:30:13 PM from JoeUser Forums JoeUser Forums

I’ll be writing a lot more on this particular issue in the coming weeks as I’ve had more time to review internal reports.

For those of you just joining us let me bring you up to speed.

Our story so far…

Demigod, a high profile, AAA action-strategy-role playing game was released on April 14th. Well, it was supposed to be released on April 14th but actually got released at Gamestop stores early due to a…miscommunication between their corporate HQ and their brick and mortar outlets.  This wouldn’t normally have been that big of a deal except this happened to be over Easter weekend and the release servers for the game weren’t yet up. Moreover, it also caused the “warez” version (i.e. there’s no copy protection on the game so the warez version meant someone bravely zipping it up and putting it up on a torrent) resulting in over 100,000 people using it – at once – before we were even back from Easter break. Suffice to say, it wasn’t a pretty picture.

For the first few days, we struggled to migrate people to a different set of servers that only legitimate users had access to. This took about 48 hours.  But during this brief window, the game was basically unplayable because you couldn’t even get online – at all.  We got whacked with some pretty negative first week reviews not surprisingly.

But our woes weren’t over yet. It became pretty clear that the NAT servers (the servers that negotiate the connection between player A and player couldn’t handle the # of users on the game resulting in a horrible online experience.  As other people have pointed out, this sort of thing isn’t unique to Demigod (i.e. plenty of other games have had rough online launches) but the big difference is that those other games had a lot more single player content whereas Demigod relies more on its multiplayer experience than most games so it was a much bigger problem.

Like most games, Demigod uses a lot of licensed code. Demigod’s awesome 3D models are powered party by Granny 3D. The videos in the game are powered by Bink. The sound is powered by Fmod. And the network connectivity was powered by Raknet.  These are all very good libraries and used by major publishers. 

But Demigod’s network requirements are somewhat unusual and demanding. First, Demigod is peer-to-peer and not client server. Everyone connects to everyone. Second, the number of people playing is unusual. Yes, some people do play 4 on 4 games of Supreme Commander or Company of Heroes but typically they’re 1 on 1 or 2 on 2. The more connections, the more complex.

The result was that it was a nightmare to get games going online.

The problems

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. For instance, in Supreme Commander, GPGNet handled the entire connection.

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.

Now, the architectural limitation came from the way the network library’s database handled things.  We still don’t have a clear idea on why it was so limited but this was the overwhelming problem that only got resolved late last week. Here’s how it works:

Alice hosts a game. In doing so, she sends a message to the NAT server (as well as our servers). Tom wants to join so Tom clicks join and it tells the NAT server to begin connecting them.  But, it turned out that a relatively small number of people online at once would quickly result in a huge delay in messages being sent back and forth. For instance, when Tom clicks join it sends a message to the server to tell it to start connecting Tom and Alice.  But Alice might not get that message for 30 or 40 seconds. That means, for that entire time, Tom and Alice are “attempting to connect” but haven’t even really started because Alice hasn’t even gotten the message.  As more people tried to join the game, that delay could get worse and worse. If someone left the game, it could take that amount of time for the server to realize that player had left (meanwhile it was trying to connect them).

Why did it take 3 weeks to fix?

It took us a solid week to realize that this was the problem because we assumed the issue was compatibility with routers or ISPs. We worked with people to set up their port forwarding, etc.  Eventually we started looking at the time stamps but even then, when we saw the 30 to 40 second delays there was an assumption that that difference in time was only because the servers and our machines weren’t time synced.  On one of the late nights here, I began insisting on having the machines all synced via one of the atomic clock services and then we became horrified at what we found: A 30 to 40 second delay between the time the server processed a message and actually sending a response.  That time delay during peek hours could get over a minute. 

Luckily, the developer of Raknet was here last week and was able to help us dig into the bowels of the code and we were able to find ways to mitigate this problem.  Much of this is simply because Demigod is peer to peer and so it means there’s a lot of messages being sent back and forth.  A lot of our work has been in reducing the # of messages needed to connect people and writing a new network layer that was designed for P2P specifically.

PLUS, we had to write something that network gurus can tell you is pretty damn cool: Proxy sockets. So that we wouldn’t have to hand off sockets, the Impulse team was recruited onto the project and they came up with a way to not have to hand over sockets to Demigod without having to change Demigod.

Now, with that much new code, it wasn’t perfect. Friday’s update resolved things for most people but it also created problems for some people who hadn’t problems before and it caused some grief for people who were trying to play Pantheon games. Plus, you still have people who simply have difficult Internet connectivity that still have to be resolved but now you’re down to like 5% of the base.

Today and later

Right now, we’re staging an update that addresses what was mentioned above. It’ll either get released this evening or tomorrow.

On Wednesday, the plan (not promise) is to release the update that supports Proxies.  That update will also support some new command line switches:

/proxyonly (if you know you won’t be able to connect normally you can just have us host your traffic)

/noAI (will tell Pantheon and Skirmish to not allow AI players in even if you have to wait longer) – this may not make it into Wednesday but I’m hoping.

/localproxy (if you have a monster machine with a really really good network connection you can let people who can’t connect route through you which lowers lag – only do this if you have a very fast UP speed).

What else?

There are still some other things on our short list of things we need addressed and developer Gas Powered Games is working on them.

These include:

  1. When people quit (for whatever reason) it looks like they’re disconnecting (complete with annoying 30 second disconnect dialog)
  2. We need a concede option.
  3. We need favor points and favor items properly stored.
  4. We need to make sure that the stats recorded are more accurate (it’s been flakey).
  5. After using an ability, some Demigods stop moving until manually given another command.

GPG is working on those 4 items and more but I don’t have an ETA yet but I’m pushing for this week.

What about the future? An FAQ

Q: What is publisher Stardock planning to do for Demigod players?

A: The plan is to send out an email this week to users who purchased Demigod prior to today with a coupon for 50% off of Demigod that they can give to their friends.   In addition, next week we will begin sending coupons for other things on Impulse to active Demigod players to help ensure a vibrant multiplayer community. We plan to keep doing that periodically.

Q: What about my pantheon stats?

A: As soon as we feel comfortable with the robustness of the stats, we are going to launch the second Epoch which will see the stats reset (the previous stats will be archived under the 1st Epoch).

image 

As those who visit the Pantheon area know, we are taking this stuff pretty seriously.  We are looking at this from the long-term.

Q: When will more Demigods be released?

A: 2 Demigods are in development. I will have a better idea later this week when I meet with GPG on that.

Q: What about modding?

A: We have discussed this issue with GPG and I can’t make promises on this but I can tell you that what we would like to allow is for people to mod AI players (LUA) and then submit them online and let them compete to see how they do. This would encourage good AI modding.  We would also like to support mod support in Demigod proper where the Pantheon would support players downloading officially “blessed” mods and be able to play them in game.  I don’t have any ETA on this yet.

Q: What about a demo?

A: We’d probably already have a demo out if we hadn’t been messing with this.  But yes, there will be a demo.  In all likelyhood, it will probably be a multiplayer only demo since we want to reassure people when the demo comes out that connectivity is totally nailed and bullet proof.  This is different than our original plan which would have been a single player only demo with 2 demigods and 1 map. So we’re still thinking about how to do this in a way that has the most benefit to us and potential customers.

Q: How are Demigod’s sales?

A: They’re considerably better than Galactic Civilizations II’s but slightly less than Sins of a Solar Empire at the same time.  However, there are a lot of variables. Besides the online MP debacle, you have an April release versus a February release, you have a MP-centric game versus a SP-centric game (The most players I’ve ever seen online with Sins is around 500 whereas right now, mid afternoon on a Monday there’s 2065 players playing online). You also have the review difference: Sins has a review average of 88. Demigod’s average is 78 (still pretty good). If you took out the first week reviews the average jumps to 84.  Overall though, it looks like Demigod will hit 100,000 units sold before the official European release.

Q: What has Stardock learned from the Demigod release?

A: We’ve learned that you can’t treat networking as just another thing to plug in like you would a sound library or even a 3D engine. It’s a whole different animal.  With Elemental (our next game), it’s single-player focused but its MP will be server based (and I mean we literally host the game). After Demigod, I don’t ever want to hear the words “socket” or “port” again.

Q: What is your honest outlook for Demigod?

A: You know the expected marketing answer.  But my view is, the difficult launch definitely hurt the game. There’s no way around it.  Besides upsetting a lot of people anxious for a good multiplayer game, you also have the fact that those early negative reviews are going to linger.  1UP promised to re-review the game when this mess is straightened out and so I’ll be talking to them this week about that.  But still, Gamespot (6.5) and IGN (7.5) are going to linger. That’s the breaks.  One could argue we released a game that wasn’t done (we thought it was done) and that’s what you get.

Now, that said, I do think long-term the game is in good shape.  First, we will be putting a lot of effort to build the online community.  Scheduled games, strong team and clan support, pro tournaments, matchmaker filtering (let people filter out people they don’t want to play) are all coming sooner rather than later.  Those things will help immensely. 

A lot of Demigod’s long-term success depends, in my opinion, on whether we’re able to “perfect” Demigod’s online experience before a viable alternative shows up.  Right now, Demigod has the luxury of being one of the few modern RTS games that is so well suited to playing online.  It also lucked out in that Atari doesn’t release it internationally until later this month which means a huge influx of new players.

+912 Karma | 149 Replies
May 19, 2009 2:36:08 AM from Demigod Forums Demigod Forums

I think the coupon and the demo are related. If the demo is arund you will have a much better hit of people then wanting to buy it whilst the offer is around.

 

Tals

May 19, 2009 2:47:59 AM from Demigod Forums Demigod Forums

But Demigod’s network requirements are somewhat unusual and demanding. First, Demigod is peer-to-peer and not client server. Everyone connects to everyone. Second, the number of people playing is unusual. Yes, some people do play 4 on 4 games of Supreme Commander or Company of Heroes but typically they’re 1 on 1 or 2 on 2. The more connections, the more complex.
Frogboy, this is still not true... People play a 4v4 on Seton's Clutch in Supreme Commander Forged Alliance all the time. It's nothing unusual.

May 19, 2009 3:11:09 AM from Demigod Forums Demigod Forums

I hope we see a full open beta stress test for Elemental. (As we should have for Demigod)

 

May 19, 2009 3:13:54 AM from Demigod Forums Demigod Forums

I would just like to say that the AI modding is an awesome idea. It would be really interesting to see fresh blood in thet AI Programming Contest scene, especially one backed by a gaming company. Looking foward to the work. 

May 19, 2009 3:33:27 AM from Demigod Forums Demigod Forums

I appreciate the journal entries, and the effort being put in to bring Demigod up to standard. I've never played DOTA and for me, this is a new and fresh gameplay experience that I'm really enjoying.

I am glad that I resisted the ongoing temptation to seek a refund, and am glad that I have many other things to keep myself occupied while issues are sorted out.


Q: What is your honest outlook for Demigod?
A: ...
Now, that said, I do think long-term the game is in good shape.  First, we will be putting a lot of effort to build the online community.  Scheduled games, strong team and clan support, pro tournaments, matchmaker filtering (let people filter out people they don’t want to play) are all coming sooner rather than later.  Those things will help immensely. 

I have to say though, wouldn't a 'finished' game already have these things? IMHO the game was released unfinished not just because of the network idiocy, but also because it lacks what could be deemed as essential features for a multiplayer-centric game.

If this game were finished, "We will be putting a lot of effort..." would instead be "We have put a lot of effort...".

Did nobody think about how to handle disconnection stats? Did nobody think of including things that have been around forever, such as replays? How about simple things like playing with friends? It's amazing that a game from an experienced developer can be so undercooked in so many ways!

There's so many glaring examples of this game being underthought and simply unfinished.

I'll stick with it as I do like to support developers who support their customers. Let's just not pretend that this game (or perhaps Impulse) is ready for prime-time just yet.

May 19, 2009 5:31:38 AM from Demigod Forums Demigod Forums

Since we haven't been told what "very fast" is, don't you think that might result in many people attempting to host,  and they will fail at it-- and that will screw up multiplayer not only for them but for other people as well that are trying to connect through them?

Not that I would expect anything else to happen at this point, but when someone asks you "what is very fast?" maybe you should answer or say that you don't know, instead of leaving everyone to test it on the live servers.

May 19, 2009 6:19:49 AM from Demigod Forums Demigod Forums

Bring on the fixes and new Demigods ^.^

 

UI improvements are something you guys should consider as well.  I'm no programmer, but they seem like something that wouldn't be too time consuming to do compared to new demigods and the like.

May 19, 2009 6:51:44 AM from Demigod Forums Demigod Forums

You guys should release en SDK so people can create new heroes for you, either based on models already in the game or make new ones

May 19, 2009 7:18:33 AM from Demigod Forums Demigod Forums

Just one thing; can we get UI switches eventually for the new options (no video, proxies, noai) and a UI dropdown for the minion health display would be nice too (I've a european keyboard and no matter how hard I try to press ~ or `i can't tell which one is finally getting the bars to display).

May 19, 2009 8:23:35 AM from Demigod Forums Demigod Forums

A large open beta would have caught all of these problems and prevented your bad publicity.

 

edit: Oh and RakNet now denies being involved with Demigod at all. Looks like they are trying to cover their own asses.

http://www.jenkinssoftware.com/raknet/forum/index.php?topic=2406.0

May 19, 2009 9:18:26 AM from Demigod Forums Demigod Forums

Thanks for this very informative customer information

The description of the detailed network issues fit my practical experience as a player trying to play Demigod multiplayer in the EU with others.

Tried the latest update, still can only connect to 1 player at the best and the other players are waiting to connect in the connection info window.

Will try to play multiplayer again at the end of the week.

May 19, 2009 9:55:42 AM from Stardock Forums Stardock Forums

When you say purchased prior to today, mine is still being shipped to me (buy.com).  Will I get a coupon?  I would like to get my brother playing this also.  50% off would help.

May 19, 2009 9:55:42 AM from Demigod Forums Demigod Forums

We’ve learned that you can’t treat networking as just another thing to plug in like you would a sound library or even a 3D engine. It’s a whole different animal.  With Elemental (our next game), it’s single-player focused but its MP will be server based (and I mean we literally host the game). After Demigod, I don’t ever want to hear the words “socket” or “port” again.[/quote]

While I understand the sentiment I'd just like to voice the minority's appreciation for the choice of multiplayer architecture. Having everything server-side would have forced those of us not near a Stardock proxy or some sort of local server to play on something like Hamachi or GameRanger anyway because our pings to the rest of the world is just atrocious.

The use of peer-to-peer means we can use the in-game matchmaking system to connect to people we have at least a semi-decent ping to.

[quote who="Frogboy" reply="7" id="2212808"]If you have to ask, you probably don't have fast enough.

I have to disagree. Some people come from very different broadband perspectives across the world. From what I can tell a 0.5Mbps upstream bandwidth is a pretty common thing to see on ADSL, and from calculations based on sketchy information obtained from users on the forums regarding the upstream requirements that 512kbps upstream might not cut it given the disparity between sync speeds and actual throughput.

Since Demigod is so bandwidth intensive I think it's important to lay down a minimum broadband spec before or during the marketing campaign. As a potential customer, that's something I would like to know about.

May 19, 2009 10:23:24 AM from Demigod Forums Demigod Forums

Why not build in something ingame to test someones connection similar to browser speed tests commonly found along the interweb.

The problem with that is the speed test is a client server architecture (the speed test) but I think it could still give some valuable information to people unknowingly trying to host games.  If you set a benchmark, and then compare the upload speed to the benchmark and it is above just relay that you should be fine hosting a game.  If those connecting are located around you, the ping should be acceptable.  Just an idea.

May 19, 2009 11:10:15 AM from Demigod Forums Demigod Forums

Frogboy, this is still not true... People play a 4v4 on Seton's Clutch in Supreme Commander Forged Allianceall the time. It's nothing unusual.

Define: All the time.

I've played more than my share of SupCom and it's been very rare that I see anything more than 2 on 2.

I know in Total Annihilation, as another example, there were plenty of maps (Painted Desert, Caldera's rim, etc.) that people did play 4 on 4.  But in terms of what 99% of people played 99% of the time, it was 1 on 1 or 2 on 2.

I can play Demigod 5 on 5 all day every day right now.  But that doesn't mean that's the norm.

May 19, 2009 11:11:50 AM from Demigod Forums Demigod Forums

A large open beta would have caught all of these problems and prevented your bad publicity.

To quote a famous philosophy: Well, DUH.

I've said the same myself over and over. In hindsight, we should have had a large open MP beta.  

May 19, 2009 11:12:51 AM from Demigod Forums Demigod Forums

1v1 is the norm for ranked supcom matches, but 4v4 setons was always the favorite map for custom.

May 19, 2009 11:16:10 AM from Demigod Forums Demigod Forums

I have to say though, wouldn't a 'finished' game already have these things? IMHO the game was released unfinished not just because of the network idiocy, but also because it lacks what could be deemed as essential features for a multiplayer-centric game.

If this game were finished, "We will be putting a lot of effort..." would instead be "We have put a lot of effort...".

Did nobody think about how to handle disconnection stats? Did nobody think of including things that have been around forever, such as replays? How about simple things like playing with friends? It's amazing that a game from an experienced developer can be so undercooked in so many ways!

There's so many glaring examples of this game being underthought and simply unfinished.

I'll stick with it as I do like to support developers who support their customers. Let's just not pretend that this game (or perhaps Impulse) is ready for prime-time just yet.

I'm not even sure where to start with this.

I think you would do well to do a little more research.

What does Impulse have to do with Demigod btw?

BTW, I'm curious, who do you think is the developer of Demigod? 

May 19, 2009 11:20:34 AM from Demigod Forums Demigod Forums

Quoting rendari,

Why did it take 3 weeks to fix? That implies you've fixed it. You haven't.

At this point, if you still can't connect you need to look at your ISP or your Internet set up.

While an update later this week will provide proxy servers for users who can't use the game, that's not considered a "fix" but rather extra support for users who have unusually difficult Internet connections.

May 19, 2009 11:22:49 AM from Demigod Forums Demigod Forums

Well, I could connect to Panthenon and Custom games before last Friday's patch.

Since last Friday's patch, I have been unable to connect to any online game. Just checked the latest patch - still unable to connect to any custom game (and the host was in Japan).

I'm not sure what has changed, but ... oh well.

May 19, 2009 11:24:03 AM from Demigod Forums Demigod Forums

Frogboy, I really like you you and your company, but he does bring up some good points.  I completely understand that you thought the game was done connection-issue-wise at release, so those problems are semi-understandable.  However, I was disappointed myself not to see relatively standard RTS-type stuff like replays and custom modded maps in this skirmish type of game at release.

That said, love the game and am looking forward to more of your excellent support (sorry about all the overtime we've been forcing on you guys, but ty for putting in the work).

May 19, 2009 11:29:16 AM from Demigod Forums Demigod Forums

Dear Frogboy:

Quoting cruisefix,
im from Germany and just recently purchased Demigod. Though i been already aware of some Problems due to really negative reviews, i couldnt resist buying it.

The past 3 Days two of my friends also purchased the Game after they saw it on my PC and what can i say, in between all those crappy Games which are being released those Day's we're all pretty happy with Demigod.

I wish you Guys the best for your European release and keep on going ! The Way you (honestly) communicate with your Customers is just incredible to me.

Quoting Frogboy,
Thanks!

BTW, now I'm nervous, there were really negative reviews? The worst I know of was Gamespot and even that was effectively a 3.5 out of 5 basically.
No worries Frogboy, the German reviews mentioned the massive conncetion issues but Atari promised they would fix it. (Which probably means they will delay the release until you guys have solved the problem...)The worst review I have seen was 70% (a DotA fan, why am I not surprised *takes cover*) and the 3 best reviews all give Demigod 80%.

Now let me put the 80% into perspective: Gamestar (largest German gaming magazine) does not give the in the US usual 100% ratings. The best games have achieved 93% so far (CoD4, Fallout 3...).

Links: Gamestar Review, Critify.de (collection of reviews)

So let's get those connection issues fixed before 5/22 and you can really sell some games! Good luck!

 

PS: What Spooky said about SupCom and 4v4 is correct Frogboy. Actually the competative players are often annoyed because so many players play on Seton's Clutch 4v4 because they prefer the longer games with higher techlevels. Or something like that, I hate Setons...

May 19, 2009 11:49:48 AM from Demigod Forums Demigod Forums

Well, I could connect to Panthenon and Custom games before last Friday's patch.

Since last Friday's patch, I have been unable to connect to any online game. Just checked the latest patch - still unable to connect to any custom game (and the host was in Japan).

More data would be helpful.  What happens?

May 19, 2009 11:52:22 AM from Demigod Forums Demigod Forums

Quoting Frogboy,

I'm not even sure where to start with this.

How about you try to answer the following questions:

  • Why does multiplayer still not work properly for me and a lot others, even with forwarded ports? (Yes the devil D-Link router)
  • Why are 200+ pings mostly unacceptable in this game? And why do a lot of games still lag with sub 100 pings?
  • Why do I have to continue playing when all opponents left the game?
  • Why is the ingame Impulse overlay Friend msg system slow and unusable? (News msgs often don't even pop up)
  • Why is there no matchmaking with friends?
  • Why are there so many AI in skirmishes/pantheon?
  • Why are there no more maps for the most played gametype 3vs3 by now? (or even custom maps)

 

We are now weeks into release and most of the above things are still not fixed properly.

And before you answer with the usual "new network, high p2p player amount" etc. I just want to mention that Warcraft3, Dawn of War2 etc. work. I repeat, they WORK out of the box.

Imagine this game with steam and games for windows live. It would have sold 5x more due to steams popularity and actually working game connectivity due to GFWL.

I feel sorry for GPG. Great game, poor partner decision.

May 19, 2009 11:56:44 AM from Demigod Forums Demigod Forums

More data would be helpful. What happens?

Hmm ... Since the latest patch, I'm stuck (for custom games) at "attempting to connect" and "waiting to connect".

Before today's patch (when Panthenon games were available), I was repeatedly booted with "the matchmaking system failed".

Before last Friday's patch, I could connect to both Panthenon and Custom games.

So, it's a mystery to me.

Stardock Forums v1.0.0.0    #108435  walnut2   Server Load Time: 00:00:00.0001188   Page Render Time:

Stardock Magazine | Register | Online Privacy Policy | Terms of Use

Copyright © 2012 Stardock Entertainment and Gas Powered Games. Demigod is a trademark of Gas Powered Games. All rights reserved. All other trademarks and copyrights are the properties of their respective owners. Windows, the Windows Vista Start button and Xbox 360 are trademarks of the Microsoft group of companies, and 'Games for Windows' and the Windows Vista Start button logo are used under license from Microsoft. © 2012 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc.