ランキングは既製の順位システムです。ラウンドのあるボードと、順位やポイントによる報酬。 スコア、順位、報酬は サーバーが計算します。ボードはダッシュボードで設定し、ゲームは結果を送って順位を表示します。
プレイヤーに見えるもの
- タブになったボード:それぞれにプレイヤーのスコア、順位、ラウンド終了までのカウントダウンを示すカードがあります。
- 上位のプレイヤー。プレイヤー自身は強調表示され、上位3人にはメダル。
- ポップアップの順位の報酬とポイントの報酬。ポイントの報酬はその場で受け取れます。
- 前のラウンドの報酬のポップアップ:ラウンドが終わると「受け取る」ボタン付きで自動表示されます。
- ゲームにポイントを稼ぐモードがあれば、カードに**「プレイ」ボタン**。
- 報酬が待っているときのタブのバッジ。
ランキング
12 450
320
週間!
シーズン
2
マイスコア12 840
順位#7
残り 2日 04:13
報酬
プレイ
34
ShadowFox25 120
2Mira22 980
3KnightOwl19 400
4Pixel_Pete15 210
5Luna14 030
6Arrow13 115
7あなた12 840
8Grizzly11 900
1有効なランキングごとにタブがあり、バッジは受け取れる報酬があることを示します。
2プレイヤーカード。スコア、順位、ラウンド終了までのカウントダウン。
3順位とポイントの報酬はここから開き、「プレイ」でゲームモードへ。
4上位3人にメダル、プレイヤーは一覧で強調表示されます。
ボードの構造
- ラウンド。 ボードはサイクルで繰り返す(たとえば毎週)、スケジュールで動く、またはラウンドの連なりとして進みます。
- スコアの数え方。 すべての結果の合計、ベストの結果、ベストタイム、最後の値。
- 順位の報酬:ラウンド終了時の順位の範囲ごと。1位、2〜3位、4〜10位など。
- ポイントの報酬:ラウンド中のマイルストーン。「今週1000ポイント稼ぐ」。
ポイントはどこから来るか
ポイントはボードに設定した出どころから来ます。
- ゲームからの結果(
ClientScore)。ゲームが数値を送ります。たとえばランのスコア。⚠ 出どころには上限を設定して ください。1回あたりの上限、1日の上限、送信の間隔。この出どころがなければ、ボードはゲームからの数値をまったく受け取りません。 - サーバーが自分で数えるイベント。たとえば購入や終えたクエスト。これはゲームからごまかせません。
ステップ 01プロジェクトにランキングを追加する
AI コーダーに伝えます。「ベストスコアの週間ランキングを追加して」。既製システムを入れて、ゲームが結果を送るように します。ダッシュボードでボードを1つでも有効にすると、タブがプレイヤーに表示されます。
ステップ 02ボードを設定する
ダッシュボードを開き、プロジェクトを選んで ライブ運営 → v2 → リーダーボード へ。
- ランキングを追加を押し、ID を決めます。例:
weekly_score。 - ラウンドのスケジュールとスコアの数え方を選びます。
- ポイントの出どころを追加します。ゲームがポイントを送るなら、上限付きの
ClientScoreを使います。 - 順位の報酬と、必要ならポイントの報酬を設定します。
- 保存を押します。
ページの AI ボタンでアシスタントが開きます。ボードを言葉で説明すると変更を提案してくれるので、確認して保存します。
ステップ 03テストしてリリースする
テスト版で結果をいくつか送り、順位が変わるのを確かめます。設定は別の操作で本番アプリに送られます。 公開とリンクを参照してください。
開発者向け
ランキングは @idosgames/core の client.leaderboard で動きます。
// 結果を送る:サーバーが数え方のルールと上限を適用します
const sub = await client.leaderboard.submitScore('weekly_score', 150)
if (!sub.ok) return showError(sub.error)
sub.data.NewScore // 数えたあとのスコア
// 複数ボードの画面:上位の一覧とプレイヤーの進み具合を1回のリクエストで
const overview = await client.leaderboard.getOverviewBatch(['weekly_score', 'season_pvp'])
// 待っているものをすべて受け取る:順位の報酬とポイントの報酬
await client.leaderboard.claimAllRewardsBatch(['weekly_score', 'season_pvp'])- 0 以下のスコアは、SDK がリクエストを送らずに自分で拒否します。
- 新しいスコアは応答の
NewScoreから取ります。「ベストの結果」では、悪い結果はスコアを変えません。 - フレンドの順位は
getFriendsLeaderboard(leaderboardID)です。
すべてのフィールドは、SDK の MCP サーバーが配るスキル leaderboard-system に説明があります。
よくある質問
プレイヤーがゲームから巨大なスコアを送ってズルできますか?
ボードを正しく設定していればできません。ボードがゲームから数値を受け取るのは ClientScore の出どころ経由だけで、そこには上限があります。1回あたりの上限、1日の上限、送信の間隔。
1つのゲームにランキングはいくつ作れますか?
複数作れます。有効なボードはそれぞれランキング画面の別のタブになり、専用のラウンドと報酬を持ちます。
フレンドのランキングはありますか?
はい。SDK が同じボードをプレイヤーのフレンドで絞り込んで返します。
関連ページ
- ゲーム内クエスト:デイリータスクと報酬iDos Games の既製クエストの仕組み。デイリー、ウィークリー、1回限りのタスク、宝箱付きのポイントトラック、タスクのグループのボーナス、そしてダッシュボードでの設定方法。
- ゲーム内ストア:棚、商品、価格iDos Games の既製ストアの仕組み。商品が入れ替わる棚、ゲーム内通貨や現金での価格、無料ギフト、購入上限、そしてダッシュボードでコードなしに設定する方法。
- 新しいプロジェクトに含まれるものiDos Games の新しいプロジェクトは、ログイン、ロビー、6つの既製システムから始まります。ストア、ランキング、イベント、マルチプレイなどのシステムはアプリに必要になったときに追加されます。
自分のゲームを作ろう
アイデアを一文で書くだけで AI コーダーが作り、ゲームは専用リンクで公開されます。