
Amazon GameLift Streamsでゲームを動かしてみた
こんにちは。ゲームソリューション部の出村です。
先日発表されたAmazon GameLift Streams(以降、GameLift Streamsと表記)を使って、Windowsアプリをブラウザ上でテストプレイできる環境を構築する手順を紹介します。このサービスの魅力は、GameLift StreamsとS3の設定だけで簡単に環境構築できる点です。初めての方でも30分程度で実装できますので、ぜひチャレンジしてみてください!
開発・実行環境
今回実行するWindowのゲームは以下の環境で開発しました。
- UnrealEngine 5.3
- Windows向けにビルド
GameLift Streamsの設定は以下の通りです。
- サーバーOSはWindows Server 2022
- 東京リージョンを指定
全体の流れ
GameLift Streamsの環境構築は以下の6ステップで進めます。
- Windows アプリ(ゲーム)を用意する
- GameLift Streamsのランタイム設定をする
- ゲームファイルをS3にアップロードする
- Streamのサーバーを設定する
- テストストリームを設定する
- ブラウザからプレイする
詳細手順
それでは、各ステップを詳しく見ていきましょう。
1. Windowsアプリを用意
GameLift Streamsで実行するWindowsアプリを準備します。今回はUnrealEngine 5.3で提供されている「ThirdPerson」テンプレートを使用します。今回はglprj1というプロジェクト名にしました。
UnrealEngineで「Cook Contents」と「Package Project」を実行して、ゲームの実行に必要なファイル一式を生成します。
パッケージングが完了すると、以下のようなファイルが生成されます。「glprj1.exe」が起動ファイルとなり、GameLift Streamsでもこのファイルを指定してゲームを起動します。
2. ランタイム設定
GameLift Streamsの設定を進めていきます。
まず、GameLift Streamsが実行されるランタイム環境(サーバー)を指定します。今回は、Windows Server 2022 Baseを指定しました。
ランタイムには3つの選択肢があります。違いとしては次の通りです。
クライアントアプリのOS | ランタイム(サーバー)のOS | コスト | |
---|---|---|---|
Microsoft Windows Server 2022 Base | Windows | Windows Server | $2.25/h~ |
Ubuntu 22.04 | Linux | Linux | $0.81/h~ |
Proton | Windows | Linux | $0.81/h~ |
3. ファイルのアップロード
先ほど用意したWindowsアプリの全ファイルをS3にアップロードします。S3バケットに対する設定は不要です。
今回はS3に「cmdemura-glstream1」バケットを作成し、ルートフォルダに1.で用意した全ファイルをアップロードしました。
4. 全般設定
GameLift Streamsの全般設定を行います。ここでは、実行ファイルの場所や、コンテンツが配置されているS3バケットのパスを設定します。
「ベースパス」には先ほどファイルをアップロードしたS3バケット名を、「実行可能な起動パス」には起動する実行ファイル名を指定します。
設定が完了したら「アプリケーションを作成」ボタンを押します。
5. ストリームグループ設定
次に、ストリームグループを設定します。ストリームグループとは、配信するアプリケーションに必要なサーバーの台数や配信ロケーションなどを指定するものです。
まず、ストリームグループに名前をつけます。今回はアプリケーション名と同じにしました。
次に、ストリームクラス(サーバースペック)を指定します。
今回は検証用途なので、比較的安価な「gen4n_win2022」を選択します。
続いて、先ほど作成したアプリケーションとリンクします。
ストリーム設定を構成します。最低1つのリージョンを指定する必要があります。他リージョンからの配信を確認する場合は、そのリージョンを指定する必要があります。今回は東京リージョンのみ指定しています。
最後に設定内容を確認して「ストリームグループを作成」ボタンを押します。ストリームグループの作成には数分かかりますので、しばらく待ちましょう。
6. テストストリームで実行
最後に、テストストリームを実行して動作確認を行います。これにより、設定したアプリケーションをブラウザ上で実行できます。
まず、テストで実行するストリームグループを選択します。
テストストリームで実行するアプリケーションとロケーションを指定します。今回は選択肢が1つしかないので、デフォルト設定のまま進めます。
この画面では、実行ファイルに渡すコマンドライン引数や環境変数も設定できます。これらを活用することで、同じアプリケーションでもデバッグ機能をONをして実行など異なる設定でソフトウェアの実行が可能です。
設定が完了したら「テストストリーム」ボタンを押します。
これで、ブラウザ上でアプリケーションが実行されます。画面に表示されるメッセージをクリックすると、UnrealEngineで作成したアプリが動作します。キーボードやマウスで操作することができます。
セッションを終了する場合は「セッション終了」ボタンを押します。
あとかたづけ
重要: ランタイム環境は、プレイしていない状態でも起動している限りサーバー費用が発生します。使用しない場合は必ず削除しておきましょう。
まとめ
このように、Windowsの実行ファイルさえあれば30分程度で簡単にブラウザ上でのゲーム実行環境を構築できます。GameLift Streamsは環境構築が非常に簡単なので、以下のような用途に最適です:
- デモ版のブラウザ配信
- QAテスト環境の構築
- リモート開発環境の整備
ぜひ一度試してみてください!