BROKEN Steel. Get it? Because the installer for PC and live achievements on Xbox are broken! Damn I’m clever. Come on Bethesda, I love the stuff you’re making, but it never seems to work right.
Okay, that bad joke aside, I’ve talked a bit to Brad Wardell, AKA, the CEO of Stardock, and he’s been active on plenty of forums as of late trying to take care of Demigod’s MP issues. He’s been spectacularly honest about how it’s all going and it’s great to see how much effort is being put into fixing this immediately, because when it works, Demigod is a ton of fun (thankfully, there are third party services like GameRanger that work well for playing right now). But for too many people, the P2P networking just isn’t cutting it, which Stardock is actively working to fix. In fact, I just got this from Wardell:
“We’re actually here at the office right now (11pm) with a dev team of 11 people working on this issue.”
Since he’s gone into quite a bit of detail on things, I’m going to put up some quotes from recent forum posts of his. It offers a better insight than anything I could paraphrase anyway!
“The Demigod launch is definitely really bringing up to roost the sad state of networking affairs on the PC.
In Supreme Commander, GPGNet was used and what it did was NAT traversal between players. Players who couldn’t be connected would show up with yellow or red pings in the SupCom lobby and the host would have to decide to kick them out.
It wasn’t a huge deal in SupCom because most people didn’t play MP and those who did, were technical enough to open up their ports.
With Demigod, the difference is that the player has to connect to everyone already in the lobby, not just the host in order to get into the lobby. That means, if there is 1 user in the lobby who can’t connect to more than a couple of people (for a variety of reasons) they can keep everyone else out.
The false assumption in Demigod was that a person who could connect to 1 person could connect to 8 other people and that’s just not the case. That edge case wasn’t identified.
The next false assumption is that because there were few complaints about Company of Heroes or SupCom, that the NAT system in Demigod would work fine. But CoH and SupCom are mostly played single player by the more casual part of the base. By contrast, Demigod is mostly played multiplayer.
As a result, a lot of people who normally wouldn’t even be trying an RTS MP are now in that mix which aggravated the first false assumption.
It particularly aggravates it because for Demigod, a new type of “Super NAT traversal” was made. For those who have opened ports and such, it works like every other game. But for those who don’t have normal network configurations, it apparently does a lot more but the result is that it uses a LOT of server resources to do it. As a result, what worked fine for a random sample of say 500 people fell apart at 5000 people and you still end up with edge cases that can thwart everyone.
Here’s an example edge case: Some ISPs we believe are limiting the number of peer connections they allow a user to make somehow. That person connects to host of a game fine, gets in. But then, nobody else can connect to them and he blocks everyone from getting into the game.
This was figured out quite quickly. But the solution isn’t something that can be engineered overnight.
Here’s basically how the solution works:
1. You have to let people get into the lobby even if they’re not connected to everyone else.
2. Once in the lobby you try to direct connect or NAT connect to each other. If that fails, we try to use proxy servers to connect them. if that fails, they will appear with a yellow ping and the host will have to decide whether to kick them.
This is non-trivial to implement because, as some people know, Stardock didn’t develop Demigod. GPG did, including the networking. The networking in Demigod works fine as a unit test just like the connection servers work fine as a unit test. But integrating the two without requiring a lot of changes to Demigod is a significant task.
It is my hope that it will be solved tomorrow.
Now, that said, and this is depressing, in the last 2 weeks I’ve talked to enough people in the industry off the record to realize that in terms of RTS’s, what Demigod is experiencing isn’t atypical. It’s just that Demigod’s *multiplayer* userbase is a different demographic than the multiplayer user base of say a Supreme Commander or a Company of Heroes.
But regardless, it has to be made bullet proof and THEN once it is made bullet proof, Stardock will have to put in extra effort to make sure the MP community stays large through contests with prizes, coupons, you name it.”
The first connectivity patch is scheduled for tomorrow at this point, though that may change.
There’s some real, brutal honesty too about the success or failure of the game, and the understanding that from a player side, it doesn’t matter why it’s happening, only that it is.
“Well my feeling is, if Stardock/GPG can’t solve the MP issue this week then Demigod deserves to go down in flames.
And before someone reading this thinks I’m trolling, I’m the CEO of Stardock (I have gotten flamed on our forums for “attacking” Stardock and Demigod).
I don’t CARE what the technical issues are. I know what they are — against my will I know them. But I don’t care and neither do gamers. The damn MP just needs to freaking work for the vast majority of users. Period. End of story.
If I wasn’t on the inside, I’d be screaming “how the hell did the MP in this game get released?!” Except in beta, it worked really well. We had 10 player MP games online routinely.
Long story short: ANY MP centric game must have a very large free PUBLIC beta test. Period. As in, 10s of thousands of players.”
I don’t think any of us who haven’t programmed a multiplayer game realized just how far back things are with network. Windows has integrated plenty of standards for video and audio, but for networking, nothing.
“With the information we know NOW, we know how things should have been done. Unlike with 3D where we have DirectX to make use of, MP on the PC is still basically like the DOS days where each game has to pretty much do this stuff from scratch.
Even with Demigod, we licensed a recommended third party network library (Raknet) which, as [the prior poster] pointed out, has problems with multiple IPs.”
Hopefully you’ve learned something interesting from this, I know I have. And it’s nice to know that Stardock is going to keep working until this is fixed, even if it takes some time. There’s not a lot of companies I’d believe when they say they’re putting customer satisfaction on top, but not many companies let people get a refund on the game when it had major launch problems like Stardock did.
“I also feel that I have a moral obligation to tell customers what is happening and what we are doing about it. These people paid $40 for the game and they don’t care whose problem it is. They just want to play their game.
It’s not that I’m emotionally involved with the game. But I feel personally responsible for any problems the game has and I think that’s a good thing.
Everyone who starts a business has a motivation to do so. My motivation is because I wanted to have a company that does things a certain way. And one of those things is responsibility to the customer.”