複数クライアントでのテストを実施し、「不具合が発生する」ことを確認する

目次

  概要
  複数クライアント動作のための準備
  アプリケーションの作成
  複数クライアントで動作させてみる


概要

ネットワーク通信に問題がないか、改めて確認してみる

  単体テストが終わったところで、複数クライアントを使用して、その動作を確認してみましょう。

【注記】このページでは「不具合が発生する」ことを確認するまでのプロセスを説明します。

  先に言及すると矛盾しますが、このページで実行した結果、
  複数クライアントでのマルチプレイは正常動作しません
  正常動作する結果を得るためには、次ページ以降の内容を組み込む必要があります。

  通常のゲーム開発における「オフラインゲームのオンライン化」の際の「よくある不具合」として、
  ケーススタディとして押さえてもらうために、敢えてこのようにしております。

  ご了承ください。


複数クライアント動作のための準備

バックグラウンドでの動作を有効にする

  前章、および前々章でも触れていることなのですが、
  Mecanim GDC2013 Sample Project によって、プロジェクト設定が変更されている場合も考えられますので、
  改めて、バックグラウンドでの動作を有効にしているか確認しましょう。

  まず、一旦 Unity エディタ上での実行を停止してください。
  Unity のメニューから Edit > Project Settings > Player を選択します。
  PlayerSettings の「Resolution and Presentation」内にある、「Run In Background」のチェックボックスが ON になっているか確認してください。
  もし、OFFになっていた場合には、チェックボックスを ON にします。


アプリケーションの作成

実行バイナリを生成する

  では改めて実行バイナリを生成しましょう。
  Unity のメニューから File > Build Settings... を選んでください。
  前章、前々章に登録しているプロジェクトがある場合、そのチェックボックスをOFFにしましょう。
  (無ければ無い状態のままで構いません)
  Scenes In Build 右下の [Add Current] ボタンを押します。
  シーンの登録が終わったら、Build Settings ウィンドウ内の右下にある [ Build ] のボタンを押します。
  ここからビルドしますが、ビルド方法が Unity2018.2 以前と Unity2018.3 以降で異なりますので、
  お使いの Unity のバージョンに合わせて、以下のいずれかを選択してビルドしてください。

  ファイル名を Test03.exe として保存します。
  しばらく待つと、新規ファイル Test03.exe が出来上がります。



  まず「新しいフォルダー」をクリックし、新規フォルダを作成します。
  新規に作成したフォルダーに名前を付けます。ここでは「Test03」としましょう。
  フォルダに「Test03」が選択された状態で、[フォルダーの選択] ボタンを押下します。
  ボタンを押すとビルドが開始され、さらにしばらく待つと、先ほど作成したTest03フォルダ内に「MUN_TEST.exe」が作成されます。


複数クライアントで動作させてみる

実行バイナリとUnityエディタの両方を使って、マルチプレイ動作確認を行なう

  Test03.exe を実行すると、以下のウィンドウが出現します。
  お使いのディスプレイ解像度よりも低いスクリーンサイズで、かつウィンドウモードを有効にした状態で、[ Play! ]ボタンを押してください。
  一方で、Unityエディタ上の実行ボタンも押します。
  起動したら、片方のクライアントで「ルームを作成」します。
  一方でルームを作成し入室すると、もう一方のクライアントで「ルーム名」のボタンが現れますので、そのボタンを押してください。
  後は動かすだけ、なのですが。
  動かしてみると以下の不具合が見つかります。
・ 位置は同期しているが、アニメーションが同期しない。
・ 自分のキャラクタを動かそうとすると、相手のアニメーションが動こうと頑張っているように見える。
  またしても「不具合」ですが、これに対処しなければなりません。
  次のページから、この不具合に対応すべく、適切な処置を施していきましょう。