Contents — 6 sections
RicochetTanksで2つのVRChatアカウントを同じ部屋へ入れた。
両方のClientが起動。
同じWorldへ入る。
戦車も見える。
画面だけ見ると、かなり「Multiplayerが動いた」ように見える。
でも、そこまでは言わなかった。
理由は単純。
同じ部屋に入れたことと、対人ゲームが成立することは別だから。
確認できたこと
当時確認できたのは、
- 2アカウントが同じroomへ入る
- 両ClientでWorldが表示される
- 見た目のAssetが読み込まれる
あたり。
これは意味のある前進。
少なくとも、2Client起動と同室までは通る。
確認できていないこと
一方で、
- Seatの交代
- Player間の戦車同期
- 砲塔同期
- 弾の同期
- hit判定の権威
- human-vs-human
- round進行
- 勝敗同期
は別。
実際、M0時点では戦車や砲塔は相手側へ同期していなかった。
それは次のM1 scope。
Screenshotは強く見えすぎる
2画面に同じWorldが映っているScreenshotは、かなり説得力がある。
でも画像だけでは、
「同じ部屋にいる」
以上のことは分からない。
同期しているか。
同じStateを見ているか。
対戦できるか。
そこは別のEvidenceが必要。
Multiplayer QAは段階を分ける
たとえば、
- 2Client起動
- 同一room参加
- Avatar / World表示
- Object sync
- Seat / ownership
- projectile sync
- damage authority
- round state
- human-vs-human
と分ける。
途中までPASSでも、最後まで行ったことにはしない。
「動いた」の意味を狭くする
開発報告で一番危ない言葉の一つが、
「動いた」
だと思っている。
2Clientが起動した。
動いた。
同じ部屋へ入れた。
動いた。
でも、それぞれ意味が違う。
だからRicochetTanksでは、何が通ったかを細かく書くようにした。
いまの結論
2アカウントが同じVRChat roomへ入った。
それはPASS。
でも、
対人戦が成立した、ではない。
Multiplayerは「接続できた」から先の方が長い。
PicoTowaでは、その途中経過も完成扱いせずに残していく。
Signal / 観測記録
この記録への観測を送る
反証、