Kurosu wrote: > Hi, > > Florian Köberle a écrit : > >> Option (c) seems to be quite tricky to me. The main problem is that >> locally games stay synchronous for me and I guess it will be the same >> for any other developer which doesn't own two machines. So how do you >> want to find out that your resynchronization works? One idea to test it >> locally would be VMs but I don't know if they are fast enough if they >> simulate another architecture. >> > > Using the headless servers forces, I think, traffic to go back and forth > through that server. At least that is my supposition after seeing > "waiting for player..." with one computer running 2 games connected to > that kind of server. > It's correct that if you use a headless server that the traffic will go to the headless server and back to you when you connect with two local clients. This doesn't help in this case because the problem is not the network delay but the fact that Wormux might calculate different results for different machines.
The headless server doesn't run the game like a Wormux instance. Instead it is more ore less just forwarding packages and notifies the connected clients about leaves and joins of new clients. That's why we can't just use a headless server on an different architecture to test if Wormux synchronizes well. > >> Another option (d), which can also be combined with (a) and (b) is to do >> a calculation test which results in a hash of multiple calculation >> results. That hash gets then used to determine if a player can play with >> another player without a loss of synchronization. >> > > It seems unpractical. Even a different version of the same compiler can > produce output different from another one on the same computer, for > instance because of a slight difference in instruction scheduling by > those compilers. Maybe not that common, but it may happen in some deep > part inside of wormux. Then your computation will say "reject player B > (also x86-64 but under Mandriva rather than Ubuntu) and accept player > C". But too bad, if most computations are identical, one is going to be > messed. And if you want to distinguish that far, you may end up with no > one able to connect to one another. > > And that's just a slight problem compared to the problem of the gamer > frustration for not being able to join a game. > My experience with playing with 0.9.0 was that there were two sorts of players: a.) Players with which I could play game after game without any problem. b.) Players with which I couldn't play because the game would sooner or later run out of sync. So I actually started asking players what platform and Wormux build they are using to find out in advance if we would have a nice game or not. Sometimes I then suggest that player A plays with B and player C with me instead of playing a game with all three which would run sooner or later out of sync. That's where the idea comes from. Of course it would be cool if this option (d) would not be necessary. Best regards, Florian _______________________________________________ Wormux-dev mailing list Wormux-dev@gna.org https://mail.gna.org/listinfo/wormux-dev