目前我试图为我的游戏实现成就系统,但无法找到更好的方法来实现一些复杂的系统,例如:玩家已经收集了X个硬币,完成的时间不超过x秒,杀了x个敌人等等。你能分享一下你的经历吗?
第二,为什么我们不直接将成绩系统作为本地实现,而不是使用像Scoreloop或OpenFeint这样的服务器?或者换句话说,使用服务器来管理玩家的成绩有什么好处呢?
发布于 2012-07-15 15:39:59
首先回答你的第二个问题,使用服务器的好处是与其他人共享信息,这样他们就可以“竞争”或“赞扬”其他领导人。你也可能有一个网站和社区来建立一个追随者和领导板(有点像这个网站的积分)有助于推动更多的活动和粘性/忠诚度。
第一个问题是,您可以查看快速存储解决方案(如Redis )中的Set结构或有序的Set结构。请查看这些文章中的示例:
您需要问自己的问题是,您是否想在设备或客户机/服务器上进行所有操作,这将决定您的解决方案。你可以有一个发生的“事件”列表,每个事件都有一个“类型”(即收集硬币,快速完成等级,杀死敌人),这可能是在服务器或设备上。然后,您可以使用规则来测试“规则”,并对这些事件进行汇总以解锁更多的级别、特性,或者只有在服务器上发布对该用户的一些识别(只有在重要时才能节省网络带宽)。
https://stackoverflow.com/questions/11493149
复制相似问题