1 |
[quote]Since every client is simulating the game indpendently, there are two situations:
|
1 |
[quote]Since every client is simulating the game indpendently, there are two situations:
|
2 |
1) The game is synced - everyone share the same state.
|
2 |
1) The game is synced - everyone share the same state.
|
3 |
2) The game is desynced - not everyone share the same state.
|
3 |
2) The game is desynced - not everyone share the same state.
|
4 |
\n
|
4 |
\n
|
5 |
There is no correct state and wrong state (how would I know which is which).
|
5 |
There is no correct state and wrong state (how would I know which is which).
|
6 |
The error message is based on the order in which checksum packets reach the host (that's why the error changed in the example you quoted).[/quote]
|
6 |
The error message is based on the order in which checksum packets reach the host (that's why the error changed in the example you quoted).[/quote]
|
7 |
\n
|
7 |
\n
|
8 |
I knew all that, except about the order of packets.
|
8 |
I knew all that, except about the order of packets.
|
9 |
\n
|
9 |
\n
|
10 |
Let me rephrase the questions:
|
10 |
Let me rephrase the questions:
|
11 |
Are checksums compared in player-player pairs?
|
11 |
Are checksums compared in player-player pairs?
|
12 |
And host doesn't try to find which gamestate is shared by most clients? (which we later could call the "most correct" one)
|
12 |
And host doesn't try to find which gamestate is shared by most clients? (which we later could call the "most correct" one)
|
13 |
So when comparing checksums it only uses info about these two clients, and ignores data from others?
|
13 |
So when comparing checksums it only uses info about these two clients, and ignores data from others?
|
14 |
\n
|
14 |
\n
|
15 |
When checksums differ between these two at least one of them differs from the rest. Then sync error message only prints name of one randomly chosen player from the pair (based on packet order which can be considered random), right?
|
15 |
When checksums differ between these two at least one of them differs from the rest. Then sync error message only prints name of one randomly chosen player from the pair (based on packet order which can be considered random), right?
|
16 |
\n
|
16 |
\n
|
17 |
So the final question:
|
17 |
So the final question:
|
18 |
When
we
get
sync
error
message
containing
player
name,
do
we
know
his
state
differs
from
the
rest,
or
it
is
entirely
possible
it
just
differs
from
1
other
player,
who
in
fact
is
the
one
which
differs
from
the
rest?
|
18 |
When
we
get
sync
error
message
containing
player
name,
do
we
know
his
state
differs
from
(
most
of)
the
rest,
or
it
is
entirely
possible
it
just
differs
from
1
other
player,
who
in
fact
is
the
one
which
differs
from
the
rest?
|