网络多人游戏架构与编程
Posted tekkaman
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络多人游戏架构与编程相关的知识,希望对你有一定的参考价值。
【网络多人游戏架构与编程1】
1、即使在今天,大多数的多人在线游戏在每个游戏会话中仍然限制玩家的数量 ,一般支持4~32个玩家。然而,在大规模多人在线游戏(massive multiplayer online gmme,MMO)中,成百上千的玩家将同时出现在同一个游戏会话中。
2、《星际围攻:部落》的开发者们最终将数据分为以下4种类型:
1)非保障数据。当带宽有限时,游戏选择首先丢弃这些数据。
2)保障数据。
3)最近状态的数据。只有最新玩家数据才是重要数据的场合。如游戏知道了玩家当前的生命值,那么他5秒之前的生命值就不重要了。
4)最快保障数据。如一个玩家的移动信息,在一个非常短的时间内极其重要,因此要忙传输。
3、对等网络模型需要O(n^2)的带宽,而C/S模型只需要O(n)带宽。
4、《星际围攻:部落》的网络模型:
1)平台数据包模块。标准套接字API的封装,可以构建和发送不同的数据包格式。
2)连接管理器。将网络中两台计算机之间的连接抽象化,连接管理器是不可靠的,它保证投递状态通知的正确传输。
3)流管理器。决定允许数据传输的最大速率。把请求按优先次序排列好,在带宽限制下,移动管理器、事件管理器、ghost管理器拥有最高优先级。
4)事件管理器。维持游戏模拟层产生的事件队列,这些事件可以看作是远程过程调用(remote procedure call, RPC)。
5)Ghost管理器。复制被认为与指定客户端相关的动态对象。这些信息按优先级分为“必须知道的”、“最好知道的”
6)移动管理器。当有移动数据可用时,流管理器总是给出站数据包添加所有的移动管理器数据。
5、
6、
7、
以上是关于网络多人游戏架构与编程的主要内容,如果未能解决你的问题,请参考以下文章