AccelByte Gaming Servicesのチュートリアルを触ってみた #1 ~初期設定~

2023.10.17

ゲームソリューション部の えがわ です。 AccelByte Gaming Services (AGS)のデモが使用できるようになったのでチュートリアルを触ってみました。

AccelByte Gaming Servicesとは?

AccelByte Gaming Services (AGS) は、AccelByte が開発した、フルマネージドの Software-as-a-Service (SaaS) です。AGS は、ゲームデベロッパーがオンラインゲームを構築し、ローンチすることを可能にします。

オンラインゲームの難解で複雑なバックエンドを請け負ってくれるサービスです。 UnityUnrealEngineのSDKが提供されているため、現在開発されている多くのゲームで使用できるのではないでしょうか。

アプリは作れるけどサーバーは...といった方々にピッタシのサービスです! 私もゲーム開発のバックエンドに悩まされてきたので、その経験を踏まえて触ってみようと思います!

AGSはチュートリアルとしてByte Warsというゲームを公開しています。

Byte Warsとは?

Byte Wars は、AccelByte Gaming Services (AGS) の公式チュートリアルゲームです。このゲームは、AccelByte のサービスをゲームに統合するためのベストプラクティスを参照できる、サンプルプロジェクトとして作られています。Byte Wars は、完全に機能するオフラインゲームとしてゼロから作成されました。このオフラインゲームはその後、AccelByte のプラットフォームの力で、アクセス、プレイ、エンゲージメントなどの各サービス分野からさまざまなサービスを追加することにより、オンラインに成長しました。すべてのチュートリアルモジュールでは、ステップバイステップのガイドを通して、Byte Wars に特定の機能を追加する方法を説明しています。独自のゲーム制作で例として参考にしてください。ゲームデベロッパーとしてのニーズに応じて、特定のチュートリアルモジュールに直接進むこともできます。

オフラインゲームからオンラインゲームへの実装をハンズオン形式で学べるようです。 本ブログはこちらのチュートリアルをUnityで進めていきます。

事前準備

・ デモアカウントが使用可能 ・ Unity 2021.3.16.f1がインストールされている ・ GitがローカルPCにインストールされている

チュートリアル開始

こちらにそって進めていきます。 ※言語設定で日本語も選択できますが、一部画像が表示されなかったり表示崩れもあるので英語のまま進めることを推奨します。

Unityは全12セクションに分かれています。

今回はModule 1: Unity - Initial Setupまで進めます。 ログインマッチングなどの機能は次回以降のブログで記載していきます。 Unity初学者向けの解説もいれているので、ここはわかるよーって方は読み飛ばしてください。

Module 1: Unity - Initial Setup

このセクションではオフライン状態でByte Warsをプレイし、SDKのインストールまで行います。

まずプロジェクトをリポジトリからCloneします。

git clone https://github.com/AccelByte/accelbyte-unity-bytewars-game.git

次にCloneしたプロジェクトをUnityHubのOpenから開きます。 この際に適したバージョン(2021.3.16.f1)以外で開くと警告がでますので、素直にインストールしましょう。

無事に起動したらAssets/Scenes/MainMenuを開きメニュー画面を開きます。

2Dモードにするとゲームっぽくなります。

それでは実際にプレイしてみましょう。 UnityEditorの▶でゲームを開始することができます。

PLAY -> SINGLE PLAYERでゲームに移行します。 自軍と敵、惑星がランダムで配置されますので敵に向かってミサイルを発射し2回撃破すれば勝利となります。

操作方法

キーボード 動作
← → 回転
↑ ↓ チャージ
スペース 発射

SDKのインストール

オフラインでのプレイは確認できたので、AccelByte Game SDKをインストールします。

Window -> Package Manager -> +アイコン -> Add package from git URL

https://github.com/AccelByte/accelbyte-unity-sdk.git#15.12.0

※PCにGitがインストールされていない場合はエラーになります。 SDKのインストールが完了した場合はメニューバーにAccelByteが表示されます。

AccelByte Game SDK 向け公開 OAuth クライアントの設定

AccelByte Game SDK が AccelByte クライアント環境にアクセスできるようにするためには、AccelByte 管理者ポータルで公開 OAuth クライアントを追加する必要があります。

※ここの操作は管理者ポータルから行います

AuthorizationsからIAM Clientsを開きます。

Create New -> 以下を入力後 -> CreateでIAM Clientを作成します。

項目
Client Type Public
Client Name GameTitle-GameClient
Redirect URI http://127.0.0.1
上記以外 そのまま

作成するとClientIDが発行されますので、次で使用します。

AccelByte Game SDK を設定

※ここからの操作はUnityに戻ります メニューバー -> AccelByte -> Edit Settingsを選択すると設定画面が表示されます。 ここではRequierdを無視してSaveボタンを押下します。

Assets/Resourcesに以下のjsonファイルが作成されますのでこちらを編集します。

・ Assets/Resources/AccelByteSDKConfig.json

{
    "Default": {
        "Namespace": "{ネームスペースを設定}",
        "UsePlayerPrefs": true,
        "EnableDebugLog": false,
        "DebugLogFilter": "Log",
        "BaseUrl": "https://demo.accelbyte.io",
        "RedirectUri": "http://127.0.0.1",
        "PublisherNamespace": "accelbyte"
    }
}

・ Assets/Resources/AccelByteSDKOAuthConfig.json

{
    "Default": {
        "ClientId": "{発行したClientID}",
        "ClientSecret": ""
    }
}

これでSDKの設定は完了です! 次回はいよいよデバイスIDでのログインを実装していきます。