実績
実績は、ゲーム内の重要な目標を IGP プラットフォームへ同期します。1 回だけの実績を直接解除するほか、累積型実績の進捗を継続して送信できます。
| エンジン | 状態 | パッケージ | 詳細手順 |
|---|---|---|---|
| Unity | Preview | Unity メインパッケージ | Unity Quick Start |
| GameMaker | Preview | GameMaker メインパッケージ | GameMaker Quick Start |
| Godot | Preview | Godot Core | Godot Quick Start |
3 つのエンジンはすべて Desktop Session から実績を送信します。必要なのは接続済みセッションと実績 capability だけで、ルーム参加や realtime 接続を待つ必要はありません。
- バックエンドで実績を作成し、表示文言に依存しない安定した key を決めます。
- 起動と接続 を完了し、現在のセッションが実績 capability を公開していることを確認します。
- ステージクリア、収集完了、累積カウンター更新など、明確なゲーム内イベントで解除または進捗送信を行います。
- 1 つの業務イベントを再試行するときは、同じ冪等性識別子を保ちます。ネットワーク再試行を新しいイベントにしないでください。
- 成功、重複、エラーを処理します。重複解除は通常、以前の要求が成功済みであることを示し、ゲーム内報酬を再付与してはいけません。
- 実績クリアはテストまたは明示的に許可されたリセットだけに使用し、通常のプレイヤーフローには置きません。
設計上の注意
Section titled “設計上の注意”- 実績 key はバックエンド設定と一致させ、表示名と説明は別にローカライズします。
- 報酬はゲーム自身のセーブ状態を基準にし、1 回のネットワーク応答だけで重複付与を防がないでください。
- オフライン中は送信イベントを保持し、再接続後に元の冪等性識別子で再試行します。
- 累積進捗が現在の合計値か今回の増分かを、実装前に決めます。
- 新しい実績を解除し、プラットフォーム側で確認できる。
- 同じ解除を再送しても業務報酬を重複付与しない。
- 累積型実績がバックエンド定義どおりに増える。
- Desktop Session の切断時に明確な失敗またはキュー結果となり、安全に再試行できる。
- テストアカウント用のクリア操作が本番プレイヤーフローに入っていない。