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 18, 2009 9:07:58 PM from Demigod Forums Demigod Forums

Quoting Frogboy,



Quoting SThaler,
reply 4

quoting post
/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 is "very fast"?


If you have to ask, you probably don't have fast enough.

 

Fibre is being rolled out in Europe you know

May 18, 2009 9:27:50 PM from Demigod Forums Demigod Forums

Great post and this is the reason I buy all of your games blind lol (got burned this time). Your vision and the fact you dont pull any punches. I really hope you can get this game fixed. After the mplayer issues are fixed build the community and release more dg's.

May 18, 2009 9:30:25 PM from Demigod Forums Demigod Forums

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.

Will be nice if it happens.

Apparently my comment got deleted, so re-posting.

May 18, 2009 10:05:44 PM from Demigod Forums Demigod Forums

Kudos on all this stuff and everything, but theres still a big problem for myself and others that you mentioned but said nothing about plans to fix it. And that is the problem that many of us can get in the games but cant stay in for more than a few minutes. I just tryed a game with this new patch and before I had even been able to walk to a flag I got disconnected. I Would REALLY like to see this fixed as soon as possible. I love this game but I cant stand playing against the retarded AI.

May 18, 2009 10:36:53 PM from Stardock Forums Stardock Forums

A 30 to 40 second delay between the time the server processed a message and actually sending a response.

Been thinking - will I get 100 favor points for getting it right - I bet the outbound processing delay is a high-priority thread - and I also bet you got a low-priority thread also going.  When low priority threads get sufficiently starved, the thread scheduler stops everything - even the high-priorities dead in the tracks, to allow the low priorities to run - and run they do, with double helpings of thread quantums - IOW - they get not only their due, but also the scheduler tries to make it up by giving it extra time. (I used to write server business logic for UPS).

May 18, 2009 10:57:07 PM from Demigod Forums Demigod Forums

Hello there,

 

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.

 

And thank you for that Update ! Indeed it was needed

 

 

May 18, 2009 10:58:05 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

I havent picked up the game yet, but to be honest with all your hard work im rather impressed and am now thinking of picking it up when i get my laptop in about two weeks. With DemiGod and Sins on one laptop plus my homework, i think i will be maxed out. 

Thank you for the hard work, and dont be discouraged, i for one, wouldnt have really thought about Demi-God if i hadn't read how hard you were working on it to make it succeed.

That to me is worth buying a game for. 

-Teal

 

 

May 18, 2009 11:24:48 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

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.

How active do we have to be to get those? I only really have time for a couple games on weekends. Is that not active enough?

May 18, 2009 11:32:00 PM from Demigod Forums Demigod Forums

How active do we have to be to get those? I only really have time for a couple games on weekends. Is that not active enough?

The coupon will just look at who has played since the last coupon was sent.

May 18, 2009 11:32:51 PM from Demigod Forums Demigod Forums

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.

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.

May 18, 2009 11:40:24 PM from Demigod Forums Demigod Forums

Why did it take 3 weeks to fix?

Please do not say it is fixed until at least 3v3 games are the norm in pantheon/skirmish. I don't like to play without matchmaking and the best I can get is a 2vs2 matchup. So it is all fail for me until this point, and I'm sure I annoy some people by aborting connection attempts or leaving games after they started because it it's only a 2vs2 matchup.

I miss the 'we will never put you in a game with less than 6 humans' option. Any feedback on that?

 

Oh, and you know what would be an awesome feature? if gold/experience you get from killing a demigod was relative to elo/difference in skill. That would solve the problem with bots helping your enemies more than yourself, and it would also improve gameplay if good players play along less experienced players.

May 18, 2009 11:51:49 PM from Demigod Forums Demigod Forums

Path is a joke anyways

custom games work pretty good now

May 18, 2009 11:53:18 PM from Demigod Forums Demigod Forums

  Ive said before its a shame a game this good missed out on the big release hype because of technical hiccups.  

Still you guys could make a couple new demigods and maps then put them in little expansion pack call it demigod 2 or something and hype the sh## out of it.   With a smooth launch your launch hype will surely tap into a large part of the market that this game missed the first time around. 

May 18, 2009 11:54:07 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

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.

Frogboy,

The worst 3 scores - on both metacritic.com and gamerankings.com - are GameSpot (6.5/10), Giant Bomb (3/5), and 1UP (C).  Unfortunately, the sites have interesting and different scales for letter grades.  So on Metacritic, that "C" ends up being a 50.    Also, the two seem to have a few different review sites they keep track of.

 

The 9 scores between 75 and 50 really hurt here:

http://www.metacritic.com/games/platforms/pc/demigod?q=demigod

And for comparison:

http://www.gamerankings.com/pc/944424-demigod/articles.html?sort=6

May 18, 2009 11:57:37 PM from Demigod Forums Demigod Forums

Quoting Sean0883,
tl;dr

 

Nah, just kidding, good stuff.  I just can't get over how much you care about your customers.  It's unreal.

 

I agree this is the main reason why i always keep up with what stardock is developing (can't wait for Elemental). Can anyone see EA doing something like this on their games?

Have faith and patience and Stardock shall provide.

 

May 18, 2009 11:59:32 PM from Demigod Forums Demigod Forums

2 new DGs. I'm excited.

 

As long as you guys keep working, I'll keep playing. Good on you.

May 19, 2009 12:05:30 AM from Demigod Forums Demigod Forums

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).

I think the stats system is great if it were to actually work, however, I've played hundreds of games and only around 70 are listed in my gamecount and only 14 of the 60+ pantheon games I played during "Rokur" recorded. I also Have losses on my accounts for games that I was disconnected from because whoever had the host position doesn't know how to work their router properly.

Problem: The host dictates who wins and who loses or if the game is recorded at all.

-If the host pulls the plug, crashes, or leaves the game -- it doesn't record.

-If the host puts the plug back in and beats the bots the game counts as a win for him. (No joke)

-If the host blocks ports to force a drop on players and finishes the game he gets a win and you get a loss.

-If the host doesn't know how to use a router and people CANNOT connect to him because of something on his end the get dropped from the game and take a loss if the host decides to kill the AI left playing their heros.

-------------------------------

A system that accurately keeps track of what happens needs to be established or else the ladder system will continue to be completely obsolete in creating competition.

May 19, 2009 12:09:42 AM from Demigod Forums Demigod Forums

Now I know why Demigod graphics reminds me of Guild Wars --- Granny 3d was used to make both

 

Granny 3d list of customers

"ArenaNet

Guild Wars for Windows, Guild Wars Factions for Windows, Guild Wars Nightfall for Windows, Guild Wars Eye of the North for Windows:"
May 19, 2009 12:51:14 AM from Demigod Forums Demigod Forums

No matter the outcome, SD and FB have tried harder, and done more communications with their customers (and HONEST communications) than any game comany out there.  That = a lot of word of mouth about this game, and may undo some, or most of the bad start it had. 

Just like playing a real game of Demigod, at first SD ran into a group of 4 pre-release towers, took on 3v1 enemy pirate DemiGods, and really "fed" the reveiwers by dying over and over to multiplayer ganking.  But they refused to ragequit on their customers.  Now they are no longer noobs in the game of  "networking", but they have realized what an OP unclean beast P2P is, and are working hard to kill the Nat-minions, and cap the socket-flags, until the servers have leveled up enough to destroy the Citadel of nonconectivity. 

/maxed-out corny analagy   

May 19, 2009 12:52:54 AM from Demigod Forums Demigod Forums

So if you go sailing, you wont ever make left turns? And you'll just run aground when you want to stop?

May 19, 2009 1:11:16 AM from Stardock Forums Stardock Forums

For starters, props to you frogboy and the hardworking people making this game work one step at a time.  It's frustrating to me when I have trouble with the multiplayer aspect of this game but that's only because I really, really enjoy playing it.  I can see it improving thanks to your transparency and constant effort to inform the public of the work that is being done.

Secondly, in my opinion, letting individuals concede would ruin the game.  When playing any game, be it dota, starcraft, regular wc3, leavers ruin the game.  Leavers should be punished or at least let the hosts be able to filter players by how many games they have left.  For starters, AI shouldn't take over when a person leaves, unless the AI is not going to suck balls.  Either the demigod is no longer in the game or the teammates have control over it.  Concedes should be by team vote only if it is going to be allowed.  If anyone could concede without any penalty, games would suck a lot because people would leave at the first sign of losing, and only stay when they are winning but the opposing team members would leave in that situation, creating a lot of frustration.

Just my 2 cents since I see people begging for a concede option; there are alternatives and different ways to implement a system other than flat out conceding that may work for the better.

May 19, 2009 1:30:43 AM from Demigod Forums Demigod Forums

I'll say thanks to Frogboy and Stardock for all the honesty and hard work put in. But I must disagree with re-reviewing the game. Sites and magazines review finished, released products, and Demigod is both. The game fully deserves the scores it got, which really were not all that bad. I realize there are a lot of good reasons online multiplayer is so dysfunctional right now, but the end result is it doesn't work as it should. This pisses off a lot of customers, myself included. With that said, if the network issues are resolved soon, and the free content is good, positive coverage will follow.

 

May 19, 2009 1:35:16 AM from Demigod Forums Demigod Forums

keep up the good work, the comminuty will take care of the rest. thanks for keeping us informed.

May 19, 2009 1:46:33 AM from Demigod Forums Demigod Forums

heads up. Disconnection messages for me don't show any details, just an ok button

May 19, 2009 2:28:40 AM from Demigod Forums Demigod Forums

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

Stardock Forums v1.0.0.0    #108435  walnut2   Server Load Time: 00:00:00.0000969   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.