游戏系统

游戏内排行榜:排名、回合和奖励

iDos Games 现成排行榜的运作方式:带回合的榜单、按名次和按积分的奖励、防止刷分的保护,以及如何在后台中设置。

排行榜是一个现成的排名系统:带回合的榜单,以及按名次和按积分的奖励。 分数、名次和奖励都由服务器计算。你在后台设置榜单,游戏负责提交结果并显示排名。

玩家看到什么

  • 以标签页呈现的榜单:每个都有一张卡片,显示玩家的分数、名次和本回合结束倒计时。
  • 排名靠前的玩家,玩家自己会被高亮,前三名有奖牌。
  • 弹窗中的名次奖励和积分奖励;积分奖励可以当场领取。
  • 上一回合奖励的弹窗:回合结束时自动出现,带“领取”按钮。
  • 如果游戏有赚取积分的模式,卡片上会有**“开始”按钮**。
  • 有奖励待领取时,标签页上的徽标。
排行榜
12 450
320
每周!
赛季
我的分数12 840
排名#7
2天 04:13 后结束
奖励
开始
ShadowFox25 120
2Mira22 980
3KnightOwl19 400
4Pixel_Pete15 210
5Luna14 030
6Arrow13 115
7你12 840
8Grizzly11 900
每个启用的排行榜都是一个标签页;徽标表示有奖励待领取。
玩家卡片:分数、排名和本轮结束倒计时。
名次和分数奖励从这里打开;“开始”进入游戏模式。
前三名有奖牌,玩家在列表中高亮显示。
示例. 排行榜界面:带回合计时的玩家卡片和排名列表。

榜单的结构

  • 回合。 榜单按周期重复(例如每周),按计划运行,或作为一串回合运行。
  • 分数的计算方式。 所有结果之和、最好成绩、最快时间或最后一次的值。
  • 名次奖励:回合结束时按名次区间发放:第 1 名、第 2 至 3 名、第 4 至 10 名等等。
  • 积分奖励:回合内的里程碑:“本周赚到 1000 积分”。

积分从哪里来

积分来自榜单上设置的来源:

  • 游戏提交的结果(ClientScore)。游戏发送一个数字,例如一局跑酷的分数。⚠ 请为这个来源设置限制:单次提交上限、每日上限和两次提交之间的间隔。没有这个来源,榜单根本不接收游戏发来的任何数字。
  • 服务器自己统计的事件,例如购买或完成的任务。这些无法在游戏中伪造。

步骤 01把排行榜加入项目

告诉 AI 编程助手:“加一个按最高分排名的每周排行榜”。它会安装现成的系统,并让游戏提交结果。后台中至少启用一个榜单后,标签页才会对玩家显示。

步骤 02设置榜单

打开后台,选择你的项目,进入 实时运营 → v2 → 排行榜。

  1. 点击添加排行榜,设置它的 ID,例如 weekly_score。
  2. 选择回合计划和分数的计算方式。
  3. 添加积分来源。如果积分由游戏提交,就使用带限制的 ClientScore。
  4. 设置名次奖励,如果需要,再设置积分奖励。
  5. 点击保存。

页面上的 AI 按钮会打开助手:用文字描述榜单,它会提出修改,你检查后保存。

步骤 03测试并发布

在测试版中提交几次结果,观察名次的变化。设置通过单独的操作发送到正式应用,请看发布与链接。

开发者须知

排行榜通过 @idosgames/core 中的 client.leaderboard 工作。

TypeScript
// 提交结果:服务器应用计分规则和限制
const sub = await client.leaderboard.submitScore('weekly_score', 150)
if (!sub.ok) return showError(sub.error)
sub.data.NewScore // 计算后的分数

// 有多个榜单的界面:一次请求获取排名列表和玩家进度
const overview = await client.leaderboard.getOverviewBatch(['weekly_score', 'season_pvp'])

// 领取所有待领奖励:名次奖励和积分奖励
await client.leaderboard.claimAllRewardsBatch(['weekly_score', 'season_pvp'])
  • SDK 会直接拒绝零或负数的分数,不发送请求。
  • 新分数请从响应中的 NewScore 读取:在“最好成绩”规则下,较差的结果不会改变分数。
  • 好友排名是 getFriendsLeaderboard(leaderboardID)。

每个字段都在技能 leaderboard-system 中有说明,由 SDK 的 MCP 服务器提供。

常见问题

玩家能从游戏里发送一个超大的分数作弊吗?

只要榜单设置正确就不能。榜单只通过 ClientScore 来源接收游戏发来的数字,而这个来源有限制:单次提交上限、每日上限和两次提交之间的间隔。

一个游戏可以有多少个排行榜?

可以有多个。每个启用的榜单都是排行榜界面中一个独立的标签页,有自己的回合和奖励。

有好友排行榜吗?

有。SDK 会返回按玩家好友筛选后的同一个榜单。

另请参阅

制作你自己的游戏

用一句话描述你的想法,AI 编程助手会把它做出来,并以独立链接上线。