基于Unity三D的多人网络斗地主游戏的设计和实现.doc
《基于Unity三D的多人网络斗地主游戏的设计和实现.doc》由会员分享,可在线阅读,更多相关《基于Unity三D的多人网络斗地主游戏的设计和实现.doc(69页珍藏版)》请在咨信网上搜索。
1、本科毕业设计(论文) 基于Unity3D多平台网络斗地主设计与实现学院名称: 计算机工程学院 专 业: 计算机科学与技术 班 级: 10工程W 学 号: 10141303 姓 名: 丁小未 指引教师姓名: 朱明放 指引教师职称: 副专家 二一四 年 五 月 基于Unity3D多平台网络斗地主设计与实现 摘 要:斗地主是一款非常典型游戏,可以说是家喻户晓,玩法也比较简朴,娱乐性也比较强,老少皆宜。随着互联网技术飞速发展,斗地主呈现形式也变得多样性,由老式纸牌游戏衍生为移动端单机游戏,然后到多人多平台即时在线联网游戏。形式变化可以让人足不出户也能感受到和伙伴们一起玩游戏乐趣。本设计游戏规则是针对一
2、副牌为准,本文阐述了网络斗地主游戏基本算法设计以及大体设计框架和思路,并且以图文,某些核心代码解释形式展示出来。本设计采用了Unity3D作为开发引擎,结合Visual studio 开发工具,通过基本socket通讯和某些算法,最后实现了多平台多人网络斗地主设计。本文基于Unity3D游戏开发设计过程中,采用了MVC设计模式,这也符合Unity3D工作模式;采用C#脚本语言也更符合Unity3D游戏设计面向对象设计理念,游戏设计就是将面向对象这一特性发挥到极致;采用MONO开源跨平台框架可以大大节约游戏开发效率以及开发成本,最后通过实际完毕效果来验证了基于Unity3D多平台网络斗地主游戏设
3、计具备高效性,高品质和低门槛性特点。核心词:Unity3D,斗地主,手机游戏,游戏引擎,socket,网络通讯,MVC,MONO Design and implementation of multi-platform network Landlords Based Unity3DAbstract:Landlords is a classic game,which can be said to be a household name. The rules are relatively simple,and kind of the entertainment is relatively stron
4、g. 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 traditional card game,then turned into the stand-alone mobile phone game,and now has become a multi -p
5、latform 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 deck of cards. The article discusses the basic network Landlords algorithm design and the general frame
6、work 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 Visual studio development tools. Ultimately we finish the design of a multi -platform multiplayer onli
7、ne 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,and C # scripting language is good for the design object-oriented design of Unity3D game. Object-oriented
8、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 the high efficiency,high- quality and low-threshold characteristics of the multi-platform network game which
9、 based on Landlords Unity3D by achieving the actual results.Keywords:Unity3D,Landlords,mobile games,game engine,socket,network communications,MVC,MONO 目录前言1第1章 概述21.1 系统开发背景21.2 设计目31.3 设计意义3第2章 开发环境及有关技术简介42.1 开发环境简介42.1.1 Unity3D简介42.1.2 Visual Stdio和MonoDevelop52.1.3 Xcode简介52.2 C#语言和Javascript脚本
10、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 本章小结10第3章 系统需求分析103.1 顾客功能需求分析103.2 系统性能规定103.3 可行性分析10第4章 总体方案设计114.1 纸牌设计114.1.1 牌型设计114.1.2 出牌类型(游戏规则)设计124.2 C/S模式124.2.1 基于C/S模式服务器端设计流程图124.2.2 基于C/S模式客户端设计流程图124.3 游戏逻辑程序构造134.3
11、.1 数据层134.3.2 控制层134.3.3 显示层144.4 游戏设计流程图144.5 数学建模15第5章 详细设计与系统实现165.1 斗地主洗牌算法165.2 斗地主之“排序”算法165.3 基于IOCPSocket通讯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应用
12、276.2.1 导出Android设立276.2.2 真机效果图286.3 打包发布IOS应用296.3.1导出IOS设立296.3.2真机效果图316.4 打包发布Web应用326.4.1 关于UnityWebPlayerSandBox Security(安全沙盒机制)326.4.2 导出Web设立326.4.3 运营成果336.5 打包发布PC/Linux应用346.6 整体测试效果34结束语40道谢42参照文献43附录A 网络斗地主游戏规则44附录B 某些程序代码47前言近年来,随着科技和互联网飞速发展、智能手机迅速普以及性能不断提高,游戏行业也突飞猛进,游戏已经逐渐成为人们公认第九种艺
13、术。当前各个平台上游戏逐渐涌现,从最初红白机,到PC机再到XBox平台发展到如今手机移动平台,从端游到页游再到手游甚至是体感游戏等体现形式也逐渐丰富,固然成功也数不胜数。比较大型游戏有:反恐精英、星际争霸、使命召唤,生化危机等。固然也涌现了诸多典型网络小游戏,例如麻将、拖拉机、中华人民共和国象棋等。此外手机游戏,如愤怒小鸟、保卫萝卜、FlappyBird、切水果、捕鱼达人等也赢得许多人青睐。这些各种各样形式游戏给如今生活在网络时代人们带来了无限生活乐趣。斗地主是一款相称典型游戏,固然前人也做了不少版本,有移动端,pc端甚至是Web端。也许她们在设计过程中只是正对某一平台然后使用特性开发技术来开
14、发,这样话如果想要实现多平台设计就需要极大时间成本和劳力成本。而Unity3D引擎问世,最大解决了这一问题,它可以实现一次开发多平台发布特点,这也是为什么Unity3D引擎在短暂时间里可以发展如此迅速因素。将斗地主游戏从单机版到网络化,使得现实中各种玩家可以在同一种虚拟房间里面进行对局,并且可以实时聊天,同步还不会受到平台限制,你可以选取pc,web或者是移动端,从而能更好体验游戏,娱乐生活。 第1章 概述 1.1 系统开发背景随着Unity3D引擎横空出世,游戏开发技术也变得越来越成熟,这款引擎也逐渐变化了整个游戏圈开发格局,之前火遍了全球神庙逃亡就是基于Unity引擎开发一款比较成功手游大
15、作,这也更较好证明了Unity作为一款游戏引擎还是值得开发者信赖。Unity相比较之前人们都熟悉Unreal虚幻引擎,我以为Unity做更好,它最值得人夸奖就是它跨平台性是其她游戏引擎无法匹敌,Unity可以做到一次编写多平台发布,可以大大节约了项目开发周期以及开发成本,并且还得够达到Unreal虚幻引擎开发出那种游戏体验效果。Unity开发也算是基于.NET平台上一种拓展,它内核是Mono框架,而Mono是基于.NET一种跨平台继承开发环境,它可以较好移植到各个平台,因此Mono问世也给广大.NET平台开发者带来了福音,终于不会在收到微软约束,开发出来东西只能运营在windows平台。正由于
16、这样,Unity也是一致收到广大.NET开发者爱慕。发展至今Unity已经支持了基本国内外所有主流平台。也正是由于这一特性,才使得更多公司更多开发者对它抛出了橄榄枝,达到了开发出来游戏,不要受平台限制,可以给玩家更多不同平台体验,它这一特性也推动了Unity引擎飞速发展。结合自身优势,由于我大学期间始终自学.NET开发,因此还是有一定.NET开发基本和经验,加上喜欢钻研,学习了其她Android、IOS等移动平台开发,因此理解技术范畴还比较广泛,感觉做Unity开发能将我所理解这些多平台开发知识可以较好融会起来,因此当第一时间理解到Unity之后,我就对它产生了浓厚兴趣。之因此选取做斗地主游戏
17、,由于一方面我觉得它是一款比较典型游戏,典型往往可以是永恒,在寻常生活中,斗地主也经常是人们娱乐一种项目之一,固然想完毕它还是有一定难度,设计都不少算法,并且我将其网络化,开发起来对我而言还是有一定挑战性,但又不是力所不能及,只要努力一下还是能实现。因而就拟定了这个多平台多人网络斗地主课题。 1.2 设计目从玩家角度,这种网络小游戏满足了玩家休闲需求,让玩家换一种方式重温典型,可以在不同平台,不同地区,还可以在同一种“房间”进行对局,也可以实时交流,也能结识更多朋友,增长了游戏体验乐趣,从而丰富了人们业余生活,在紧张工作之余带给人们最大限度放松。从自身角度,将大学所学理论知识应用于真实项目开发
18、,做到了理论与相结合,理论知识指引实际操作,实际操作反过来也巩固了理论知识,从而更好提高了自己能力和项目经验。 1.3 设计意义通过亲自实践,验证了Unity3D引擎跨平台性,也系统理解到一种游戏项目设计整个流程,从最初规划到最后实现,为此后走上工作岗位打下基本。最后可以圆满实现,锻炼了自己能力,同步做出来游戏也增长了人们业余生活乐趣。 第2章 开发环境及有关技术简介 2.1 开发环境简介所谓工欲善其事,必先利其器。要做一种项目开发,一方面得选取好适当开发工具,市场上行行色色开发工具诸多,这就需要要对比选取,依照项目需求选取最佳搭配工具。本设计采用开发环境是Windows7旗舰版操作系统,搭载
19、Unity3D 4.2.0f1专业版引擎。采用Visual Stdio IDE编辑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具备强大脚本系统,它核心思想是面向对象,把游戏场景中
20、有所物体都抽象成可编程对象,从而将游戏编程转化为游戏对象控制和调度,而控制游戏对象和对象调度就是咱们所说脚本系统,关系图如下(图2-1):图2-1 Unity脚本系统2.1.2 Visual Stdio和MonoDevelopVisual Stdio作为微软最引觉得傲集成开发环境,敏捷智能提示、排版以及稳定性能,是任何语言IDE都无法比拟。因而C#语言开发,固然首选Visual Stdio。但是Visual Stdio不支持UnityDebug(调试),必要要到AssetStore(Unity插件商量)去购买一种UnityVS插件才可以实现断点调试功能。而MonoDevelop是基于.NET一
21、种跨平台集成开发环境,重要支持语言也是C#。Mono作为.NET向跨平台和开源先驱,它打破了微软一惯封闭风格,因而Mono也得到了业界广大好评和注重。MonoDevelop是Unity自带集成开发环境,相比较VS优势就是可以不依赖插件从而实现断点调试,尚有就是可以在其她平台上运营,但是它也有弊端,没有VS那么强大提示功能,对中文支持也不够和谐,可以说这两个IDE来编辑Unity脚本个有利弊,看如何取舍,普通都是选取前者。2.1.3 Xcode简介Xcode是苹果公司向开发人员提供集成开发环境,用于开发Mac OS X,iOS应用程序,Xcode具备较强编译速度。Unity导出IOS程序时候需要
22、导出Xcode工程,然后由Xcode编译导出发布,固然还需要申请安装苹果开发官方开发者证书。文章最后在简介Unity工程导出成IOS版本安装到ios移动设备上会详细简介流程以及注意事项。 2.2 C#语言和Javascript脚本这两者都是Unity开发支持语言,固然还涉及boo脚本,但普通不怎么用boo脚本作为开发语言,前两者语言,C#国内人用比较多,Javascript国外开发者用比较多,接下来咱们就做一种对比,这两种语言开发Unity有什么异同。在这里,由于Unity是基于.NET平台,而C#是.NET平台主推语言,因而我就选取了C#,可以更好兼容.NET某些库文献。2.2.1 C#语言
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Unity 网络 地主 游戏 设计 实现
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。