ユーザー統計のシナリオ
このトピックでは、イベント ベースの統計を使用する場合にユーザー統計を作成するための以下の一般的なシナリオについて説明します。
条件でのブール値の使用
目的: 特定の条件が満たされているかどうかを追跡します。
ユーザーがゲーム ロジック内で特定の条件を満たしているかどうかのフラグを設定するときは、このパターンを使用します。
使用例
ユーザーのキャラクターが特定のレベルで死んだ場合はフラグを設定する
ユーザーが特定の各コレクティブルをロック解除したかどうかのフラグを設定する
ユーザーが現在ハードコア難易度でプレイしている場合はフラグを設定する
ユーザーが複雑な実績をロック解除する 5 つの条件をすべて満たした場合はフラグを設定する
例: ユーザーがショットガンを使用して 90 キル、またはスナイパーを使用して 10 キルを取得した場合はフラグを設定する
フィールド | 値 |
---|---|
[Event Name] | AchievementUnlocked |
[Event fields] (イベントのフィールド) |
UnlockId (データ型: Int32) |
統計テンプレート名 | AchievementUnlocked.UnlockId |
演算子 | REPLACE |
パラメーター | 1 |
Access | Open |
ルール
フラグを TRUE
として読み取る必要がある場合は、REPLACE
演算子を "1" のリテラル値に適用します。
ゲーム ロジックをトリガーするために、1 以上のフラグを指定する必要がある場合は、リテラル値が "1" の SUM
演算子を適用します。
注意
必要に応じて、REPLACE
ブール値の統計を初期化またはリセットします。それ以外の場合は、最後に設定された値が保持されます。
場合によっては、ブール値の統計を FALSE
にリセットできるイベントを定義すると便利です。 その場合、リテラル値 "0" で REPLACE
操作を使用します。
累積値のカウンターの使用
目的: 特定のメトリックに対するユーザーの通算累積値をインクリメント (またはデクリメント) します
イベントが処理されるたびに、固定値または可変値だけ統計値をインクリメントする場合は、このパターンを使用します。
使用例
プレイヤー レベル
合計キル
アップロードされたビデオの数
ユーザーが各マップでプレイした回数
各車両タイプをドライブした累積距離
インベントリー内の現在のアイテム数
例: マルチプレイヤー マッチ勝利カウンター
フィールド | 値 |
---|---|
[Event Name] | MatchCompleted |
イベント フィールド 1 |
Result (データ型: Int32) |
イベント フィールド 2 |
Mode (データ型: Unicode string) |
統計テンプレート名 | MatchesCompleted.Result.Mode |
演算子 | SUM |
パラメーター | 1 |
Access | Open |
ルール
対応するイベント フィールドに SUM
演算子を適用するか、固定定数値をパラメーターとして指定します。
統計の値をデクリメントするには、イベント フィールドの固定定数または実行時値として、負の値をパラメーターとして使用します。
注意
SUM
演算子パラメーターとしして、文字列型の 'リテラル' 値を使わないでください。
文字列データ型のイベント フィールドに SUM
演算子を適用しないでください。
同じ統計を複数のイベントが更新する場合は、すべての統計ルールが同じ演算子を使用してその統計を更新するようにしてください。
パーソナル ベストのトラッキング
目的: 特定のメトリックでユーザーが記録した "ベスト" スコアを追跡します
このパターンは、ユーザーの最大レコード (MAX
) または最小レコード (MIN
) を保持する場合に使用します。 ユーザーのレコードを改善しない値を破棄します。
使用例
最長の連続キル
マルチプレイヤー ラウンドでの最少死亡回数
各レース トラックの最速完了時間
全ゴルフ コースの全ホールでの最長ドライブ距離
例: ヨーロッパ セットの全トラックの最速完了時間
フィールド | 値 |
---|---|
[Event Name] | TrackCompleted |
イベント フィールド 1 |
TrackSet (データ型: Unicode string) |
イベント フィールド 2 |
TimeInSeconds (データ型: Int32) |
統計テンプレート名 | BestFinishTimeInSeconds.TrackSet |
演算子 | MIN |
パラメーター | TimeInSeconds |
Access | Open |
ルール
対応するイベント フィールドに MAX
または MIN
演算子を適用します。
注意
MAX
または MIN
演算子パラメーターとしして、文字列型の 'リテラル' 値を使わないでください。
文字列データ型のイベント フィールドに MAX
または MIN
演算子を適用しないでください。
同じ統計を複数のイベントが更新する場合は、すべての統計ルールが同じ演算子を使用してその統計を更新するようにしてください。
最新情報のトラッキング
目的: 特定のメトリックでユーザーが投稿した最新のスコアを追跡します
このパターンは、値がユーザーの最適なレコードを改善するかどうかに関係なく、ユーザーの最新のレコードを保持する場合に使用します。
使用例
現在の難易度
現在のマルチプレイヤー ラウンドでの死亡回数
各トラックの最新レースの最高速度
現在使用しているプレミアム ゴルフ クラブのブール値フラグ
例: 任意のトラックでの最新の完了時間
フィールド | 値 |
---|---|
[Event Name] | TrackCompleted |
イベント フィールド 1 |
TrackId (データ型: Int32) |
イベント フィールド 2 |
TimeInSeconds (データ型: Int32) |
統計テンプレート名 | BestFinishTimeInSeconds.TrackId |
演算子 | REPLACE |
パラメーター | TimeInSeconds |
Access | Open |
ルール
対応するイベント フィールドまたはリテラル値に REPLACE
演算子を適用します。
注意
必要に応じて、REPLACE
の統計を初期化またはリセットします。それ以外の場合は、最後に設定された値が保持されます。