Brad Wardell's Blog


Demigod: Monday update in the works

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

On Friday we released a new update that included the “breaththru” tech and got great results for those who were having match making issues. It had one logic bug that we’re fixing now (if you can’t connect to 1 person it’ll stop trying to connect to anyone else) which should make a significant difference.  The plan is to get that update up this afternoon (EST).

After today’s update the GPG and Stardock teams will be working on two different things.

The Stardock team has the developer of Raknet here in the office this week to help us improve the NAT facilitation code.  The Impulse team has come up with ways to make Demigod internally a client/server game without having to change Demigod as well as hooking up the game to the proxy servers. 

The GPG team is working on updates to encourage…better behavior by users in terms of dealing with people who disconnect along with some balance changes and some work on the in-game connectivity.

When that happens, we’ll probably release that as v1.01 and start the second epoch (stats reset, player stats reset with access to their first epoch stats in their account). 

This will be the end of the “Beta” patches (for the foreseeable future anyway) though as we don’t want to split the community.

Stay tuned.

A plead from Stardock: What kind of community do you want to be?

Published on Saturday, May 9, 2009 By Brad Wardell In Demigod

Hi guys,

I spend a lot of time reading through the forums and one of the things that's really starting to concern me is the hostility to the community towards those who don't share the same points of view. That is, intolerance for other view points.

I would ask that you really try to restrain yourself from flaming other people. It's okay for someone to think something is unbalanced or what the game should be more like some other game. If that person has a valid point, it can come through intelligent discussion. Similarly, if a valid counter point can be made, intelligent discussion is the way there.

If you guys can just show respect to one another both in game and out of game, we can all have a much better time. 

I love Demigod. I've poured my heart and soul into it.  I know it's a great game. It doesn't bother me if someone feels differently or wants something changed as long as those who disagree are able to put together intelligent and thoughtful responses.

So please, don't call people names or insult people who don't agree with you.  Thanks.

Demigod: Saturday’s status

Published on Saturday, May 9, 2009 By Brad Wardell In Demigod Journals

Greetings!

Last night we released an update to Demigod and marked it as beta. The results have been very encouraging with a massive improvement in connectivity plus a fixes to a wide range of issues that users had reported.  We’re getting a great deal of very good feedback that we can use to update for a Monday release.

Here’s a summary of what beta testers have found along with what the solutions are:

1) You have been disconnected because the NAT has failed. There appears to be a logic error in the new connectivity system. If you fail to connect to someone who enters the lobby, you won’t connect to anyone subsequently. This is basically a case of a very late night if/then logic needing to be tweaked.

2) Some people are getting massive favor points values. Obviously way better than not working at so those of you who are getting it enjoy it while you can and I hope I don’t get into any games with you. Should be relatively easy to fix on Monday.

3) Sound settings not saving.  (http://forums.demigodthegame.com/350188/get;2195602). This will have to be looked at.

4) Scattered reports of people getting into the lobby fine but not able to connect to some of the other players.  This is not going to get fixed by Monday (except for those affected by problem #1).  If you can run ImpulseReactorOptions in the bin directory, mark the ports say 6000 to 6200 as ones to use and then on your router port forward to those. See http://www.portforward.com/ for more on how to do that.  Now, we don’t expect people to know how to do that, this is simply a quick way to solve it for most people.

So what’s the plan?

Well, based on feedback, I think the 108 hour week we put in last week won’t need to be repeated (and yes, I mean literally we clocked in 108 hours in the past 7 days at the office).  Everything else from here on out is relatively easy comparatively.  I am going to ask our architect to write a paper when things calm down explaining the rather impressive new technology of proxy sockets that we designed that allowed us to let Demigod to see all players with 1 socket without GPG needing to modify 1 line of code in Demigod. It’s pretty amazing stuff.

So here’s the basic outline of what I see happening:

On Monday, we’re going to take care of item #1 above and item #2 above and then release this new build as a public version and eliminate betas. This will recombine the communities back together.

Late next week we will likely release an update (probably less than 1 megabyte) that adds in support for the Proxy servers and improves NAT. The developer of Raknet is visiting us this next week.

Is it safe?

So is Demigod safe to play online for normal people? In my opinion, the Monday release will probably put it there. The beta we have works pretty well other than issue #1 above which, admittedly, throws a big monkey wrench into custom games right now.

After Monday, it’ll be diminishing returns as we add in proxy servers for people who just can’t connect and lots of other things.  Then we’re going to start focusing on Demigod: Clan Wars (free expansion) and lots of in game tools to let people filter who they play with.

Demigod: W00t!

Published on Saturday, May 9, 2009 By Brad Wardell In Demigod Journals

The BETA is up. We plan to push this to release on Monday as it’s massively better.

What’s new in this beta:

  • Massive connectivity optimizations and updates
  • Favor Items fixed
  • Favor points fixed
  • Major optimizations to audio on low fidelity settings
  • Fixed bug that occured if you used an ability after issuing an attack command. This is the "won't chase the demigod I clicked" bug.
  • Achievements properly vaulting on Impulse
  • Sending deltas for partially completed achievements.
  • Each player now saves their own achievements and favor items
  • Fixed partial Achievement saves bug.
  • Fixed a bug that occurred if you accomplished an achievement in game.
  • Fixed a bug in disconnect dialog that would try to update it even if we had determined we did not want to show it.
  • Fixed sound performance issue (for users who were having to run without sound)
  • Changed resample rate to 24k in Low settings
  • Delayed FMOD initialization until audio LOD is set via options
  • Disabled hitbox interference from announcer messages.
  • Life's Child no longer removes Inner Grace (Sedna fix)

If you want to try the beta (and like I said, we plan to release this on Monday when we’re back):

You will need to tell Impulse to show pre-release versions:

image

image

Have fun! I’ll be around this weekend to play! I think you are going to like this update…

Stardock crazy week documentary preview

Published on Saturday, May 9, 2009 By Brad Wardell In Demigod Journals

So we’re finally putting the last touches onto the much anticipated connectivity update.  During the past few days, we’ve been documenting the whole experience so you guys can get an idea of how things have been this week.

 

Here’s a fun little preview:

 

Demigod: Pre Weekend report

Published on Friday, May 8, 2009 By Brad Wardell In Demigod Journals

Updates at bottom

This will be a little rambling so hang in there.

image

Sales

Sales of Demigod have remained very strong. A lot of work was done this week to help Atari with the international release of the game. Reviews have been generally quite favorable.  I loved the Xplay review in particular.

Overall, sales of Demigod are about where Sins of a Solar Empire is, far above Galactic Civilizations were at this point.  But it’s way too early to tell the game’s overall success. 

Keeping Demigod successful

If you read  the forums, it becomes pretty clear who the people are that have bought Stardock games in the past and people who are new to Stardock games. So let me address that here.

Many users say that the support of the game is up to the game’s developer only. Stardock, being only the publisher (we’re Paramount Pictures to Gas Powered Games’ JJ Abrams). 

With Supreme Commander, THQ was the publisher. With Dungeon Siege, Microsoft is the publisher.

And while I won’t deem to speak on behalf of Gas Powered Games, I will say that the combination of developer and publisher makes all the difference in the world. 

Game Updates: This week

From GPG’s side of things, we’ve gotten two game updates this week from developer Gas Powered Games and you wouldn’t believe how much they got done in a week.  People with sound problems on lower end CPUs? No problem, GPG went back and re-did huge parts of the sound system and even the original tracks to help with that.  Favor points and favor items? Both GPG and Stardock had to put in work to point things to the updated servers (those who have been reading this awhile know the issue there). Want your achievements stored on the server instead? Yep, they did that too (instead of a fragile local file). Even balance like Life’s child removing inner grace on Sedna, yep, changed.  And that’s in one week.

When a developer makes new changes, they have to go through QA. Most publishers have a very specific (and increasingly finite) budget for post-release QA.  So even if the developer makes some great change, the publisher may not release it because there’s no QA for it.  On Stardock games, we have essentially no limit to how many updates we’re willing to do if the developer provides them.  When Ironclad sends a new update for Sins of a Solar Empire, we put it through its paces and then release it.

Now one thing that helps with that big time is that Impulse (and Stardock Central before it) allow us to distribute updates marked as beta.  This lets people who want to try the latest and greatest to get an early shot even if there might be bugs.  There’s a beta of Demigod up right now that has new features and such but it also buggier than the released version.

We plan to refresh both the beta release and the release version this week still. The beta version will get the new Demigod build that GPG sent plus the connectivity updates. The release version will likely only have the connectivity update.

Game Updates: Near-Term

One of the best parts of publishing Demigod has been working with Chris Taylor.  People ask me what Chris is like in “real life”. I can tell you he is one of the most awesome people I’ve ever met.  He’s full of energy and boundless optimism which works as a great counter to me – I’m full of energy but I always filled with doom and gloom as my journal entries probably make clear.

We’ve brainstormed on all kinds of ways to keep making Demigod cooler and cooler.  Moreover, the GPG Demigod team is simply fantastic.  Mike Marr, the lead designer is an incredible game designer.  And I don’t say that lightly.  Even if GPG people don’t post much on the forums, it’s only because they’re so busy reading them and doing something about them. They’re listening.

So one of the future updates we talked about is internally called Demigod: Clan Wars.  This is where people will be able to form up clans and battle each other on the Pantheon. Think of it like the existing Pantheon except that instead of choosing light or dark, you’ve chosen a clan and your clan is on one side and another clan is matched against you with the system keeping score of who is winning.

Connectivity for people who have trouble connecting

Most of you know that my personal focus has been on the connection stuff which means a lot of these journal entries have focused exclusively on that.  I apologize if I sound single minded but the issue is a big deal and must be solved.  I’ve thrown everything we have at it these past few weeks and even added myself to it yesterday to start learning more about the architecture of these things.  Next week, we’re flying the lead developer of Raknet (the network library licensed) to Stardock to work with on on this.

I’ve also been talking to the creator of Game Ranger about ways we can better work together.  Those of you who know me know that I’m the opposite of “NIV” (Not invented here).  My interest is in making sure people are having a fun with our games. Lots of people are playing Demigod games on Game Ranger right now without incident. 

Answering some FAQs I get

I’ve been getting a lot of email and I did get a chance to read some of them (sorry to all of you I don’t respond to, I’ll try to do better when I’m back to working normal-ish hours).

Q: “Stardock is exagerating[sic] Demigod’s MP issues in order to get press coverage! The game’s MP works fine!!!111!”

A: Well first off, I don’t subscribe to “any publicity is good publicity”.  Second, sure, most casual people loading up the released version, hitting skirmish or pantheon or playing with a few friends online works fine. But the FACT is, the built in matchmaking is NOT fine. And the match-making not being fine has nothing to do with piracy (we lost a week because of having to migrate servers due to it but that’s a different issue).  The MP match making is not fine because it doesn’t handle the number of users trying to use the currently architected NAT system acceptably. The solution is to re-architect it but as people reading these journals know, it’s not something that can be done quickly.

Q: “The MP match making in Demigod is no worse or better than any other typical RTS [insert game here].”

A:  The experience is worse because those other typical RTS’s have a lot more single player content. As a result, a lot of people who don’t normally play online are attempting to do so. Second, IMO the custom game handling in Demigod is worse than other RTSs in that the custom game match making is flakey and frustrating.  In other RTS’s it tends to work or not work.

Look, folks, if you release a game that is MP centric and has built in match making it just “has to work”. No one forced us to make Demigod so reliant on MP match-making. There was no gun to our head. So it’s up to us to just “make it work”. 

Q: Stardock mentioned sending out 50% off coupons for Demigod to people who bought the game before May 11th. When will those go out?

A: Probably end of next week.

Q: What else does Stardock plan to do for Demigod players?

A: Our focus mid-term will be to keep growing the MP community of Demigod.  So what we’ll be doing is sending lots of unique coupons to players. I.e. N% off on anything on Impulse type stuff.  So users who are active in Demigod will keep getting lots of heavily discounted stuff.

Q: What can I expect this weekend?

A: If you are willing to try the beta versions, we expect to release build 111 of the EXE along with our connectivity updates.  If you prefer the released version, we expect to release just the connectivity update.

Q: What should my expectations be of the connectivity update?

A: We’ve had to scale them back a little bit.  We had a huge breakthru last weekend but the time to take us to integrate that into Demigod itself is not incredibly fast (we’re external to Demigod so a lot of tricks have to be used to do some of what we do).  But below are some of the things we expect the new connectivity update to do:

  • A lot of people who couldn’t connect to games should be able to connect to games.
  • Getting into the lobby should be very fast
  • When players get into the lobby in custom games, they will initially only be connected to the host and have yellow, red or 0 pings to everyone else while the system connects them up.  Some people won’t be able to connect and the host will have to kick them (this is exactly how it was in Supreme Commander).  But it should work fine for most people.  Suggestion, if you get kicked and want to retry, wait a few seconds before rejoining.

Q: What about the proxy servers?

A: The proxy servers are up. However, the connectivity update does not use them. A subsequent one will but the proxy servers won’t be useful until we solve the “flakey” issue I mentioned earlier but many people who think they will need a proxy server may find the update works for them.

Q: What about Pantheon and Skirmish?

A: The plan is that people who don’t have much experience will have bots in their games and people with experience will only play against other humans. This determination is based on who is selected as “host”.  We want to make this more flexible in the future but we’re currently having the situation where new players like having bots and people who know what they’re doing don’t.  When we do clan wars, bots will not be allowed at all.

More to come as the day progresses.

 

Update: 9:48pm

This evening we got an even newer build from Gas Powered Games that addresses the issue of Demigods not chasing after a target after using an ability.  Since this change has been so heavily requested, we're going to integrate that into the beta build.  Once we finish integration and testing, we'll begin distributing it to our server farms.  We're still looking pretty good for this evening though - that's famous last words. -Brad

We’re still up

Published on Thursday, May 7, 2009 By Brad Wardell In Demigod Journals

Well, it’s apparently Thursday at 9:18am.  The dev team here is still here working on “Wednesdays” beta update.  As some of you know, while there have been updated to Demigod, we have not released any connectivity updates to the game yet because once we realized the architecture for the MP was inadequate, we concluded we needed to redo it.  We’re pretty close (that’s why we’re still here, it’s like a game in itself – one more turn…one more compile and then it’ll be ready). 

We’ll keep you posted.

Update 10:54am, Thursday

So as you know, we’re working on improving the included MP match making. What we have now is a night and day difference for most users. 

So what’s the issue?

Early on, a design decision was made that didn’t seem like a big deal at the time but is making getting this new system harder to debug. That is, the Raknet library connects a player to another player and then hands over the socket to Demigod itself. Once in the game, they are connected using a different port (that’s why Demigod uses more than one port currently). The problem is, the server is still trying to connect to the user on the old port and when it can’t it disconnects them after a time out.  Seems pretty trivial to fix (or at least it did to us) but that’s where we’ve been stuck for the past several hours is trying to figure out why it’s not removing the old record from its database. 

So we’re pretty spent at this point so we’re going to hand it off to the next crew and pick it up after we get some sleep.  It’s frustrating because it’s so close and it’s such a major improvement both in terms of speed (you get into the lobby in less than a couple seconds), reliability, and scalability (this should be able to handle huge numbers of connections).  But we can’t seem to get the bloody thing to remove the outdated record with the host’s old port address.

Example:

Joe on 10.1.1.10:6112 hosts a game.

Alice on 192.168.1.10:6112 joins.

The two connect and the socket is handed to Demigod and we’re connected to each other on port 6112 inside of Demigod.

Now, we start listening for more people to join and the port becomes 6114 for both of us.  But server still has a record of Joe on 10:1.1.10:6112, can’t ping it, declares him dead and no longer sees the user at all.

Like I said, it seems trivial to solve. At 3am, we were certain it we’d solve it in a few minutes. And at 11:05am (now) we are still there.

Now, a network savvy person (someone not me) will likely say how silly it is that it hands off the socket.  Both Stardock and GPG agree. It was one of those decisions made long ago that is annoying and is being addressed in parallel.

Which is something else I should point out: Think of the support of Demigod occurring in 4 parallel mini-teams.

You have team 1 which I’m directing which is focused on making the MP matchmaking in Demigod work well very very soon as in, by this weekend. BTW, favor points are fixed here now. This update will allow lots of people who can’t currently connect to connect (i.e. we had a lot of success with people who have never been able to connect).

You have team 2 which is headed by our chief architect (the Impulse team) that is working on better solutions but ones that will take longer (>a few days but < a month) which include things like the proxy servers, a more robust skirmish/pantheon match making system that takes ping into account rather than geographic location, supports larger teams, eliminates bots from experienced player matches, eliminates the multiple ports, and a ton of other things.

You have team 3 which is headed up by the lead engineer at Gas Powered Games. He’s working on things like making performance better for low end systems, adding modes so we can do Demigod: Clan Wars (free DLC for this Summer), implementing more robust rules for competitive play, bug fixes, etc.

And then you have team 4 which is headed up at GPG to work on new content and balance changes. New items, new Demigods, game rule changes, updated abilities, new maps, and so on.

Since I write most of the blogs, you mostly hear about Team 1.

Anyway, stay tuned.   In the meantime, have fun!