敵キャラクタを出現するかテストを実施し、「不具合が発生する」ことを確認する

目次

  概要
  敵キャラクタを登場させる
  単独で動作テストをする
  アプリケーションを再度作成する
  複数クライアントで動作テストをする


概要

敵キャラクタの出現処理が正常に行われるかどうかを確認する

  先のページのネットワークを介したプレイヤーキャラクタの同期ができるようになりましたが、まだ問題があります。

  現在、ステージ上のアイスキャンディを取っても、敵キャラクタであるテディベアが登場することはありません。
  敵キャラクタをプレハブ化したあと、そのまま何もせず放置しているからです。

  改めて、敵キャラクタを登場させ、プレイヤーを襲うようにしましょう。

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

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

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

  ご了承ください。


単独で動作テストをする

単独で、敵キャラクタがきちんと動作するかどうかを確認する

  ここまで組み込んだところで、敵キャラクタがきちんと動作するか確認をしてみましょう。
  Unityエディタ上の実行ボタンを押してください。
  実行してアイスキャンディを取ると、無事敵キャラクタが出現し、行動することが分かります。


アプリケーションを再度作成する

実行バイナリを生成する

  何度も繰り返しになってしまいますが、複数クライアントでのマルチプレイをテストする前に、再度実行バイナリを生成する必要があります。

  Unity のメニューから File > Build Settings... を選んでください。
  ビルドします。

  先述同様、ビルド方法が Unity2018.2 以前と Unity2018.3 以降で異なりますので、
  お使いの Unity のバージョンに合わせて、以下のいずれかを選択してビルドしてください。

  先に作成している Test03.exe を選択し、そのままファイルを上書き保存してください。



  先に作成している Test03 フォルダーを選択し、そのまま上書き保存してください。


複数クライアントで動作テストをする

複数クライアントで、敵キャラクタがきちんと動作するかどうかを確認する

  続けて、複数クライアントで、敵キャラクタがきちんと動作するかどうかを確認します。
  一見すると正常に動いているように見えますが、実際に動作をよく見てみると、以下のような点が正常にできていません。
・ 敵キャラクタの行動が同期していない。 互いに「自身のクライアントのプレイヤー」を選んで攻撃している。
・上記動画の左側では「左側で操作しているプレイヤー」を、右側では「右側で操作しているプレイヤー」を狙うばかりで、弾が表示されない。
  次のページから、これを修正していきましょう。