サーバー上にある試合進行を管理する有限状態マシンにそのままインターネットを介して入力や出力をさせようとしたので、そのそれぞれが届かなかったときにどうするか、という分岐が一つ一つの入出力に対して、クライアントとサーバー両方で必要になってきて、結果として状態の組み合わせ爆発というか、そんなかんじで着手不能になったのであった。

たとえネットワークゲームのシステムで唯一に存在するような状態マシンだとしても、そのクローンのようなものを各クライアントがそれぞれ保持し、通信に責任をもつパートはそのクローンを常に正常な状態に保つことだけに専念し、入出力はそのクローンに対して行うべきなのであった。

結果としてクライアント同士での情報が、唯一存在する有限状態マシンのどの状態のもとでの情報なのかはまったく確信がもてなくなるのでそこは対応するべきだと思われる。

ところでクライアントとサーバーが必ず直接接続されてるならこんな心配いらないんだな。もう一つのクライアントにリレーしてもらってサーバーへ到達しているクライアントもいるので、繋がってるのかどうなのか送る瞬間に確信が得られない。そういうシステムなので、いちいちいらんことで頓挫するんだな。