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.

> 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.

Best regards,
Kurosu

_______________________________________________
Wormux-dev mailing list
Wormux-dev@gna.org
https://mail.gna.org/listinfo/wormux-dev

Répondre à