01/11/08 16:35
>>88 >>97-98
もう少し考察を進めて、本当に同期が必要なのかを考えたほうが
いいのかも。
たとえば、プレイヤーは複数の画面を同時に見ているわけじゃないので、
他のプレイヤーと全く同じ状況が表示されているかどうかってのは、
プレイヤーにとって関係ないことである。
一方で、サーバはそれ自体で閉じていて、内部データも(1台なので)
完全に同期している(当然)。
で、上から、
(1) プレイヤーの画面に反映された他のプレイヤーは、別に自分と
同期している必要はない。
たとえば、他のプレイヤーの行動がたとえ数秒前の入力だとしても、
そいつが自分に関係ないならべつに関係ない。
(2) サーバに入力されたプレイヤーの入力がたとえばらばらな時間に
実際に操作されたものだとしても、サーバは、それを同時刻に行われた
操作として処理しても問題ない。(内部データは破綻しない。)
ということで、別に同期を取る必要はない、
ということになるんじゃないかな。
もしくは、同期を取る対象に優先順位をつけるとか。
つまり、プレイヤー個々の画面で矛盾のない(少ない)がめんが
表示できればいいんじゃないかな?と。
(もちろん不公平が起きてしまう可能性もあるがマクロで見れば、
問題ないと思う)。