Amazon GameLift 入門 #4 ゲームセッションの作成と接続

eyecatch_amazon_gamelift

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ゲームをプレイしてみよう

Amazon GameLift (以下 GameLift) はマルチプレイヤー向けのゲームのサーバーアプリケーションのデプロイや運用、監視などを行うことができるマネージドサービスです。ゲームのために最適化されたサーバーを簡単に構築することができます。

概要は下記をご参照ください。

以下で公開されている「Amazon GameLift Getting Started」に沿って、サンプルプロジェクトを動かすことができます。

前回はサーバーのデプロイにあたるフリートの作成を行いました。今回はこのフリートを使って、ゲームセッションを作り実際にゲームで遊んでみます。

ゲームクライアントのビルド

これまでサーバーアプリケーションを取り扱ってきましたが、サーバーの構築は済みましたので、次にこのサーバーにアクセスするゲームクライアントとなるアプリケーションをビルドします。

と言っても、サンプルのアプリはコマンド一発でビルドできるように作られているので、かなり簡単です。PCのスペックによっては少し時間がかかることがあります。

$ cd C:¥Lumberyard¥dev
$ lmbr_waf.exe configure build_win_x64_profile -p game_and_engine --progress

configure コマンドを使うと LumberyardLauncher によるビルドをバッチモードで処理することができます。

gamelift-04-01

dev\Bin64 フォルダの中に MultiplayerProjectLauncher.exe が生成されていればビルド完了です。

ゲームクライアントの設定

次に、ゲームクライアントの各種設定を行います。ゲームクライアントには、接続先のフリートのIDの設定がもちろん必要ですが、AWS の認証情報も付与する必要があります。

次のようなものが必要です。

  • gamelift_aws_access_key : AWS のアクセスキー
  • gamelift_aws_secret_key : AWS のシークレットキー
  • gamelift_aws_region : AWS のリージョン
  • gamelift_endpoint : AWS のエンドポイント
  • gamelift_fleet_id : 接続先のフリートのID
  • gamelift_player_id : プレイヤーのID (なくてもOK)
  • sv_port : ポート
  • map : 読み込むレベル

gamelift_aws_region 及び gamelift_endpoint はバージニア (us-east-1) を使う場合は必須です。デフォルトがオレゴン (us-west-2) なので、オレゴンを使う場合は必要ないと思います。

ゲームクライアントはコマンドから起動できるのですが、このコマンドのオプションに上記の設定を追加します。

dev\Bin64 フォルダの中に GameLiftClient.bat ファイルを新しく作り、中身を以下のようにします。

MultiplayerProjectLauncher.exe +sv_port 33435 +gamelift_fleet_id <YOUR_FLEET_ID> +gamelift_aws_access_key <YOUR_ACCESS_KEY> +gamelift_aws_secret_key <YOUR_SECRET_KEY> +gamelift_endpoint=gamelift.us-east-1.amazonaws.com +gamelift_aws_region us-east-1 +map gameliftlobby

これで実行すると、下記のような画面が表示されます。ゲームロビーです。

gamelift-04-02

ゲームで遊ぶ

ゲームロビー画面では、サーバーの作成と接続が行えます。ということで、早速サーバーを作ってみましょう。下部の「Create Server」をクリックします。

gamelift-04-02

リストに新しいサーバーが表示されました!自動で表示されない場合は「Refresh」を押すと表示されるかも知れません。サーバーを選択した状態で「Connect」をクリックします。

gamelift-04-03

ゲームが始まりました。サンプルでは、サッカーみたいなゲームをマルチプレイヤーで遊ぶことができます。

gamelift-04-04

客席から飛び降りることができます。乱入みたいな気分ですね。ボールを蹴って、適当にどっちかのゴールに入れて点数を競ったりします。

gamelift-04-05

UE4が大好きなこむろと遊んでみました。なんかグダグダw

まとめ

サンプルを通して、GameLift でどのようなことができるのかお分りいただけたかと思います。実際にはノードでいっぱいごにょごにょやっているのだと思います。この辺についてはまた別の機会で!

参考