概述
前言
不管是手游还是端游,貌似都离不开排行榜,没有排行榜的游戏是没有灵魂的游戏,因为排行榜可以让用户分泌多巴胺,这样日活才会上来,有了用户就有钱赚。产品想方设法的让用户留存,设计各种排行榜:个人段位排名、个人积分或金币排名、全球榜单实时排名。如果用户量少的话,直接用mysql一张表存储着用户跟某个段位或者积分,然后查的时候再从高到低order by排序下。当然用户量很少的话是可以的,但随着用户量猛增,达到千万、亿级的话,这个肯定行不通了。你可能说我加索引、再多的话分库分表总行了吧。思路是没错的,但这不是很好的方案,排行榜实时更新,亿级用户这io想象都怕。
常用方案和对比
在游戏中,经常会有当玩家的某一个属性,或者多个属性发生变化的时候会根据一个加权公式来计算score,根据score来动态调整排名,查看前top N的排名用户。那么针对这种需求,我们经常会使用如下一些方案:
方案一:
利用MySQL来实现,存放一张用户积分表user_score,结构如下:
取前top N,自己的排名都可以通过简单的sql语句搞定。
select * from user_score order by score limit 0,10;//查询前10名
算法简单,利用sql的功能,不需要其他复杂逻辑,对于数据量比较少、性能要求不高&
最后
以上就是要减肥手机为你收集整理的关于游戏排行榜设计开发的一些总结的全部内容,希望文章能够帮你解决关于游戏排行榜设计开发的一些总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复