The Forums Are Now Closed!

The content will remain as a historical reference, thank you.

Critical Game State

By on August 6, 2009 4:36:05 PM from Demigod Forums Demigod Forums

So it seems when a desync happens now, the game ends automatically. I hope v1.2 brings some actual fixes for possible desynchronisation causes.

+74 Karma | 50 Replies
August 6, 2009 5:10:58 PM from Demigod Forums Demigod Forums

Hmm... the game ends or crashes? 

August 6, 2009 5:14:55 PM from Demigod Forums Demigod Forums

No the game ends regularly. It's like in Supreme Commander now (when a desync happens in an online game, the game will close itself automatically).

It's not a bad thing, but in the past you could continue to play, if the person who got desynced to the others quits (if it is just one who is desynced to the others). This is not possible anymore, apparently.

August 6, 2009 5:32:27 PM from Demigod Forums Demigod Forums

The game was unplayable anyway with that stupid message popping up every 2 seconds.

August 6, 2009 5:32:33 PM from Demigod Forums Demigod Forums

Hmmm...  Not sure I love this solution.

 

Quoting Spooky,
No the game ends regularly. It's like in Supreme Commander now (when a desync happens in an online game, the game will close itself automatically).

 

So does the game close or the round end?

August 6, 2009 5:34:50 PM from Demigod Forums Demigod Forums

Quoting Trigeminal,
So does the game close or the round end?
The round ends, just like if you are chosing end game from the menu.

August 6, 2009 5:43:58 PM from Demigod Forums Demigod Forums

I had the same thing in the game i just played, we had already won and the that message pops up and game ends

They should fix the problems with different languages of the game causing desyncs sometimes.

August 6, 2009 5:46:31 PM from Stardock Forums Stardock Forums

Quoting Shade,
The game was unplayable anyway with that stupid message popping up every 2 seconds.

That happened to me 2 days ago and yes, it is really annoying.

August 6, 2009 5:47:31 PM from Demigod Forums Demigod Forums

Well the system is good. No sense to play with desync anyway.
The thing needs to be fixed is "false desync". Sometimes when someone quits, its just 1 desync message and later is all ok. So I call this "false desync". Now, when this happens, game will exit (even if that wasn't real desync, just 1 random message).

August 6, 2009 5:59:48 PM from Demigod Forums Demigod Forums

I've had games desync one time when someone quit, then the desync does not appear again afterwards.  These games were recorded normally after being played to completion.  I take it that should this happen in the future, the game will just end. 8(

-- Tukulis

August 6, 2009 6:04:17 PM from Demigod Forums Demigod Forums

I just had this issue after 1 guy quit... getting nervous...

No record of the game ever being played (game was at least 10 min 3 human v 3 human)... wonder if this is the new host END GAME issue. 

August 6, 2009 6:33:08 PM from Demigod Forums Demigod Forums

Earlier some people forced disconnect to not record stats, now some people will force desync

August 6, 2009 6:35:29 PM from Demigod Forums Demigod Forums

I don't think it's possible to force a desync?

August 6, 2009 6:57:55 PM from Demigod Forums Demigod Forums

My concern is that the desync message might be the result of a) Host pressing END GAME or b ) old host disconnect exploit.  It might not be the case at all... the game I was playing in definitely appeared to be about the time the host would pull the plug.  One of his teammates had just quit about a minute before and then BOOM.  Desync and game disappears. 

August 6, 2009 7:00:57 PM from Demigod Forums Demigod Forums

Spooky - piece of cake! Of course i won't write here how to do this

 

Idea to GPG: Well there's easy way to deal with desync.

Just make new desync variable, set it as default to 0 and when someone desync (all others receive bad packets from him) increase it by 1. When it reaches 10, that person will be kicked and replaced by AI, so all others can finish the game, result will save, person who was causing desync will be outside the game and all will be happy (well... maybe except kicked person)

August 6, 2009 7:04:53 PM from Demigod Forums Demigod Forums

Quoting pacov,
My concern is that the desync message might be the result of a) Host pressing END GAME or b ) old host disconnect exploit.  It might not be the case at all... the game I was playing in definitely appeared to be about the time the host would pull the plug.  One of his teammates had just quit about a minute before and then BOOM.  Desync and game disappears. 
In my case too, actually.

August 6, 2009 7:33:36 PM from Demigod Forums Demigod Forums

That's funny, because there's still desync issues when people quit in SupCom and FA.

Guess it takes the production of a couple of games before they find that bug

August 6, 2009 8:16:56 PM from Demigod Forums Demigod Forums

Polynomial is trying a few different things to see if he can force a desync.  So far he did a 3 human v 1 human and hit end game as host.  http://pantheon.demigodthegame.com/game/835911/player/22215/.  No desync... showed him with a loss.

Second test... host disconnect via pulling the ethernet cord out.  This had interesting results.  This test setup was 2v1... poly + another computer on his network v me.  Poly (host) disconnects by pulling the ethernet cord out after 3.5 minutes.  The game persists as expected with AI taking over for him.  Poly gets on the other computer on his network and concedes.  The game ends.  http://pantheon.demigodthegame.com/game/835959/player/22215/.  The interesting part of this is that the game showed up under my stats immediately as a win, but did not show up under Polynomial's stats AT ALL.  I refreshed, looked him up, looked myself up, looked him up again and he still had no record of the game.  His other ID had a loss (as expected).  After 2-3 minutes, I looked him up again and the record appeared.  So, it looks like the original host disconnect (I pulled the plug on my router - has been resolved)... but there was a screwy delay between when he got any stats posted to his name.

August 6, 2009 10:03:24 PM from Demigod Forums Demigod Forums

Quoting pacov,
Polynomial is trying a few different things to see if he can force a desync.  So far he did a 3 human v 1 human and hit end game as host.  http://pantheon.demigodthegame.com/game/835911/player/22215/.  No desync... showed him with a loss.

Second test... host disconnect via pulling the ethernet cord out.  This had interesting results.  This test setup was 2v1... poly + another computer on his network v me.  Poly (host) disconnects by pulling the ethernet cord out after 3.5 minutes.  The game persists as expected with AI taking over for him.  Poly gets on the other computer on his network and concedes.  The game ends.  http://pantheon.demigodthegame.com/game/835959/player/22215/.  The interesting part of this is that the game showed up under my stats immediately as a win, but did not show up under Polynomial's stats AT ALL.  I refreshed, looked him up, looked myself up, looked him up again and he still had no record of the game.  His other ID had a loss (as expected).  After 2-3 minutes, I looked him up again and the record appeared.  So, it looks like the original host disconnect (I pulled the plug on my router - has been resolved)... but there was a screwy delay between when he got any stats posted to his name.

 

Odd,.. behavoir, but good outcome.  We'll have to keep an eye on this.  Thanks for doing some testing guys.

 

Quoting Poul,
Spooky - piece of cake! Of course i won't write here how to do this

 

Idea to GPG: Well there's easy way to deal with desync.

Just make new desync variable, set it as default to 0 and when someone desync (all others receive bad packets from him) increase it by 1. When it reaches 10, that person will be kicked and replaced by AI, so all others can finish the game, result will save, person who was causing desync will be outside the game and all will be happy (well... maybe except kicked person)

 

Love this idea!!!  Look at this gpg, problem solved.

August 7, 2009 9:18:52 AM from Demigod Forums Demigod Forums

Quoting Poul,
Just make new desync variable, set it as default to 0 and when someone desync (all others receive bad packets from him) increase it by 1. When it reaches 10, that person will be kicked and replaced by AI, so all others can finish the game, result will save, person who was causing desync will be outside the game and all will be happy (well... maybe except kicked person)

 

Could work I guess, I imagine a single person who is causing the desynch would report recieving bad data from everyone else in turn. But with multiple people reporting the real cause they should reach the limit before anyone else so they might not even need to work in a majority rules system, just let the numbers add up.

August 7, 2009 9:50:58 AM from Demigod Forums Demigod Forums

if a desync is detected just pause the game a second and resync all data so they can continue to play on a fully synced game.

only if there is a missing connection between to players becasue they were previously proxied by another player that quitted it should end the game if it is not possible to proxy through another player.

August 7, 2009 10:01:34 AM from Demigod Forums Demigod Forums

@Poul: I like the idea.

 

if a desync is detected just pause the game a second and resync all data so they can continue to play on a fully synced game.
That would be a huge amount of data. In SupCom we would be looking at ~50mb, probably a little less in Demigod. Still, resyncing would take a serious redesign of engine, netcode and it would take a long time ingame to transfer the required data. Longer than most player would be willing to wait.

August 7, 2009 10:10:44 AM from Demigod Forums Demigod Forums

no it isn't much data cause until the first desync happend all is synced. we are only talking about the difference. there is a last synced satus just a short time in the past.

 

it even does not need any design changes in the netcode just an additional function that interrupt the whole process and gathers data from the other players the data of the last game seconds. that's all.

 

what could take longer time is to proxy a player if not all are connected after someone has left. but this could be timedout and replace this player by ai.

 

it's as simple as it sounds. i'm not talking theoretically, i have the experience with such things.

August 7, 2009 10:25:46 AM from Demigod Forums Demigod Forums

no it isn't much data cause until the first desync happend all is synced. we are only talking about the difference. there is a last synced satus just a short time in the past.
In order to find the point where it desynced, you'd have to re run the simulation from the start of the game. This would take a long time.

August 7, 2009 10:35:46 AM from Demigod Forums Demigod Forums

Quoting Spooky,

no it isn't much data cause until the first desync happend all is synced. we are only talking about the difference. there is a last synced satus just a short time in the past.In order to find the point where it desynced, you'd have to re run the simulation from the start of the game. This would take a long time.

no you don't. you now exactly when it happend. the game already detects this moment on the fly. that's plain wrong. that's why the game comes up with a desync message box. you know that the desync has been caused by an leaving player. the popup comes just a second afterwards. so short is the timedifference between the last synced status and the desynced one.

 

edit: if they haven't obciously implemented an on the fly method to detected an desync i would have suggested one. but they already have one. so no you don't need to get all over the sim-data to find it. at the moment it happens it is already known. => easy to resync.

August 7, 2009 11:15:47 AM from Demigod Forums Demigod Forums

I bet desyncs are mostly caused on purpose by cheating. You simply get certain software that lets you monitor the state of your machine and go through the demigod process by searching certain numbers you know like your current health. Once figured out where in the ram its stored you write a small application that overwrites it with a different number and bam desync. Its a nice way of screwing you out of a victory. And the best thing is nearly any noob programmer can do it. Not saying its done exactly that way with health could be alot of other things too probably overwriting random game state adresses would do the same. Just be sure to not kill the demigod exe ^^

Stardock Forums v1.0.0.0    #108436  walnut3   Server Load Time: 00:00:00.0001641   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.