1、“.....以期最大限度的接触到联网游戏开发过程中的不同问题,解决实际开发过程中遇到的不同问题。本文的主要组织结构本文是按照以下组织结构进行展开的第章是引言,主要介绍了论文的研究现状,对本文的主要内容进行了简述。第二章详细介绍了本系统开发过程中所使用到的相关技术,和联网游戏开发过程中所必须的以及网络通讯协议所需的。第三章介绍了系统的总体架构开发的基本原则和设计模式,并对系统主要业务进行了分析。第四章详细介绍了本系统的主要功能及实现方法。第五章对系统进行了测试,并简要的描述了测试结果。第六章对全文进行了总结罗列了本系统的不足和对本文对未来游戏行业的发展的影响的展望。第二章相关技术介绍第二章相关技术介绍游戏引擎随着智能手机游戏行业的快速发展,越来越多的智能移动设备被投放到市场上,大量的智能移动设备带来了大量的游戏用户,形成了如今如此大的市场。从植物大战僵尸到愤怒的小鸟,各种游戏也大量投入到市场中......”。
2、“.....与此同时等游戏平台多样性给开发者带来了很大的问题,如何能够次编写代码,只需少量修改或者不需要修改就可以快速发布到各个平台,最重要的,开发者不需要花费大量的时间去学习难度很高的的移动版本,在学习的过程中有充足的文档支持,这些都对智能手机游戏引擎提出了较高的要求。的出现,满足了智能手机行业的需求。是个基于,协议的开源轻量级的游戏引擎框架,它具有跨平台的特性,所谓跨平台是指游戏开发者只需要次编码,就可以很容易的发布到其它平台。和很多人理解的不样,不仅仅是个图形渲染库,它还集成了开发游戏所必须的声音模块,模拟现实世界物理系统的物理引擎。为了方便开发者使用,官方团队还提供了易用的场景编辑器,而且为了方便不同类型的开发者,还发布了支持不同语言的版本,例如版本,版本等,这大大降低了游戏开发者的学习成本。北京大学硕士学位论文图架构图当然手机游戏引擎市场上还有引擎,引擎等收费引擎,在市场上这些引擎也占有席之地......”。
3、“.....包括以下主要优点得天独厚的游戏的优势,最初研发团队就把定位成专注于游戏的引擎,所以在手机游戏市场上,是绝对的首选完全免费开源,相对于等收费引擎来说,不管在游戏引擎的可扩展性和游戏的经济性来说,都对开发者做了充分的考虑,这也更有利于引擎的传播和使用提供了较全的图形图像渲染组件和系列简单易用的开发工具,这些工具涵盖从游戏前期设计资源制作资源优化开发以及调试等流程的整套解决方案团队在不断的优化着游戏引擎的渲染性能,达到了在保证较高帧速率的情况下仍然可以获得很好的渲染效果。手机联网游戏当然要联网,这就要用到网络通信接口。由于原生支持协议,在定程度上有局限性。这就需要寻找个对移动设备支持较好的通讯协议。是系统中通用的网络接口,它不仅支持各种不同第二章相关技术介绍的网络类型,而且也是进程之间通信的机制,又因为现在市场上的主流手机端操作系统,安卓和都是类系统,所以对它们来说是无缝支持的,故选择做为网络通信接口。支持多种套接字类型......”。
4、“.....提供了流式套接字这种套接字形式,这种形式的套接字是全双工的,顺序的,而且在传输的过程中,在协议的最底层就定义了数据是可靠传输的,它使用协议来传输数据。数据报套接字,和流式套接字样,这种类型的套接字和提供全双工的数据传输,但是这种形式的套接字传输数据是不可靠的。它不像流式套接字,在数据传输的时候需要维持个数据传输通道,因为它根本不需要连接,这样,它不但不保证数据的顺序到达,它连数据能不能被传送到目标地址也没有保证。这种类型的套接字比较适合开发对战射击类游戏原始数据套接字,这种类型的套接字使用户可以使用底层通讯协议,这种形式的套接字般是面向数据报的,它的存在是为了方便那些不管是在游戏引擎实现中,还是在实际游戏开发过程中,单例模式都是非常重要的种设计模式,而且在轻度手机联网游戏中,很少对网络有复杂的要求,比如说在个游戏里面即需要使用,又要使用。所以在封装设计网络模块时......”。
5、“.....只使用种通讯协议,或者,而且从游戏开始连接服务器,到游戏结束,般只需要客户端和服务端维持个连接即可,这就是典型的单例模式的使用场景。这样设计不仅从逻辑上很容易理解,还在定程度上简化了通讯模块的设计结构。网络消息工具的实现在网络传递的消息生成的过程中,需要不停的访问游戏对象的数据,以达到和服务端进行通讯的目的,而在联网游戏的开发过程中,往往会在多处需要对消息进行组装,如果每次发送数据到服务端的时候都使用同样的方法对消息进行封装,这明显不符合面向对象的编程原则,而且这也不利于代码重用。另外,在网络消息发送之前,需要对要发送的数据的长度等信息进行组装,如果不进行二次封装,对开发人员来说,无疑会增加工作量。所以本系统在开发过程中,专门封装了个消息类,用来组装要发送的消息,以最大程度的增加代码复用,减少开发人员的工作量。该类的主要实现代码如下北京大学硕士学位论文方法主要利用对数据进行序列化,为下面计算要发送数据的长度做准备......”。
6、“.....在该方法中,会先计算出消息的长度,然后由消息的长度加上长度标识位的长度进行发送。方法主要是用来完成数据的发送,该方法会返回布尔类型的值来标识数据是否发送成功。般情况下,该业务逻辑层是被大多数人忽略的,游戏开发人员往往会把发送消息的逻辑代码整块的混合在控制显示的代码里,这不仅不符合软件工程要求,而且不利于团队合作,因为除去这逻辑层,就要求客户端开发人员要去关心网络的的实现。所以采用这种实现方式也更有利于区分开客户端和网络端,使逻辑第四章系统部分功能的实现更加清晰,也便于团队协作。通讯线程与线程通讯模块的封装与实现在该项目中,网络通讯模块在接收到从服务端传送过来的另外方的数据以后,需要把数据告知游戏渲染主线程对方数据的变化,并及时更新本客户端中相应游戏角色的状态。但是在中,子线程是无法更新主线程界面的,也就是说,子线程是无法通过直接调用主线程的函数来操作游戏内界面刷新的事物......”。
7、“.....相应的状态就得不到改变。为了解决这个问题,本项目中采用回调函数的方法,用回调函数来改变主线程渲染角色的状态,结合游戏主线程的特点,游戏主线程每帧去查询相应角色状态的改变,如果状态发生改变,则马上把改变后的状态更新,根据更新后的状态对游戏角色做出相应的变化。以更新对战另方玩家状态为例,在主线程中注册回调函数的主要实现代码如下回调函数的主要实现如下解析命令等待开始游戏小结本章根据系统的设计,分四个层次对主要的功能的模块进行了编码实现,对部分通用的功能进行了封装实现和对主要逻辑代码进行了展示。第节系统类图以按客户端和服务端划分,分别对客户端和服务端的类结构北京大学硕士学位论文进行了总体展示。第二节通过对游戏界面部分的设计与实现,研究并分析了在手机界面的设计原则,特别是对屏幕适配的原理和实现方式进行了详细探究,以期最大程度的增加游戏的适用性。另外还探究了游戏组件的设计原则,以期给游戏玩家带来更好的游戏体验......”。
8、“.....并对跑酷类游戏网络部分的设计原则和通讯协议的设计进行了探索,同时对网络部分进行封装,使网络模块更有利于集成,更好的为游戏通讯服务。第四节对实际游戏开发过程中经常遇到的问题图形渲染线程和网络通讯线程通讯的问题进行了解决方法的探究和实现。以上核心代码的实现,都是在实际游戏开发过程中使用的解决相关问题的方法,也是游戏实现过程中最核心的部分,通过本章的完成,基本搞清了联网手机游戏的开发难度和工作量,同时通过对核心部分进行封装和实现,方便了代码的重用,这也符合软件工程代码复用性的原则。第五章系统测试第五章系统测试系统测试及分析压力测试压力测试是种基本的质量保证行为,它是软件测试的重要部分。它的测试原理很简单,就是测试服务器在系统资源匮乏的条件下,服务端的处理游戏逻辑的能力。对于游戏服务器来说,在线用户数量可以很多,这就要求对服务器的吞吐率和并发连接数做出预先判断。所谓吞吐率......”。
9、“.....单位是,指的是个并发用户数下单位时间内处理的请求数。个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。它代表了两个含义吞吐率和并发用户数相关不同的并发用户数下,吞吐率般是不同的。并发连接数指的是个时刻服务器所接受的请求数目,简单的讲就是个会话。单元测试单元测试是项目测试中的不可缺少的测试类型。在开发人员开发软件的过程中,它往往被开发人员用来测试自己编写的代码。本系统的单元测试采用自带的测试工具。对每个方法,过程进行测试。单元测试是由程序员自己来完成的,执行单元测试,就是为了检测所测试的代码是否和预期的致,这个方法是最常用的测试方法,并且在开发过程中就体现了出来的。服务端压力测试结果在普通的上部署该系统,局域网条件下,采用黑盒测试,当每秒收发个数据的情况下,在客户端连接数量达到的时候出现部分用户网络数据北京大学硕士学位论文包延时的情况,消耗......”。
1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。
2、下载的内容跟在线预览是一致的,下载后除PDF外均可任意编辑、修改。
3、所有文档均不包含其他附件,文中所提的附件、附录,在线看不到的下载也不会有。