Greetings!
Yesterday, we released the long promised connectivity update. And the results seem to be very positive.
On Launch day
To illustrate what has happened since the launch day:
Demigod on launch day was a pure peer to peer networking game in which everyone connects to everyone else. This reduces lag since you are talking directly to the other user rather than through a server.
Developer Gas Powered Games had previously used a program called GPGNet for Supreme Commander. GPGNet is an external program that handled all of the connectivity features for that game. Unfortunately, it had essentially been retired so it wasn’t an option for Demigod. To solve that, we licensed a third party solution to take its place. We won’t dwell on the details of how things went since it’s been covered a great deal.
That put us all in a very difficult position. The connectivity issues had to be solved (obviously). It also became pretty clear that a largely new system from scratch that was far more robust was needed and needed fast. So who would develop it? There were four obvious options: Gas Powered Games, Stardock, Atari or Raknet.
If GPG had to develop it, that would take time and resources away from updating the game itself. That would mean fewer new features. Raknet could do it but it would take time and it’s not “their game”. Atari is a traditional publisher and it did not make sense to ask them to intervene at the 11th hour. That left Stardock. Since Stardock develops games and already has a robust networking program (Impulse) it was the logical choice.
So over the last 6 weeks, we have created a new connectivity system.
How it works now
Bob tries to connect to Jill. If they’ve both set up their routers right, they connect and all is well.
else
Bob and Jill now call what we call CVP (Common Virtual Platform) which now talks to code developed by Stardock to find a way to connect them together.
if that still fails..
Then Bob and Jill will actually connect through a proxy server. I.e. the game becomes quasi-client/server as we host the traffic for them. To make that work, we had to set up servers in Europe, Australia and North America (for starters).
Then, we had to write software (and license some) that would, based on your IP, give us the player’s latitude and longitude (I kid you not) and then go to the nearest proxy server.
So that’s what was released yesterday.
Ramifications
So the good news is that pretty much anyone can connect to anyone else. If you still have problems connecting you need to let us know because at this point, we’ve done basically everything that is theoretically possible including making Demigod a hybrid client/server game for players.
If you are currently using /serverproxyonly you can get rid of it now (and should) because it will now likely work in one of the other methods and if all else fails, it’ll still go to the client/server type setup.
Version 1.1
I have in my hands a release candidate from Gas Powered Games for v1.1.
Here are a few things we are looking for in v1.1
- Team concede. If it looks like you’re going to lose, your team and vote to concede and end the game so you can go to the next.
- Speed debuffs have a minimum move speed now.
- Better chat handling for better visibility
- When you sell a minion idol, existing units are destroyed.
- Updated computer AI
- Random Demigod option
- Bunch of other tweaks, fixes, enhancements.
High on our list is the handling of replays.
The demo version of Demigod is also in our hands based on this same code. So over the next few days we’ll be going over this.