时间:2023-01-02 13:14:00
很多伙伴都在询问如何构建游戏服务器的问题,今天,本站的编辑整理了所有关于如何构建游戏服务器的问题。 我希望能帮到你。
先了解游戏类型,再了解搭载人数是多少,以及开发周期是多长。 我们需要根据它们来确定游戏架构和技术选择。
对于gameplay来说,其本身是一个大循环,以一定的频率进行tick,接收来自客户端和其他服务器的rpc,处理逻辑,进行数据的落地和向客户端和其他服务器的数据发送。 对于一般的gameplay来说,是在同一过程中同步记述的,同步的实现大多是单线程的,或者使用coroutine实现了actor这个模型。 由于大多数游戏交互相对较多,无论是服务与玩家之间的交互还是玩家与玩家之间的交互,考虑到多线程同步问题,都非常复杂、容易出错,因此一个服务中的同一时间在一个线程中执行。
在mmo和某些竞技类游戏中,往往有场景管理的概念。 例如,一个玩家需要移动并告诉周围的所有玩家。 复杂性是n*n。 减少这个n,就有了AOI算法。 例如,九宫格、十字链表等。 如果刚开服的时候,很多人挤在一个主城,即使采用九宫格、十字链表等AOI算法,同一屏幕内玩家的数量也很多。因为客户端渲染的单位数量比服务器少一个数量级玩家多的时候看不到不同的线,玩家少的时候进行合并。
取得帧同步的一些关键点需要表示与逻辑分离、随机算法与随机种子的一致性、数学库的浮点变换点、三角函数采用泰勒展开或查表法、有保证的容器(
目前,很多游戏在线更新bug、不断更新逐渐成为强烈的需求,实现这种方式主要是通过脚本热更新、热重启逻辑内存以及ab服务切换来实现
以上是关于如何构建游戏服务器的全部内容。 如果还有其他疑问,请关注【230890.com】