0

我目前正在尝试为我的游戏实现成就系统,但找不到更好的方法来实现一些复杂的系统,例如:玩家收集了 x 个硬币,在至少 x 秒内完成关卡,杀死 x 个敌人等......请问你能分享你的经验吗?

其次,我们为什么不直接在本地实现成就系统,而不是使用像 Scoreloop 或 OpenFeint 这样的服务器?或者换一种说法,使用服务器管理玩家成绩有什么好处?

4

1 回答 1

1

首先回答你的第二个问题,使用服务器的好处是与其他人共享信息,这样他们就可以“竞争”或“赞美”其他领导者。您可能还有一个网站和社区来建立追随者,而排行榜(有点像这个有积分的网站)有助于推动更多的活动和粘性/忠诚度。

第一个问题,你可能会看一下像 Redis 这样的快速存储解决方案中的 Set 结构或 Ordered Set 结构。查看这些文章以获取示例:

您需要问自己的问题是您是想在设备上还是在客户端/服务器上完成这一切,这将决定您的解决方案。你可以有一个发生的“事件”列表,每个事件都有一个“类型”(即收集硬币,快速完成关卡,杀死敌人),这可以在服务器或设备上。然后,您可以有规则来测试“规则”并计算这些事件以解锁更多级别、功能,或者可能只有在您的服务器上发布对该用户的一些认可(仅在重要时节省网络带宽)。

于 2012-07-15T15:39:59.803 回答