目前的网络游戏服务器架构不大合理,导致即使只有几百个玩家,玩家体验就下降很多。目前我就面临着这样的难题。
现在还没有解决方案,不过我有一个想法,应该可以提升游戏服务器对客户端请求的响应速度。
1、将服务器的响应处理程序做成一个类,而不是一个全局函数。
然后每张地图都包含一个响应处理程序,这样客户端的响应在地图级别就得到了解决,而不用上升到游戏级别,当玩家在各个地图比较分散时,那么每个玩家都会有较好的游戏体验。
2、将游戏响应处理的switch结构优化成 std::map结构,使用二叉树来提高查找匹配处理函数的速度,而不是使用case进行顺序匹配。
暂时只想這么多了,现在还有很多地方需要学习,真希望能制作出一款优秀稳定的游戏,继续向伟大游戏迈进。