网络游戏的基本编程技术

网络游戏的基本编程技术

ID:24623548

大小:2.00 MB

页数:17页

时间:2018-11-15

网络游戏的基本编程技术_第1页
网络游戏的基本编程技术_第2页
网络游戏的基本编程技术_第3页
网络游戏的基本编程技术_第4页
网络游戏的基本编程技术_第5页
资源描述:

《网络游戏的基本编程技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第11章网络游戏的基本编程技术网络的诞生是信息领域的一场革命,引导出一种新的人际之间的交流模式。随之而来的网络游戏彻底改变了游戏的方式和规则,符合人是社会这一属性,是一种全新的游戏模式。在单机版计算机游戏中,玩家只能一个人在游戏世界中探索,因此是人机交互。在网络游戏世界中,玩家可以和其他玩家共同体验游戏的乐趣,获得团队精神的体验,因此是人际交互。由于游戏的人工智能还远未达到能模拟人的思维和智慧的程度,人际交互的真实度和刺激性将远强于人机交互,这就是单机版游戏无法提供的可玩性。例如,三维游戏领域的大师Jo

2、hnCarmack坚持在QuakeⅢ游戏中只提供多人对战模式。长久不衰的对战游戏(CS)反恐精英也是因为它的竞技性、团队性提高了游戏整体的可玩性。美国的一些军事训练机构更是采用多人对战模式的军事类仿真游戏来训练人员。在中国,网络游戏的盛行也说明了网络游戏的独特魅力。网络和网络游戏是一个飞速发展的领域,本章将介绍一些基本的网络和网络游戏编程概念,并配有必要的例程。游戏程序员需要进一步阅读和不断实践,才能自由、高效地编写出受人欢迎的网络游戏。11.1网络游戏的基本架构网络游戏的最常见的基本架构是Peer-t

3、o-Peer对等通信结构,如图11-1所示,即在多个玩家参与的游戏中,各玩家之间采用Peer-to-Peer的直接通信方式。在网络通信服务的形式上,一般采用浮动服务器的形式,即其中一个玩家的机器既是客户端,又扮演服务器的角色,一般由创建游戏局的玩家担任服务器(主机)。很多对战型的RTS网络游戏都采用这种结构。网络游戏的另一种架构是基于游戏大厅代理的结构,通过会话大厅(lobby)结构,为不同玩家牵线搭桥,既直接管理客户端,也管理游戏局,是回合制网络游戏的常见类型,如图11-2所示。网络游戏的最典型的结构

4、是C/S结构,如图11-3所示,特别适合于多人在线游戏,如RPG,成千上万人进行同一场游戏。服务器上有完整的游戏世界模型,玩家在客户端去观察这个世界,并与之互动。图11-1网络游戏的Peer-to-Peer对等通信结构图11-2基于游戏大厅代理的网络游戏结构图11-3基于C/S的网络游戏结构C/S结构的优点是能够充分发挥客户端计算机的处理能力,很多工作可以在客户端处理后再提交给服务器,使得客户端响应速度快。对于网络游戏来讲,这是十分关键的。其缺点就是网络游戏的升级比较麻烦,每次升级需要客户端下载体积庞大

5、的更新软件,然后进行安装,对于一些带宽并不是十分充足的用户而言,升级就成了游戏的梦魇。不过,良好的客户端程序框架设计完全可以避免升级时下载庞大的更新软件。比如,客户端软件可以把场景定义文件独立出来,客户端程序在运行时动态加载场景定义文件。这样,当网络游戏的设计者发现需要增加游戏场景时,他只需要更新一个场景定义文件就可以了,当然还需要一些必需的场景资源文件,如新增加的图像、背景音效等。一个典型的基于C/S架构的回合制游戏的运行流程如图11-4所示。图11-4基于C/S架构的会合制游戏流程11.2Winso

6、ck编程基础由于Windows操作系统的广泛普及,在PC机上以Windows为平台的游戏占据了游戏市场的绝大部分。本节主要介绍Windows网络编程的规范:Winsock编程。11.2.1TCP/UDP简介Internet是一个包交换(packet-switched)、容错(fault-tolerant)的网络。包交换意味着在Internet上传输的信息实际上是被分装成一个个小包(大小从几字节到几千字节)从某点传送到另一点。容错意味着包传输的路径上将可能发生错误,如服务器出错等。如果传输路径上的服务器发

7、生了错误,那么传输的包将会选择另一条路径,直到到达目的地。在发送数据时,有两个任务是十分关键的。第一,数据被分割组包,并在另一端重组。第二,每个数据包单独在网络上传输,直到完成任务。在TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/网际协议)协议结构中,这两个任务分别交给了TCP和IP,前者负责数据包的分割和组装,后者负责数据包在网络上的传送。面向连接的TCP协议保证了FIFO操作(数据按顺序到达目的地),保证从一端发送的TCP流都将

8、到达目的地。为了保证数据的顺序到达,TCP协议需要等待一些丢失的包来按顺序重组原来的数据,同时还要检查是否有丢包发生,因此它的运行速度很低。TCP协议以牺牲一部分传输性能为代价,来获取可靠的网络传输。UDP(UserDatagramProtocol,用户数据报协议)是TCP协议的替代选择。UDP是一种无连接的协议,可以在网络的两个节点间传输确定大小的包,但不保证这些包的传输路径和到达顺序。这类似于邮局的送信系统,一封在上午8点投入邮箱,另一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。