Feelin Games ロゴ

オンラインマルチプレイ対応を実装中

プレイヤーの位置・状態の同期はひと段落し、今は、オブジェクトの位置・状態の同期、ワールド区画の状態の同期に取り掛かっている。しばらくは、この実装の期間になるだろう。 オンラインマルチプレイのリアルタイム同期では、ラグと通信未達が起こる前提での設計が必要だ。

オンライン・ワールドで、こういうことを起こす。

自分のワールドで、目の前のオブジェクトを拾う、置く、移動する。遠隔オンラインの他のプレイヤーのワールドから、そのオブジェクトが、拾われる、置かれる、移動される。

なお、Feelinでは、自分が所有している土地区画では、自分しか建築できない。オープンな区画では、自分と他のプレイヤーが建築、つまりオブジェクトの操作ができる。

オンラインマルチプレイ 建築ゲーム

時間差、ラグがあると

  • 同時に同じオブジェクトを拾える
  • 同時に同じ位置に新規オブジェクトを置ける
  • 同時に同じオブジェクトを移動できる

通信未達、失敗があると

  • オブジェクトを拾った を受信しない。自ビューでは残ったまま。
  • オブジェクトを置いた を受信しない。自ビューでは置かれていない。
  • オブジェクトを移動した を受信しない。自ビューでは移動していない。

これらラグ、通信未達のため、自分のビューと他のプレイヤーのビューで、パラレルワールドに分岐するのた。プレイヤーは、移動するので、オブジェクトにめり込んだり、見えないオブジェクトの上に乗っていることが発生する。

ラグがなくなるまで処理の確定を待つか、通信成功まで繰り返すか、ある状態の不一致は許容するとするか、ゲーム仕様を検討していこう。

Tweet