过去几天我一直在从事游戏开发,目前正在优化网络套接字框架数据。我已经将数据类型从简单的JSON更改为 arraybuffer ,并且该部分工作正常。实体数据(例如位置和旋转)可以毫无问题地发送和接收。
实体ID
是问题所在。当前,客户端通过其ID
跟踪每个实体,以存储平滑移动的最后位置,并且因此它将继续存在。
服务器上的每个实体当前都有一个UUID
(例如f2e9f5e2-a810-416e-a1ce-a300a0b7a088
)。即 16个字节。我没有发送!
现在是我的问题。他们如何在大型游戏中做到这一点?有什么方法可以解决这个问题,或者生成一个唯一的2字节或其他UID
的低带宽的方法?
更新
我需要256个以上的ID
,这意味着1个字节显然不起作用。 2字节给我65535 ID
s,这可能就足够了。我也知道,遍历一个循环直到找到下一个免费ID是一种选择,但这也许太“昂贵”了。