在游戏开发中,角色id或者公会id等都需要做唯一设计,是考虑到不同平台,不同服务器,方便以后合服。
通过平台id,服务器id,可以唯一确定一个服务器标识(可以考虑的游戏实际情况,设定服务器id和平台id的大小)
唯一key就是一个累加器,每创建一个玩家+1,这样就可以唯一标识每个玩家id
[color=blue]平台ID(PlatId)服务器id(ServerId)唯一key(UniqueKey)[/color]
通过平台id,服务器id,可以唯一确定一个服务器标识(可以考虑的游戏实际情况,设定服务器id和平台id的大小)
唯一key就是一个累加器,每创建一个玩家+1,这样就可以唯一标识每个玩家id
[color=blue]平台ID(PlatId)服务器id(ServerId)唯一key(UniqueKey)[/color]
id设计总共43位,高10位为PlatId 中间10位为ServerId 低23位为UniqueKey,如下:
1 10 20 43
|----------|----------|-------------------|
10位 10位 23位
PlatId最大值 = 2^10 - 1 = 1023
ServerId最大值 = 2^10 - 1 = 1023
UniqueKey最大值 = 2^23 - 1 = 8388607
唯一id = (PlatId bsl 33) bor (ServerId bsl 23) bor UniqueKey
本文介绍了一种游戏开发中角色ID的设计方案,通过结合平台ID、服务器ID与唯一Key确保ID的唯一性,适用于跨平台及多服务器环境。该方案采用43位ID,包括10位平台ID、10位服务器ID和23位唯一Key。
1145

被折叠的 条评论
为什么被折叠?



