游戏场景的划分

   游戏空间剖分是针对大型多人游戏的一种优化策略。多个玩家同时在线,客户端与服务器必须频繁进行数据交互,以保持游戏的同步。如果玩家达到上千个,游戏场景巨大,许多玩家在场景中可能相隔遥远,彼此不能相互看到,也不存在任何沟通。在这种情况下,给每个玩家广播场景的更新消息就会消耗巨大的网络带宽。如果将场景进行预先剖分,并在游戏进行过程中实时更新玩家所在的子空间,服务器根据玩家所在的空间索引号,然后只对相同空间中的玩家进行数据更新的广播。这样就可以节省大量的带宽,大大减少网络的总体负荷量
    假设一个游戏场景的尺寸是10km*10km,同时在线玩家有100000个,如果使用通常的广播方法,假定每个玩家只发送一个更新包,服务器需要1000002个包的传输量。如果先把这个世界均匀剖分100m*100m的小方格,玩家均匀分布,那么每个方格将只有10个玩家,如果一个玩家的更新消息只发送给它所在的方格和周围的8个方格中的用户,那么总共需要发送的用户是90个。因此,服务器需要发送的包的传输量是原来传输量的千分之一。

posted @ 2011-05-19 16:25  红脸书生  阅读(2004)  评论(0编辑  收藏  举报