2014年12月8日

勝利への分析

作成 Joe Graf

プレイヤーが何度でも戻って来たくなるような「スティッキー」なゲームを持つには、ゲームがプレイヤーに対してどのようなパフォーマンスを発揮しているかを理解することが大切になります。ゲームの 1 日目、7 日目、30 日目のプレイヤー保持数を測る事が、プレイヤーがゲームをプレイし続けてくれるか、またはあなたのコミュニティからプレイヤーを生み出してくれるかを調べる上での良い比較対象となります。基本無料プレイゲームにおいては、この数値が製品から得られる収益と直結します。保持されたプレイヤーは再度お金を使ってくれる機会があるためです。もちろん、プレイヤー確保数だけが関係する主要パフォーマンス指標 (KPI) ではありませんが、ゲームでのトラッキングにもっとも容易に追加できる要素ではあります。

UE4 におけるアナリティクス サポート

あなたのゲームがどのようなパフォーマンスを実行しているかの状況に関するデータを得るためには、別途アナリティクス プロバイダーを使用してデータを抽出および処理する必要があります。一部の大型スタジオでは独自のアナリティクス ソリューションが使用されていたりしますが、ほとんどのインディー デベロッパーはちがいます。ですが自家製ソリューションを持っていない方でも、無料サービスから有償のものまでさまざまな選択肢を取ることができます。UE4 では 1 つ以上のアナリティクス プロバイダとの通信用抽象インターフェースが提供されており、あなたのゲームがこのインターフェースを利用し、代わってアナリティクス プロバイダからはバッキング機能を提供します。またエピックがすでにバッキング プロバイダをビルドしている場合もあります。バージョン 4.5 以前では、エピックがアナリティクス イベントをマルチキャスト (複数のプロバイダへ伝達) する機能と Swrve (www.swrve.com 、有償サービス) に対応したプロバイダを用意していました。そして UE4 バージョン 4.5 では iOS の Apsalar (www.apsalar.com、無料サービス) サービスと主にデバッグ用に使用されるファイル ベース システムに対応しました。今後もさらに多くのプロバイダ用プラグインをご用意していく予定です。またプロバイダの実装はさほど難しい作業ではありませんので、必要に応じて追加していただくことも可能です

ゲームへの実装

プレイヤー保持に関するデータを入手するためには、まずあなたのゲームに使用するアナリティクス プロバイダを登録します。これはあなたの開発プロジェクトの DefaultEngine.ini ファイルを使用して行います。ここでデフォルトとなるプロバイダを登録します。またゲームの複数の異なるビルドの種類 (開発用、テスト用、制作用) 毎に異なるプロバイダやアカウント情報を登録できます。以下のセクションでは、 Apsalar プラグインの設定の一例になります。

[Analytics]

ProviderModuleName=IOSApsalar

ApiKey=YourAnalyticsKey1

ApiSecret=YourAnalyticsSecret1

SendInterval=60

[AnalyticsDevelopment]

ApiKey=YourAnalyticsKey2

ApiSecret=YourAnalyticsSecret2

SendInterval=60

[AnalyticsTest]

ApiKey=YourAnalyticsKey3

ApiSecret=YourAnalyticsSecret4

SendInterval=60

[Analytics] セクションがデフォルトで使用されるため、デフォルトに設定したいプロバイダ モジュール名はこちらで設定します。以上の例の場合、バージョン 4.5 リリースに同梱されていた IOSApsalar プラグインに設定されています。ApiKey および ApiSecret フィールドは Apsalar ウェブサイトからのものになります。一旦アカウントが作成されたら、利用するためのキーと秘密が提供されます。

プロジェクトの設定が完了したら、これでいつでもアナリティクス イベントの記録を開始できます。基本的なプレイヤー保持に関するデータを入手するには、まずゲーム開始時にセッションを作成して、それが前面に無くなった時点で終了させます。これは以下のコード* を使うことで行えます。

FAnalytics::Get().GetDefaultConfiguredProvider()->StartSession();

FAnalytics::Get().GetDefaultConfiguredProvider()->EndSession();

*注: バージョン 4.5 では、ブループリント プラグインが含まれていますので、アナリティクス イベントの記録には C++ コードは必要ありません。

ゲームの一部に対して呼び出しが行われることで、プレイヤー保持データの収集が自動的に開始されます。次の Apsalar のダッシュボードを写した画像では、このデータがどんなものかを見ることができます。

Apsalar's Dashboard

基本的なプレイヤー保持データを入手できたら、今度はさらにイベントを追加して、ゲーム内でのプレイヤーの挙動に関する情報を見ることができます。これであなたのゲームの成功度を測定することができます。