GameLift RealtimeServer SampleGame「MegaFrogRace」を動かしてみた ~ローカル対戦編~

2020.12.13

どうも、コンサルティング部の後藤です。

皆さん、Mega Frog Raceをご存じでしょうか?Mega Frog RaceはGameLiftのRealtimeServerの機能を試すことが出来るサンプルゲームになります。

たった数行のJavaScriptで作るマルチプレイヤーモバイルゲームのサーバー

今回はこちらを実際にGameLiftのRealtimeServerでセッション、対戦出来るようになるまで試してみました。個人的にハマりポイントが多く1つの記事にまとめると長くなりそうだったので、本記事はMega Frog Raceをローカル環境で動かすまでをまとめたものになります。

事前に準備するもの

・ソースコード

megafrograce-gamelift-realtime-servers-sample

・ビルド環境

  • Visual Studio 2017
  • Unity 2018

・使用するSDK

上記を準備していきます。また、ローカル環境はWindowsになります。

GameLift Realtime Clinet SDKをVisual Studio 2017でビルドする

GameLift Realtime Clinet SDKをダウンロードして、zipを解凍します。Visual Studio 2017で解凍したフォルダ内にあるソリューションファイルGameLiftRealtimeClientSdkNet45.slnを開きます

次にソリューションエクスプローラーを開き、NuGetパッケージを復元します。

NuGetパッケージが復元出来た後、ビルドを実行します。(NuGetパッケージを復元しないとビルドが失敗してしまいました。

ビルドが完了すると、GameLift_Realtime_09_03_2019\GameLiftRealtimeClientSdkNet45\bin\Debugの配下に幾つかのファイルが作成されます。そのうち、以下のファイルを後々使用します。

  • GameLiftRealtimeClientSdkNet45.dll
  • Google.Protobuf.dll
  • log4net.dll
  • SuperSocket.ClientEngine.dll
  • WebSocket4Net.dll

MegaFrogRaceをUnityでビルドする

MegaFrogRaceはUnityバージョン 2018.3.12f1 で作成されています。ブログ執筆時点では、UnityHubでは以下のバージョンがインストールできました。

  • Unity 2020.1.17f1
  • Unity 2019.4.16f1(LTS)
  • Unity 2018.4.30f1(LTS)

MegaFrogRaceのバージョンに合わせるため、今回はUnity 2018.4.30f1(LST)をインストールしています。

プロジェクトから「リストに追加」を選択してソースコード内にあるMegaFrogRaceのフォルダを選択します。

プロジェクトが開けたら、「アセット」→「パッケージをインポート」→「カスタムパッケージ...」を選択してAWS Mobile SDK for Unityに含まれるAWSSDK.Lambda.3.3.112.2.unitypackageをインポートします。

次に、Assetsフォルダ配下にRTSAPIというフォルダを作成し、GameLift Realtime Client SDKをビルドした際に作成された5つのファイルを設置しておきます。設置すると、Unityで以下のように見えるようになります。

もう一つ、Assetsフォルダ配下にDOTweenのフォルダを設置します。DOTweenを設置すると、Unityにて以下のような画面が出力されるので、Open DOTween Utility Panelを選択します。

その後また違う画面が出力されるので、Setup DOTweenApply を選択します。

これで、フォルダ類は全て整いましたので、次はビルド設定を行っていきます。

「ファイル」→「ビルド設定」を選択。ビルドに含まれるシーンの枠の中にScenesフォルダのgame,titleのアイコンをドラッグ&ドロップします。

「編集」→「Project setting」→「入力」を選択、軸を展開して以下を変更します。

  • サイズを20に変更
  • 提出を展開
    • 名前を HopP1 に変更
    • 正方向を space に変更
  • 提出を展開
    • 名前を HopP2 に変更
    • 正方向を right shift に変更
    • 正方向(副)の設定を空にする

上記設定が出来たら、再度「ファイル」→「ビルド設定」を選択。「ビルド」を選択します。

ビルド展開先のフォルダを新規作成して、そのフォルダを選択します。(既存のフォルダを選択するとエラーが出る?

ビルドが成功すると、以下のようにMegaFrogRace.exeが作成されます。

ローカルで遊んでみる

MegaFrogRace.exeを選択するといよいよMega Frog Raceが遊べます。解像度は1280x800が丁度良さそうな気がします。

今回はローカル環境で遊ぶため、右下にあるQUITを選択してLocal MultiPlayerを選択すると、遊ぶことが出来ます。上(恐らく1P)はSpace、下(恐らく2P)はright shiftでジャンプする事が出来ます。

まとめ

MegaFrogRaceをローカル環境で遊ぶところまでをまとめてみました。今回UnityやVisual Studioを初めて使って分からない事だらけだったので、動いた時は滅茶苦茶嬉しかったです。次はGameLiftのRealtimeServerを使ってマッチングをさせ、ネット対戦出来るところをご紹介出来ればと思います。