Demigod: How games are made

By on June 8, 2009 5:59:32 PM from JoeUser Forums JoeUser Forums

Frogboy

Join Date 03/2001
+1477

image Well I said I was going to start going lighter on these journals since each one seems to give the poorly informed an opportunity to flame me or Stardock for whatever woes they have without realizing what’s really going on.

It just goes against my grain to not keep people up to date with what’s happening.  The only thing I will say is this: I’m just the messenger.  My job is a lot like herding cats.

So that everyone is on the same page of who is doing what:

Stardock

Stardock, who I work for, is the North American retail publisher of Demigod as well as the digital distributor of it via Impulse.  Our job is to take the game, put it in a box (or online) for people to purchase at the store. We also are responsible for the marketing and technical support for the game.

However, in the case of Demigod, we also agreed to provide a website to take posted data from the game and display it (rankings, favor points, etc.).

In addition, Stardock developed Impulse which, amongst other things, includes impulsereactor.dll which has what we call a Common Virtual Platform (CVP).  CVP is designed as an interface to a series of web services.  An application calls a CVP function to send XML to servers as well as receive XML from servers that the game can then display in-game.

Here are some examples:

A game might request a team game. The game developer would call something like CVP.RequestMatch() which would then look at players in the queue and send back an XML with the players and their IP addresses for the game to connect to.

A game may want to record how many kills or how much damage they did. It can use CVP to post this data to our servers.

Now, in the case of Demigod, some special code was added to handle connecting players together because Demigod does not have this. GPG used GPGNet in Supreme Commander but it was not available for Demigod.

Raknet

To take the place of GPGNet, we looked at several options including GameSpy Arcade, Games for Windows Live, and Raknet.  Since Demigod’s original ship date was February, we couldn’t use Games for Windows Live as it was too far along. The team ultimately decided to go with Raknet because it was used successfully with The Political Machine.  But The Political Machine is a client/server game.  Demigod is a peer-to-peer game just like Supreme Commander, Warcraft 3, Company of Heroes, and the Dawn of War series. 

So we worked with the developer of Raknet to use that library for Demigod.  I won’t go into the details here other than to say that obviously everything didn’t go as planned on that.  The basic issue was scalability.

For you web developers, the way I would describe it is imagine setting up a really elegant looking new website that runs great during your testing phase. Then you release it and when thousands of people are on it at once, it crashes and burns.  That’s basically what happened with Demigod. 

I still highly recommend Raknet. If someone makes a website using Ruby on Rails, for instance, they should know what the pluses and minuses of it.  Same here.  Ultimately, Stardock and Gas Powerered Games took the lead on this part of the game and so it was our responsibility.

With that, bear in mind, our anticipated technical involvement with Demigod was essentially that we would provide the website, a database, and finding players to connect to each other.  We treated the connectivity the same as you would any other “engine” you license (i.e. Unreal engine, Fmod, Bink, etc.).

Snowball 

In Russia, the publisher of Demigod is Snowball.  If you bought the game in Russia at the store, Snowball is the equivalent of Stardock there.

Atari

Everywhere else it’s Atari. Whether you bought it at a store in Australia or in the UK or on the continent of Europe, Atari is in charge there.

Gas Powered Games

And of course, the game itself is Chris Taylor’s Gas Powered Games which designed and developed the game. They make the demigods, the maps, the items, etc.  Demigod is their game (i.e. they own it). They are the Stephen King to Stardock’s Del Ray books.

I think most people would agree Demigod is an awesome game. Gas Powered Games is one of the top independent game developers in the industry. You’re talking about total pros here.  If it sounds like I’m a fan, it’s because I am.

My point is that when people have some problem whether it be single player, multiplayer, whatever I will do my best to direct the feedback to the right group.  My default position is that everything is my fault and therefore Stardock’s fault.  But that doesn’t mean we literally coded it. I’m just saying that the buck has to stop somewhere.

However, our ability to exact change is limited by how much of our own resources we can put in to help GPG or Raknet.  Customers of our partners Atari and Snowball benefit from these efforts but I’ll tell ya, I get pretty annoyed when some guy who bought the game in Europe at the store (therefore an Atari customer) is flaming Stardock for whatever problem.  It’s like flaming the fireman for not putting out the fire fast enough.

The Pantheon

The area of pain we’re dealing with this week is the Pantheon. 

Custom game connectivity works very well now and with the updates for this week, they’ll likely reach the point of diminishing returns (i.e. if you still have problems in custom games after this week’s updates, it’s on your end). 

But Pantheon sucks. So does skirmish.  Istari, one of the Stardock developers pulled from Elemental to help on Demigod along with others here have been going through pantheon nonsense all last week and today.

As some of you know (but unfortunately not most people) when things hit the fan with Demigod’s online experience, we brought in developers from Impulse and Elemental to work with GPG and Raknet to get things resolved more quickly. It was a tough call because you don’t necessarily want to have too many chefs in the kitchen but on the other hand, fixing things quickly and well is very expensive and it was either putting the burden on GPG or Raknet and at the end of the day, if I’m making the journals and our name is on the box I feel more comfortable if the people working on it are people responsible to me.  It’s a tough situation all around and everyone is working very hard under difficult circumstances.

Anyway, here’s a typical Pantheon experience:

  1. User hits “Fight”
  2. They wait awhile while the system tries to match them with people of similar skill.
  3. They see 4 people on the connection dialog.
  4. One of them disappears.
  5. They end up in a 2 v 1 game.

Here’s another typical Pantheon experience:

  1. User hits “Fight”
  2. They wait awhile..
  3. They see 4 people
  4. One of them can’t connect back.

Sometimes you get both.

Here’s a report between Jeff and Istari on the subject:

This log finished off with the following:

PlayerName: Istari PlayerID: 11122 SystemAddress: xxx.204.71.133:64840, Connected to: 46966,52623 PendingConnections:

PlayerName: KutsuShita PlayerID: 46966 SystemAddress: xxx.209.39.38:6112, Connected to: 52623,11122 PendingConnections:

PlayerName: F3kay PlayerID: 52623 SystemAddress: xxx.147.232.59:6112, Connected to: 11122 PendingConnections: 46966

KutsuShita and F3kay DID connect. But part of the 2nd-round handshake failed. If you were to lookat F3kay's playerlog, my money is on that you'd see PLAYER_ID_PONG packets in the packet log, but no PLAYER_ID_PONG in the impulsereactor log. = The packets are coming in, but not getting processed.

This is the same problem I've been trying to track down with a couple users by working one-on-one. The problem appears to have to do with ordered packets not all arriving, causing all future messages to not process. There is a SIGNIFICANT chance that this is also the cause of the disconnects-from-faciliator, but I have no proof of that at this point in time.

Additional information about this problem includes that it most open happens to specific players, that other people show connected in their list (e.g. it says they're connected to everyone) but that they sit as "pending" in other people's list.

**My current theory is that their unreliable connection causes permanent packet-loss on some multi-part ordered messages, and once that happens all further messages fail to get processed as RakNet waits for the prior message.

What you see here is one of the problems with debugging a third-party library. We could either send this error to the developer or we can dig into the library’s source code ourselves and try to fix it.  We’ve been increasingly opting for the latter (mainly because for us, time is of the essence and we have a lot of experienced developers in this area who can do this pretty well).

But this gives you an idea of the kinds of things we’re dealing with.  What we find are not “bugs” but scaling issues. So I want to emphasize that we’re not going through other people’s code and saying “Oh, so and so has terrible code!” What we find are simply cases where Dev A didn’t expect Dev B to do a particular thing.

So this is probably more information than you wanted to know but it gives you an idea of the kinds of things we’re trying to help with here. 

Locked Post 84 Replies +9
Search this post
Subscription Options


Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 6:12:38 PM from Demigod Forums Demigod Forums

I was tired of people flaming stardock when they clearly had no idea what they were talking about either...glad you got this into the open. 

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 6:20:03 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

I'm glad you haven't given up on the journals completely, thank you!

You know, I bet if you were to give out some addresses, some of us who are informed would be willing to break some knee-caps[e digicons]}[/e]   Just keep that in mind as a plan-B if trying to enlighten them doesn't work[e digicons]:thumbsup:[/e]

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 6:23:29 PM from Demigod Forums Demigod Forums

nice info! thank you frogboy! been waiting for this!

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 6:27:24 PM from Demigod Forums Demigod Forums

I thought you were going to simulate a client/server for Demigod? Has this been scrapped? When will we see proxies in europe? Hopefully we will be able to choose ourselves to which proxies we want to connect to :/

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 6:48:01 PM from Demigod Forums Demigod Forums

Please keep up with the updates, always insiteful. Could do with a weekend admin though - wasn't a good gaming experience over the weekend but last 2 nights have possibly been the best since the game was released and provided some top moments.

It could be helpful to have a post that shows what the current priorities are and scheduling for them.

All in all the game continues in the right direction - thank you

Tals

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 6:56:24 PM from Demigod Forums Demigod Forums

Don't worry about the flamers Frogboy, the DG community needs information such as this. Maybe you could pin which companies have a role in DG and what their role is.

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 7:05:17 PM from Demigod Forums Demigod Forums

The issue mentioned above with one player showing up as connected in all other players connection info, but still lists as trying to connect to another player, is but one of the issues.

It's easily recognizable though, and after the latest connection speedup happens in a matter of 5-10 seconds, so it's not that bad, it's easy to cancel and try again.

The worst issue with Pantheon (now) is really the time spent/number of players dropping in the "Waiting for Players" screen... In a good match, anything from 5 to 20 seconds is spent in this screen. In a BAD match, which ends up in the feared voice-message "A player has left the game!", I've waited quite abit longe...

(Haven't used a stopwatch, so not sure if it's a timeout, or people actually closing Demigod which makes the game proceed)

I assume this occurs after Raknet/Impulse hands over the connection, but would it be possible to implore you to get the right people (whoever that is), to look into it closer?

Still looking forward to see how 3v3 and larger Pantheon games will perform hooking up

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 7:08:48 PM from Demigod Forums Demigod Forums

This is my first post, just to say I <3 your dev journals, even if the content might make me a little upset.  The sheer fact that you've done such a great job keeping the community informed (as much as you can) was one of the reasons I got the game: it was clear evidence that you guys aren't done developing the game just because it was in stores.

Being a long-time Warcraft player, I've seen about the worse of the abuse a company can take from its player base.  Please don't let it hinder you from doing what you can to keep up these journals.  Just remember there is a lot of players who, like me, are perfrectly satisfied playing the game and reading the website without actually commenting.

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 7:16:54 PM from Demigod Forums Demigod Forums

Would it be accurate then to say Stardock is responsible for everything up to that loading screen with the map in the background?

 

Something that would greatly improve the connection dialog is more information, other than just "6 people waiting". Are those 6 forces-of-darkness ppl and thats why its taking so long? Are they all out of my skill range?  Something else? Side and skill would make the waiting alot less frustrating.  Let the UI be as informational as your posts!!

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 7:17:05 PM from Demigod Forums Demigod Forums

This journal was good because it clarifies some of the misunderstanding some users have about who made the game and who is responsible for what. You should have clarified this a long time ago, imo...

But...now that this is clear, i think i speak in the name of the whole community when i ask you to give us more GPG feedback. The forums are growing increasingly frustrated because of the lack of feedback from GPG. There are LOTS of threads with gameplay suggestions, ideas, etc (not related to connection problems or bugs) that go unanswered. Any form of acknowledgement would be ok. We need something! We need to know what's their point of view on a specific problem/idea/suggestion. And it goes beyond the demigods DLC (that we don't know anything about, no eta, no abilities, no nothing). For example, i've found an old thread about a rematch option. You replied there and said that you told them about this around April - first of May. And that was it...No feedback from them, no nothing, after 2 months. We need some dialog between GPG and community. I know that you were the messenger in this, but apparently this is not enough, we need more details, more inside info on what GPG are doing. Because i have a terrible feeling that GPG is pushing aside DG and concentrate on their next game, SupCom 2.

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

And now a bit of ranting :

Quoting Frogboy,
To take the place of GPGNet, we looked at several options including GameSpy Arcade, Games for Windows Live, and Raknet.  Since Demigod’s original ship date was February, we couldn’t use Games for Windows Live as it was too far along.

This was the biggest mistake and it's SD's fault because you could have postpone the release date by a couple of months and make DG's MP work with either Gamespy or GfWL, and not risk it with some untested p2p netcode (Raknet). All of these problems could have been avoided by just postponing the release. Anyway, it doesn't matter right now, the damage was done and you can't turn back time.

Do you sincerely think that we could play someday 5v5 matches in Pantheon (or skirmish), without issues?

Is there any chance, in the future (1 year) to change DG into a client/server game? Maybe when the infrastructure is ready for Elemental?

 

 

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 7:25:02 PM from Stardock Forums Stardock Forums

"So this is probably more information than you wanted to know [...]"

Aside from the fact that I see your point there, I do in fact like all this information. As a student who is working hard and trying to get into the industry I may not be your avarage reader, I find your posts very interesteing and insightfull. Your trouble with P2P and the insights there have made me understand the pros and cons of the technology a lot better.

As I am at the beginning of my career and don't have a lot of experience yet, I am still learning a lot. Your posts on this are very informative and as such a great source of information for me. Inside information directly from the source like this is not all that common in the industry, I find it very interesting and I'm learning from it. I like it, so thanks and keep up the good work if you like.

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 7:34:43 PM from Demigod Forums Demigod Forums

Frogboy, do yourself a favor and lock these journals after you create them. Just do it, you'll be glad you did. You're not obligated to have people despoil your status reports with bullshit.

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 7:45:40 PM from Demigod Forums Demigod Forums

I'm glad its against your beliefs to not keep us up to date on developments

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 7:51:04 PM from Demigod Forums Demigod Forums

Hopefully now the number of people mindlessly flaming Stardock will go down now.

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 7:56:44 PM from Demigod Forums Demigod Forums

Dear Frogboy,

I bow before you for your ambitious involvment in an game that's nor yours in a normal sense.

And I thank you for personal involvement as CEO! Not many people in such a position would get down to such "dirty work".

 

I would like to ask you two questions.

I hope the way I phrase them is not inpolite. If, it's only because english is a foreign language for me

 

1. Im glad that you give us lot's of informations from the development.

But: Why are you as CEO of Stardock posting informations for the core game of GPG?

Why is no one from GPG talking to us? Just some basic informations would suffice. Do you think that will change in the near future? Or can you just talk to them that it would make many users happy if they show some little presence in the forum like you do.

2. Are all People from GPG working on the net code etc.? Probably not, correct? Because there are several gameplay and balance issues, and that partly since beta. Often that are even just simple questions like ""is that inteded?" Since we got none informations on these issues we aren't even knowing if they are adressed/worked on or are even issues for GPG. 

 

3. Do you know if there is interest on general ideas, creative work, balance solutions, demigod concepts from the community side for GPG? If yes, how could that interest been discribed?

The forum is overflowing with user-ideas etc. and I saw no single response on any of them. Especially with demigod concepts that is quite frustrating.

 

Thank you very much for your read and my apologies if I had ever been inpolite, insulting etc. But when, it was because I like this game so much and can't stand to see how people run away etc. because the potential is not used to full extend.

 

Greetings to the whole GPG-staff and  I hope you will satisfy our and your expectations/aims soon!

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 8:20:55 PM from Demigod Forums Demigod Forums

great journal frogboy - thanks as always!  [e digicons]:frogboy:[/e]

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 8:30:04 PM from Demigod Forums Demigod Forums

I tend to agree.  Frogboy - locking the journals would be great.  Don't stop posting info and providing updates because of flames.  Thanks for the info... if you find yourself feeling like droping some more details on 1.1, I'm sure we are all ears.  Thanks!

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 8:32:49 PM from Stardock Forums Stardock Forums

Thanks for the clarification for the uniformed.  I've worked for a game company so I am intimately familiar with the publisher/developer relationship and where the lines exist for responsibilities.  And please keep the journals coming I for one look forward to them and find them quite interesting, and your writing style appeals to me. 

I would like to second VividGear's questions, I am puzzled by the lack of GPG's involvement thus far.  I understand that there are internal protocols to follow but it would be nice to hear from GPG their perpsective on the community suggestions/discoveries.  IMO there are some pretty serious bugs in DG yet that I have yet to see mentioned in any update journal so far(Post 1.01)  I would surmise that there involvement centers around the fact that there's only so many flame retardant suits around the office and you bravely decided to throw it on and step into the fire.  For that I applaud you, many designers or project managers, let alone CEO's woudln't do that.

I am glad to see you call out the uninformed.  I can't stand ignorant flamers, hell I can't stand flamers period.  They serve no purpose and more than anything alienate themselves from ever being taken seriously by anyone in the community, be it fellow gamers and/or employees of the game developer/publisher/whoever.  I can take solace that these folks will never compete with me in the job market.  I can't remember the last time throwing a tantrum led to a co-worker getting their way [e digicons]:grin:[/e] and those that choose to take this tact find themselves filling out unemployment applications before too long.

 

 

 

 

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 8:46:41 PM from JoeUser Forums JoeUser Forums

Cheers for the update, always good to hear what is going on.

I suppose the upside of all this hoohar is that once the dust settles and things are all working well for 99% of people that SD will have a nice rock solid platform to use for further network related games of their own.

Good work guys, keep it up.

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 9:54:26 PM from Demigod Forums Demigod Forums

I appreciate the journal updates frog boy, it's nice to hear from someone, seems like most video game companies are so tight lipped about everything, sometimes you wonder if they even care.  Not the case here.

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 9:55:13 PM from Demigod Forums Demigod Forums

Thanks for the update. Happy to see you're still getting flamed for it

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 10:00:16 PM from Demigod Forums Demigod Forums

I agree with the one post above, make the journal entry and don't allow comments.

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 10:25:09 PM from Demigod Forums Demigod Forums

Frogboy, thanks for keep us in the loop! I concur with pacov. It might be a good idea to create the journals, and then lock them. That would help keep out the riff-raff flamers. Perhaps you could promote some good forum members to moderators and give them the responsibility of deleting flamewars.

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 10:29:53 PM from Demigod Forums Demigod Forums

That touches on an interesting subject.  I think one of the things for Demigod's long-term success will be for the community to be empowered.  Community  moderators and such. This is especially true if we start supporting community mods.

Reason for Karma (Optional)
Successfully updated karma reason!
June 8, 2009 10:39:42 PM from Demigod Forums Demigod Forums

Shadow, I was thinking the same thing, that FB could lock after he posts.  But from what I've seen, some of the most positive and supportive posts are from people in the same thread as his updates.  So I would'nt want him to miss out on that; just got'a try to read "around" the flamers I guess.

FB, I don't know if you have kids yet or not, but it seems you already know how it can feel to have one thanks to GPG:  If your kid get's into any kind of trouble, people always say "it's the parents fault" [e digicons][/e]

 

Reason for Karma (Optional)
Successfully updated karma reason!
Stardock Forums v1.0.0.0    #108433  walnut3   Server Load Time: 00:00:00.0000656   Page Render Time:

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

Copyright © 2016 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.