Epic Online Services で Lyra を使用する

Lyra サンプル ゲームを Epic Online Services と連携して使用するための方法をステップごとに説明するチュートリアルです。

Choose your operating system:

Windows

macOS

Linux

Lyra Starter Game は、マルチプレイヤー ゲームの開発とシッピングを目的として設計されたサンプル プロジェクトです。このゲームは、オンライン マルチプレイヤー サポートを活用し、 Epic Online Services (EOS) のバックエンドと連携します。しかし、Lyra を Epic Games Launcher からダウンロードしても、いくつか追加のセットアップを行わないと EOS と連携しません。

Epic アカウントとエンジンのセットアップ

Lyra で EOS を利用するには、EOS と Unreal Engine のソース コードの両方にアクセスするためのアカウントをセットアップする必要があります。

  1. マルチプレイヤーをテストするには、少なくとも 2 つの Epic アカウント が必要です。Epic Games ストア ページに移動し、 [Sign In (サインイン)] をクリックし、 新しいメール アドレスとパスワードを使用して サインアップ することで新しいアカウントを作成できます。

    効率化のため、2 つ目のアカウントには 2 つ目のブラウザを使用してログインできます。

  2. EOS のサポートをすべて有効にするには、Unreal Engine のソースコードにアクセスする権限があるアカウントが 1 つ必要です。GitHub の Unreal について記載されているように、メインの Epic アカウントが GitHub と同期されていることを確認してください。

  3. ソース コードへのアクセス権を確保したら、「Unreal Engine のソースコードをダウンロードする]」に従ってエンジンのソース コードをダウンロードしてインストールします。エンジンの リリース ブランチ をインストールします。Visual Studio 2019 または Visual Studio 2022 のいずれかを使用することができます。

    ソース コードのダウンロードと、「Setup.bat」の実行には、しばらく時間がかかる場合があります。セットアップが完了するのを待つ間、続けてアカウントを作成することをお勧めします。

  4. EOS デベロッパー ツールへのアクセス権を得るには、両方のアカウントで 二要素認証 を有効にする必要があります。これは、 [Account Management (アカウント管理)] ページから、[Password & Security (パスワードとセキュリティ)] に移動して有効にするか、手順 5 のプロンプトが表示された際に有効にすることができます。

  5. 両方の Epic アカウントに、 EOS Developer Portal (Dev Portal) へのアクセス権が必要です。Dev Portal に移動するとプロンプトが表示され、ライセンスに同意すること、および [On your own (個人で)] または [As an Organization (組織として)] 開始することを求められます。メインのアカウントを使用して組織を作成するには、 [As an Organization] を選択します。

  6. メインのアカウントにログインし、Dev Portal を使用して組織にログインした際に、その組織に 2 番目のアカウントを追加する必要があります。左側にある Developer Portal の目次内の [Organization (組織)] セクションをクリックし、 [Team (チーム)] タブから [Invite (招待)] ボタンをクリックします。続いて、2 番目のアカウントのメール アドレスを入力するよう求められます。

    開発テストではロールは問題にならないため、 [Community Tools (コミュニティ ツール)] を選択してから、 [Invite] をクリックします。[Settings (設定)] をクリックして [Organization] の名前を変更できます。必要に応じて、2 番目のアカウントに組織を作成することもできますが、このチュートリアルでは不要です。

  7. 2 番目のアカウントに招待のリンクがメールで届きます。2 番目のアカウントにサインインした状態で、この URL にアクセスする必要があります。

    サインイン済みの 2 番目のアカウントのブラウザに URL を貼り付けて、この招待を受け入れることができます。

招待を受け入れた後、この 2 番目のアカウントは、テスト時のログイン以外の目的には使用しません。

Epic Online Services の製品のセットアップ

デベロッパー アクセスと組織を持つ Epic アカウントが用意できたら、ローカル コピーの Lyra に使用するバックエンドで製品をセットアップする必要があります。PC プラットフォームで Lyra を開発およびテストするには、EOS と Epic Account Services (EAS) の両方で追加のセットアップを完了する必要があります。

Epic Account Services は、EOS と連携するように設計された認証ツールやソーシャル ツールを提供します。プラットフォームまたはパブリッシャーによって提供される別の認証システムへのアクセス権がある場合、EAS の利用は必須ではありません。Lyra は、EAS を使用して、開発ログインと Epic Games Store との連携を処理します。

このセクションの手順はすべて EOS Dev Portal で実行されており、 EOS セットアップ ガイドEpic Account Services の使用開始ページ と同じ情報に対応しています。

  1. 最初に、 製品 をセットアップする必要があります。[Create Product (製品を作成)] を選択し、新しい製品を作成できます。続いて、製品を選択すると、さまざまな EOS 機能のオプションを確認できます。

  2. 次に、独自バージョンの Lyra に クライアントクライアント ポリシー をセットアップします。[Product Settings (製品の設定)] から [Clients (クライアント)] タブをクリックします。これにより、法的契約を読み、同意するよう求められます。これを行うと、[Clients] ページに追加のライセンスのためのプロンプトが表示されます。このチュートリアルのために、 Epic Account Services のライセンスに同意する必要があります。

  3. [Add New Client (新しいクライアントを追加)] をクリックし、「Lyra Test Client」という名前の新しいクライアントを作成します。続いて、 [Add New Client Policy (新しいクライアント ポリシーを追加)] をクリックします。

  4. [Client policy name (クライアント ポリシー名)] フィールドに、「Peer to Peer client」と入力します (複数の製品で再利用されるため)。[Client policy type (クライアント ポリシー タイプ)] では、 [Peer2Peer] を選択します (Lyra で利用するのはこのタイプのみのため)。[Save & Exit (保存して終了)] を 2 回クリックし、新しいポリシーおよびクライアントを保存します。

  5. EOS を開発テストに利用するには、アプリケーションが EAS を使用して製品に接続するよう設定する必要があります。ゲームに EOS を使用するには、サービスに EOS Application をセットアップする必要があります。これにより、ゲームが Epic Account Services とリンクされます。これを行うには、 [Epic Account Services] を選択します。これにより、法的契約を読み、同意するよう求められます。その後、 Lyra Test Product[Permissions (権限)] (1) フィールドをクリックします。または、 [Create Application (アプリケーションを作成)] (2) をクリックし、右上の [Permissions] タブをクリックします。

    [Brand Settings (ブランド設定)] は、リリース前にセットアップしておく必要がありますが、開発およびテストの場合は必須ではありません。

    brand-settings-menu

  6. [Permissions] ページで、 [Online Presence] (1) と Friends (フレンド) (2) を両方オンにします。これらは、Lyra でソーシャル機能を有効にするのに必要です。[Save Changes (変更を保存)] (3) をクリックします。

  7. [Linked Clients (リンクされたクライアント)] (1) を選択してから、 [Select Clients (クライアントを選択)] の横のドロップダウンの矢印をクリックし、 [Lyra Test Client (Lyra テスト クライアント)] (2) をこのアプリケーションにリンクし、 [Save Changes] (3) をクリックします。

    [Product Settings (製品設定)] ページに移動し、 [General (全般)] タブから下にスクロールし、後で必要になるすべての情報を確認します。

  8. EOS のセットアップの最後の手順は、 デベロッパー認証ツール をインストールすることです。これにより、ゲームを起動するたびに二要素認証のチェックを実行することなく各アカウントに一度にログインできるため、マルチプレイヤーのテストが簡単になります。

認証ツールのコピーは、UE5 ソースのインストール ディレクトリの「Engine/Source/ThirdParty/EOSSDK/Tools」フォルダ内にあります。また、 EOS SDK のダウンロード 内にもあります。

Lyra のインストールと構成

これで、エンジンの完全にダウンロードされたバージョンを入手し、EOS 製品を完全にセットアップしました。以下の手順では、EOS と連携して使用できるように、Lyra のインストール、構成、およびビルドのプロセスについて説明します。これらの手順は、 Lyra のドキュメント に記載されているのと同様のものです。

Launcher からダウンロードしたエンジンのバイナリ バージョンに Lyra をインストール済みの場合は、手順 7 にスキップできます。

  1. Epic Games Launcher を開き (メインのアカウントにログイン)、 [Unreal Engine] > [Samples (サンプル)] を選択します。[Lyra Starter Game] をクリックし、 [Create Project (プロジェクトを作成)] をクリックします。

  2. デフォルト設定は受け入れません。代わりに、プロジェクトに名前を付けます。

    Lyra を別のゲームに利用する予定の場合は、そのゲームの名前をここで使用します。

    エンジンのソース コードをインストールしたルート フォルダを選択します。[Browse (ブラウズ)] をクリックしてそのフォルダを選択し、 [Create (作成)] をクリックしてプロジェクトをダウンロードします。これ以降は、Engine のサブフォルダと、先ほど選択したプロジェクト名に一致するサブフォルダ (デフォルトは LyraStarterGame) の両方が必要です。

  3. Engine/Extras/UnrealVS」フォルダにある UnrealVS 拡張をインストールする必要があります。これにより、Visual Studio 内のスタートアップ プロジェクトやコマンド ライン パラメータの管理が簡単になります。

  4. エンジンのソース コードのルートに移動し、「GenerateProjectFiles.bat」をインストールして実行し、「UE5.sln」という新しいソリューション ファイルを作成します。そのファイルをダブルクリックし、Visual Studio をロードします。ロードされると、使用する LyraStarterGame のバージョンが ソリューション エクスプローラーGames カテゴリ (LyraGameEOS を含む) にリストされます。

  5. LyraStarterGame を右クリックし、 [Set As Startup Project (スタートアップ プロジェクトとして設定)] を選択し、 ビルド します。

    これによって Lyra や必要なエンジンのすべての機能がコンパイルされるため、しばらく時間がかかる場合があります。コンパイル エラーがある場合は、続行する前にそれらを解決する必要があります。

  6. ソースからの Lyra のビルドが完了したら、 [Debug menu (デバッグ メニュー)] からそれを実行し、プロジェクトのサンプルの詳細を確認できます。

  7. EOS 用にプロジェクトを構成するには、追加のセットアップが必要です。Lyra には EOS 固有のコンフィグ ファイルが付属しており、このファイルは Common User プラグインCustomConfig 機能を使用して有効にします。

プロジェクト内の「Config/Custom/EOS」フォルダにある「DefaultEngine.ini」を変更する必要があります。このファイルを開き、次の行を検索します。

先頭のセミコロンを削除し、この行をコメント解除します。

;For OSSV1, fill in the following line with actual details and then uncomment
 ";+Artifacts=(ArtifactName="OSSv1EOS",ClientId="xxxx",ClientSecret="xxxx",ProductID="xxxx",SandboxId="xxxx",DeploymentId="xxxx",EncryptionKey="0")

default-engine-ini-artifacts-section

  1. 先ほど作成した EOS 製品の Artifacts 行を変更する必要があります。必要な情報は、EOS ダッシュボードの [Product Settings (製品設定)] ページで確認できます。これを行うためのプロセスについては、 EOS OSS プラグインのドキュメント で説明されていますが、以下のフ必要な情報は、EOS ダッシュボードの [Product Settings (製品設定)] ページで確認できます。

    • [Artifact Name (アーティファクト名)] は、この一意の設定の組み合わせにラベルを付けるために使用されます。また、これは DefaultArtifactName=OSSv1EOS 行の値と一致する必要があります。

    • Developer Portal に移動します。[Product ID (製品 ID)][Client ID (クライアント ID)] 、および [Client Secret (クライアント シークレット)] を、 [Product (製品)] および [Clients (クライアント)] セクションの同じテキスト フィールドからコピーします。

    [Copy (コピー)] をクリックし、これらの値をクリップボードにコピーしてから、テキスト エディタに 貼り付け ます。

    • Sandbox ID の記述内容は、アチーブメントなどの機能のデータを見つける手段となります。この ID を デフォルトの Live サンドボックスに使用できます。ゲームはまだ開発中であるため、 Deployment ID は、 Release ID に設定できます。さらに開発を進めると、テストとリリースのために複数のサンドボックスやデプロイメントの作成が必要になる場合もあるでしょう。

    • 暗号化キー は、クライアントによって書き込まれ、クラウドに保存されるファイルを暗号化するのに使用されますが、Lyra では実際にはこの機能が使用されていません。この値は、「0」または二重引用符で囲んだ、任意のランダムな 64 ビットの値に設定できます。

  2. コンフィグ ファイルを変更し、 保存 します。

エディタの [Build (ビルド)] で EOS をテストする

これで、エディタ内とパッケージ化されたビルドでゲームのテストを開始できる状態になりました。

  1. Visual StudioUnrealVS ツールバー を有効にし、次の行をコマンド ラインのセクションに追加します。

    -game -customconfig=EOS  
  2. 新しいコマンド ラインを使用して起動するプロジェクトをデバッグします。これにより、スタンドアローン ゲーム モードが開始され、EOS コンフィグ ファイルが使用されます。完了すると、エラー メッセージ「Login Failure Not Implemented (未実装のためログインが失敗しました)」が表示されます。[OK] をクリックすると、Lyra メイン メニューがロードされます。
    このエラー メッセージは、プロジェクトが EOS を使用しようとしているものの、コマンド ラインで十分な情報が指定されていないためにログインに失敗したことを意味します。ログイン失敗のエラー メッセージが表示されなかった場合は、コンフィグ ファイルにエラーが発生している可能性があるため、EOS に関連するエラーがないか出力ログを確認する必要があります。

lyra-login-failure

  1. ここで、「[#Epic Online Services の製品のセットアップ]」で解凍した デベロッパー認証ツール を実行します。EOS_DevAuthTool プログラムを実行すると、使用する ポート を求められます。「6666」と入力します。

    Windows では、ファイアウォールのアクセス権を求める追加のプロンプトが表示される場合があります。アクセスを許可する必要があります。

  2. 次に、 [Login (ログイン)] をクリックして組み込みのブラウザを開くと、メインの Epic アカウントを使用してログインすることができます。二要素認証のコードを入力すると、[Credential name (認証名)] を求めるプロンプトが表示されます。「Player1」などの名前を入力します。

credentials-list

  1. このプロセスを 2 番目のアカウントにも繰り返しますが、認証名は「Player2」などの異なるものを使用します。2 つのアカウントでは、テスト セッション中に EOS バックエンドへのログイン状態が維持されます。最終的に、開発ツールを再起動してログインしなおし、この認証を更新する必要があります。

  2. Visual Studio に戻り、次のオプションをコマンド ラインで UnrealVS に追加します。

    -AUTH_LOGIN=localhost:6666 -AUTH_PASSWORD=Player1 -AUTH_TYPE=developer

    ただし、ポートと認証名は上記で選択したものに置き換える必要があります。この時点での完全なコマンド ラインは、たとえば次のようになります。

    LyraStarterGame -game -customconfig=EOS -AUTH_LOGIN=localhost:6666 -AUTH_PASSWORD=Player1 -AUTH_TYPE=developer.

authorization-in-visual-studio

  1. [Debug] をクリックし、ゲームを再度起動します。今回は、EOS にログインするコマンド ラインで追加の情報を使用します。未検証のアプリケーションに関する警告を表示するためにブラウザが開きます。これは、[Brand Settings (ブランド設定)] が未完了のためです。[accept (同意する)] を 2 回クリックし、アプリケーションから Epic アカウントへのリンクを承認します。これが完了すると、ゲームに戻り、エラー メッセージがない状態のメイン メニューが表示されます。shift+F3 を押して Epic Account オーバーレイを開くと、完全にログインしていることが示されます。

  2. このアカウントは、マルチプレイヤー ゲームのホストとなるため、 [Play Lyra (Lyra をプレイ)] をクリックし、 [Start a Game (ゲームを開始)] をクリックしてホスト画面をロードします。[Network (ネットワーク)][Online (オンライン)] に設定されていることを確認し、 [Elimination (エリミネーション)] を選択してマッチを開始します。

    設定メニューでグラフィック品質を [Low (低)] に設定し、ウィンドウ化モードを有効にして、コンピューターでゲームの 2 つのコピーを確実に処理できるようにすることもできます。

  3. Visual Studio に戻り、 [Debug] メニューからこのクライアントをデタッチします。UnrealVS の -AUTH_PASSWORD の値をコマンド ラインで 2 番目の認証名 (Player2) に変更し、2 番目のアカウントのログインを作成します。[Debug] をクリックし、ゲームを再度起動します。2 番目のインスタンスが起動すると、2 つ目のアカウントにアプリケーションを認証するようプロンプトが表示され、メイン メニューが表示されます。

  4. 全体が動作していることを確認するには、 [Browse] をクリックして [Server Browser (サーバー ブラウザ)] を表示し、ゲームの最初のインスタンスによってホストされているゲームが動作していることをチェックします。

  5. ゲームを選択します。ゲームに正常に参加できれば、プロセスは完了です。これで、2 人のプレイヤー (およびボット) によるマルチプレイヤー ゲームに参加できました。

LyraGameEOS をパッケージ化する

開発エディタのビルドで EOS が動作することを確認したら、追加の手順に従って LyraGameEOS のパッケージ化されたバージョンを作成できます。

これらの手順は、ソース コードからビルドした Lyra をエンジンのコピーにインストールする完全なプロセスに従った場合にのみ有効です。これは、Launcher によってインストールされたバージョンは、ビルド プロセスをカスタマイズできないためです。

  1. 開発 ビルドでプロジェクトをセットアップし、エディタをロードして、ゲームのパッケージ化された EOS バージョンを作成します。

    プロジェクト名以降のコマンド ラインは、UnrealVS によってドロップダウン メニューのコマンド ラインで履歴が保持されるため、クリアすることができます。

  2. エディタをロードしたらツールバーに移動し、 [Platforms (プラットフォーム)] > [Windows] > [Build Target (ビルド ターゲット)] をクリックして [LyraGameEOS]** を選択し、ゲームのカスタマイズ済みバージョンをビルドして `-CustomConfig=EOS` 設定を実行可能ファイルにベイクします。

  3. ツールバー > [Platforms] > [Windows] > [Package Project (プロジェクトをパッケージ化)] に移動し、出力ディレクトリを選択します。ディレクトリを選択すると、クックおよびパッケージ化のプロセスが開始されます。

    出力ログをチェックし、エラーがないか確認します。

    Lyra のパッケージ化が失敗し、UAT に関連するエラー メッセージがログに表示されている場合は、Lyra ゲーム サンプルのオリジナルである 5.0 リリースに存在していたバグが発生している可能性があります。これは、Lyra サンプルの 5.0.2 (以降) のバージョンをダウンロードするか、エンジンのベース インストール (C:\UE5\Samples\Games\LyraStarterGame) の Samples/Games サブフォルダに Lyra をインストールすることで修正できます。

  4. クックおよびパッケージ化のプロセスが成功すると、選択したディレクトリにパッケージ化されたゲームのコピーが配置されます。このパッケージ化されたビルドは Zip 圧縮して別のコンピューターに送信し、実世界のマルチプレイヤーのテストをすることができます。

Epic Games ストアからパッケージ化されたビルドを実行すると、正しいユーザー認証情報が渡されます。ただし、開発テスト向けにはショートカットまたはバッチ ファイルを作成し、次のコマンド ラインを追加する必要があります。

-AUTH_LOGIN=localhost:6666 -AUTH_PASSWORD=Player1 -AUTH_TYPE=developer

次のステップ

これらの手順に従うと、完全に動作する Lyra のバージョンが完成し、EOS を使用したマルチプレイヤーの開発およびテストに利用できます。EOS が有効な Lyra ゲーム サンプルのバージョンがあれば、ゲームのリリースという最終的な目標とともに、その他の開発タスクのベースにこれを利用できます。Lyra のマルチプレイヤー コードを別の既存のゲーム用に適合させる場合は、Lyra のコード全体をベースとしてゲームを構築するか、ドキュメントで説明されているように、 CommonUser プラグインとコンフィグ ファイルを独自のゲーム内にコピーします。

Lyra は、すべてのサポートされているコンソール、モバイル、および PC デスクトップ プラットフォームで動作するよう設計されましたが、現在のバージョンのサンプルは、Epic Games ストアの内部バージョンを使用し、主に PC でテストされたものです。Epic Games ストア で公開する独自のゲームを作成するには、パブリッシャーと連携して ブランド レビュー プロセスを完了し、パブリッシング チームと相談を開始することをお勧めします。

ゲームのクロスプラットフォーム バージョンの開発でサポートが必要な場合や、このチュートリアルの EOS のセットアップ手順で問題が発生した場合は、 EOS コミュニティ フォーラム にディスカッションを作成するか、EOS サポートにお問い合わせることができます。