1、 基于 Unity3D 多平台网络斗地主的设计与实现学院名称: 计算机工程学院 专 业: 计算机科学与技术 班 级: 10 工程 W 学 号: 10141303 姓 名: 丁小未 指导教师姓名: 朱明放 指导教师职称: 副教授 二一四 年 五 月本 科 毕 业 设 计 ( 论 文 )江苏理工学院毕业设计说明书(论文)1基于 Unity3D 的多平台网络斗地主的设计与实现摘 要:斗地主是一款非常经典的游戏,可以说是家喻户晓,玩法也比较的简单,娱乐性也比较强,老少皆宜。随着互联网技术的飞速发展,斗地主呈现的形式也变得多样性,由传统的纸牌游戏衍生为移动端单机游戏,然后到多人多平台的即时在线联网游戏。
2、形式的变化能够让人足不出户也能感受到和伙伴们一起玩游戏的乐趣。本设计的游戏规则是针对一副牌为准,本文论述了网络斗地主游戏的基本算法设计以及大体的设计框架和思路,并且以图文,部分核心代码解释的形式展示出来。本设计采用了 Unity3D 作为开发引擎,结合 Visual studio 2010 开发工具,通过基本的socket 通讯和一些算法,最终实现了多平台的多人网络斗地主的设计。本文基于 Unity3D 的游戏开发设计过程中,采用了 MVC 的设计模式,这也符合Unity3D 工作模式;采用 C#脚本语言也更符合 Unity3D 游戏设计面向对象的设计理念,游戏设计就是将面向对象这一特性发挥到
3、极致;采用 MONO 开源跨平台框架能够大大节约游戏的开发效率以及开发成本,最后通过实际的完成效果来验证了基于 Unity3D的多平台网络斗地主游戏设计具有高效性,高品质和低门槛性的特点。关键词:Unity3D,斗地主,手机游戏,游戏引擎,socket,网络通讯,MVC,MONO江苏理工学院毕业设计说明书(论文)2Design and implementation of multi-platform network Landlords Based Unity3DAbstract: Landlords is a classic game, which can be said to be a ho
4、usehold name. The rules are relatively simple, and kind of the entertainment is relatively strong. As a result, the game has gain popularity among both the young and the old. With the rapid development of Internet technology, the form of the game is of great diversity. The game derived from the trad
5、itional card game, then turned into the stand-alone mobile phone game, and now has become a multi -platform instant online multiplayer networked game. The changes in the game form make people who stay at home enjoying the fun of playing the game together.The design of the rules is according to a dec
6、k of cards. The article discusses the basic network Landlords algorithm design and the general framework and ideas of the game. The game interprets itself successfully by the graphic form and the part of the core code. This design uses the Unity3D as a development engine. Besides, it combined with V
7、isual studio 2010 development tools. Ultimately we finish the design of a multi -platform multiplayer online Landlords by some algorithms and the basic socket communication.The article is based on the design process of Unity3D game development. The MVC design pattern is consistent with Unity3D mode,
8、 and C # scripting language is good for the design object-oriented design of Unity3D game. Object-oriented game design is supposed to make the best of the feature .The MONO open source framework can greatly reduce the efficiency of game development as well as development costs. Finally we validate t
9、he high efficiency, high- quality and low-threshold characteristics of the multi-platform network game which based on Landlords Unity3D by achieving the actual results.Keywords:Unity3D, Landlords, mobile games, game engine, socket, network communications, MVC, MONO江苏理工学院毕业设计说明书(论文)I目录前言.1第 1 章 概述.21
10、.1 系统开发背景.21.2 设计的目的.31.3 设计的意义.3第 2 章 开发环境及相关技术介绍.42.1 开发环境介绍.42.1.1 Unity3D 简介.42.1.2 Visual Stdio2010 和 MonoDevelop.52.1.3 Xcode 简介 .52.2 C#语言和 Javascript 脚本 .62.2.1 C#语言 .62.2.2 Javascript 语言 .62.3 IOCP 框架简介 .72.3.1 IOCP 内部工作队列图 .72.3.2 程序实现 IOCP 模型的基本步骤 .82.3.3 使用 IOCP 模型和不使用 IOCP 模型通讯的对比 .82.4
11、 本章小结.10第 3 章 系统需求分析.103.1 用户功能需求分析.103.2 系统性能要求.103.3 可行性分析.10第 4 章 总体方案设计.114.1 纸牌设计.114.1.1 牌型设计.114.1.2 出牌类型(游戏规则)设计 .12江苏理工学院毕业设计说明书(论文)II4.2 C/S 模式 .124.2.1 基于 C/S 模式的服务器端设计流程图 .124.2.2 基于 C/S 模式的客户端设计流程图 .124.3 游戏逻辑程序结构.134.3.1 数据层.134.3.2 控制层.134.3.3 显示层.144.4 游戏设计流程图.144.5 数学建模.15第 5 章 详细设计
12、与系统实现.165.1 斗地主洗牌算法.165.2 斗地主之“排序”算法.165.3 基于 IOCP 的 Socket 通讯.185.4 User 对象的设计 .195.4.1 玩家状态设计.195.4.2 玩家的属性以及手牌的操作方法.205.5 Table 对象的设计 .215.5.1 桌子状态设计.215.5.2 Table 的属性及方法 .215.6 粘包问题.235.6.1 TCP 和 UDP 的介绍以及区别 .235.6.2 粘包介绍及处理.23第 6 章 发布和测试.256.1 服务器端性能检测.256.2 打包发布 Android 应用 .276.2.1 导出 Android
13、设置 .276.2.2 真机效果图.286.3 打包发布 IOS 应用 .296.3.1 导出 IOS 设置 .296.3.2 真机效果图.31江苏理工学院毕业设计说明书(论文)III6.4 打包发布 Web 应用 .326.4.1 关于 UnityWebPlayer 的 SandBox Security(安全沙盒机制) .326.4.2 导出 Web 设置 .326.4.3 运行结果.336.5 打包发布 PC/Linux 应用 .346.6 整体测试效果.34结束语.40致谢.42参考文献.43附录 A 网络斗地主的游戏规则 .44附录 B 部分程序代码 .47江苏理工学院毕业设计说明书(
14、论文)第 1 页 共 13 页前言近年来,随着科技和互联网的飞速发展、智能手机的迅速普以及性能的不断提升,游戏行业也突飞猛进,游戏已经逐渐成为人们公认的第九种艺术。现在各个平台上的游戏逐渐涌现,从最初的红白机,到 PC 机再到 XBox 平台发展到如今的手机移动平台,从端游到页游再到手游甚至是体感游戏等表现形式也逐渐丰富,当然成功的也数不胜数。比较大型的游戏有:反恐精英、星际争霸、使命召唤,生化危机等。当然也涌现了诸多经典的网络小游戏,比如麻将、拖拉机、中国象棋等。此外手机游戏,如愤怒的小鸟、保卫萝卜、FlappyBird、切水果、捕鱼达人等也赢得许多人的青睐。这些各种各样形式的游戏给如今生活
15、在网络时代的人们带来了无限的生活乐趣。斗地主是一款相当经典的游戏,当然前人也做了不少版本,有移动端,pc 端甚至是 Web 端的。可能他们在设计的过程中只是正对某一平台然后使用特性的开发技术来开发,这样的话如果想要实现多平台的设计就需要极大的时间成本和劳力成本。而Unity3D 引擎的问世,最大的解决了这一问题,它能够实现一次开发多平台发布的特点,这也是为什么 Unity3D 引擎在短暂的时间里能够发展的如此迅速的原因。将斗地主游戏从单机版到网络化,使得现实中的多个玩家能够在同一个虚拟房间里面进行对局,并且能够实时的聊天,同时还不会受到平台的限制,你可以选择 pc,web 或者是移动端,从而能
16、更好的体验游戏,娱乐生活。江苏理工学院毕业设计说明书(论文)第 2 页 共 13 页第 1 章 概述1.1 系统开发背景随着 Unity3D 引擎的横空出世,游戏开发技术也变得越来越成熟,这款引擎也逐渐改变了整个游戏圈的开发格局,之前火遍了全球的神庙逃亡就是基于 Unity 引擎开发的一款比较成功的手游大作,这也更很好的证明了 Unity 作为一款游戏引擎还是值得开发者的信赖。Unity 相比较之前大家都熟悉的 Unreal 虚幻引擎,我认为 Unity 做的更好,它最值得人称赞的就是它的跨平台性是其他游戏引擎无法匹敌的,Unity 能够做到一次编写多平台发布,能够大大节省了项目开发周期以及开
17、发成本,并且还得够达到Unreal 虚幻引擎开发出的那种游戏体验效果。Unity 开发也算是基于.NET 平台上的一个拓展,它的内核是 Mono 框架,而 Mono 是基于.NET 的一个跨平台的继承开发环境,它能够很好的移植到各个平台,所以 Mono 的问世也给广大 .NET 平台开发者带来了福音,终于不会在收到微软的约束,开发出来的东西只能运行在 windows 平台。正因为这样,Unity 也是一致收到广大.NET 开发者的喜爱。发展至今 Unity 已经支持了基本国内外所有的主流平台。也正是因为这一特性,才使得更多的公司更多的开发者对它抛出了橄榄枝,达到了开发出来的游戏,不要受平台的限
18、制,能够给玩家更多不同的平台体验,它的这一特性也推动了 Unity 引擎的飞速发展。结合自身的优势,由于我大学期间一直自学的.NET 开发,所以还是有一定的.NET开发基础和经验,加上喜欢钻研,学习了其他 Android、IOS 等移动平台开发,所以了解的技术范围还比较广泛,感觉做 Unity 开发能将我所了解的这些多平台开发的知识能够很好的融会起来,所以当第一时间了解到 Unity 之后,我就对它产生了浓厚的兴趣。之所以选择做斗地主游戏,因为首先我觉得它是一款比较经典的游戏,经典的往往能够是永恒的,在日常生活中,斗地主也常常是人们娱乐的一个项目之一,当然想完成它还是有一定的难度,设计都不少的
19、算法,并且我将其网络化,开发起来对我而言还是有一定的挑战性,但又不是力所不能及,只要努力一下还是能实现的。因此就确定了这个多平台的多人网络斗地主的课题。江苏理工学院毕业设计说明书(论文)第 3 页 共 13 页1.2 设计的目的从玩家的角度,这种网络小游戏满足了玩家休闲的需求,让玩家换一种方式重温经典,能够在不同的平台,不同的的地区,还能够在同一个“房间”进行对局,也可以实时交流,也能结识更多的朋友,增加了游戏体验的乐趣,从而丰富了人们的业余生活,在紧张的工作之余带给人们最大程度的放松。从自身的角度,将大学所学的理论知识应用于真实的项目开发,做到了理论与相结合,理论知识指导实际操作,实际操作反
20、过来也巩固了理论知识,从而更好的提升了自己的能力和项目经验。1.3 设计的意义通过亲自实践,验证了 Unity3D 引擎的跨平台性,也系统的了解到一个游戏项目设计的整个流程,从最初的规划到最后的实现,为今后走上工作岗位打下基础。最后能够圆满实现,锻炼了自己的能力,同时做出来的游戏也增加了人们业余生活的乐趣。江苏理工学院毕业设计说明书(论文)第 4 页 共 13 页第 2 章 开发环境及相关技术介绍2.1 开发环境介绍所谓工欲善其事,必先利其器。要做一个项目的开发,首先得选择好合适的开发工具,市场上行行色色的开发工具很多,这就需要要对比选择,根据项目需求选择最佳的搭配工具。本设计采用的开发环境是
21、 Windows7 旗舰版操作系统,搭载 Unity3D 4.2.0f1 专业版引擎。采用 Visual Stdio 2010IDE 编辑 C#脚本。2.1.1 Unity3D 简 介Unity 是由 Unity Technologies 开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity 能够运行在 Windows 和 Mac OS X 系统下,可发布游戏至 Windows、Mac、Wii、iPhone、Windows phone 8 和 Android 等平台。也可以利用Unity web player 插件发布网页游戏。Unity 具有强大的脚本系统,它的核心思想是面向对象,把游戏场景中有所的物体都抽象成可编程的对象,从而将游戏编程转化为游戏对象的控制和调度,而控制游戏对象和对象调度的就是我们所说的脚本系统,关系图如下(图 2-1):图 2-1 Unity 脚本系统
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。