基于unity的生存逃亡游戏开发开题报告

 2021-10-20 19:21:21

1. 研究目的与意义(文献综述包含参考文献)

文 献 综 述

一、选题背景

随着移动设备越来越普及,移动设备的处理器性能越来越高,移动端的游戏也日渐火热起来。目前国内最常见的移动系统有安卓系统和苹果系统,其中2019年安卓手机占87%有份额,iPhone仅占13%。由此可见,要想在移动端的游戏上获取更多的用户,游戏必须兼容安卓系统。

下面再介绍一下游戏开发的常用引擎。目前常用的游戏开发引擎有cocs2dx、ue4和unity3d等。Cocs2dx主要用于2d游戏开发,使用的开发语言为c ,入门难度较大,适合用于中小型游戏的开发。Ue4主要用于pc端的游戏开发,使用的开发语言为c ,入门难度较大,能制作出十分精美的游戏画面,适合用于大型游戏的开发。Unity3d可以用于各种平台的游戏开发,使用的开发语言为c#,入门难度较小,适用于中大型游戏的开发,虽然unity3d无法制作出像ue4那样精美的游戏画面,但是它拥有强大的跨平台能力,并且手机端的处理器并没有pc端那么强大,也难以渲染出非常精美的画面,因此用unity3d开发移动端的游戏是最好的选择。

Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器可运行在Windows、Linux(目前仅支持Ubuntu和Centos发行版)、Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。

二、研究现状

目前基于unity3d开发出的游戏有非常多,如王者荣耀、神庙逃亡、暗影之枪和炉石传说等。

对于像神庙逃亡这种弱联网跑酷游戏,游戏制作的重点应在于操作的流畅性、跑酷时场景变化的多样性、游戏画面的精美程度还有对于大地图的游戏的优化等。保证操作的流畅性的前提是手机的处理能力要足够强,处理器能力不够则会导致卡顿影响用户操作;要保证操作的流畅性还要保证能正确检测玩家的操作,像左滑或右滑屏幕必须能够正确的检测出来。跑酷的场景变化的多样性主要体现在建模上,现在常用的建模软件有3dmax、maya等,要用这些软件建出大量的模型保证场景多样。保证游戏画面的精美主要体现在渲染美化上,像光线的调节、着色器的使用和纹理贴图的使用等。要让游戏在较大的地图上也能保持实时性,就要对地图进行相应的处理,目前常见的做法是:把地图做成单面模型、把玩家无法看到的面隐藏等。这些问题的解决办法都是目前单机游戏常用的解决方法。

对于像王者荣耀这种强联网游戏,除了要解决以上的问题外,还要解决网络同步问题。目前常用的同步方法有状态同步和帧同步,两种同步最大的区别在于游戏的核心逻辑在写哪里,状态同步的核心逻辑在服务端,帧同步的核心逻辑在客户端。核心逻辑一般指游戏开发过程中的碰撞检测、伤害计算、技能效果、移动等这些比较难实现的功能模块,每一次进行这样的运算必定会占用较大的cpu资源。状态同步必须要把这些核心逻辑都在服务端实现,玩家的操作都是先上传到服务端进行计算,服务端把计算的结果广播给所有的玩家;而帧同步则仅仅是做转发,核心逻辑在客户端进行计算,把计算结果发送给服务端,而服务端不对计算结果做过多处理,把计算结果广播给所有的玩家。

对于这两种同步方式的优缺点比较如下表所示:

状态同步

帧同步

安全性

服务器压力

网络卡顿的表现

瞬移、突然掉血等

操作卡顿

实现方式

服务器进行所有核心逻辑运算后广播给客户端

客户端把核心逻辑运算的结果发送到服务端,服务端分发运算结果

由此可见,对于回合制这种联网游戏更适合使用状态同步的方法,对于mmo这种联网游戏则更适合使用帧同步的方法。使用帧同步适用于实时性较强的网络游戏,主要承担分发数据的功能,但是在分发过程中也会遇到一些并发问题。就如两个玩家同时捡到一个物品,这种情况下按帧同步直接分发数据是不可行的,因为这样就会变成一个物品被两个玩家都拿到了。目前解决该问题常用的方法是,对于类似这些单一物品必须保证其同步性,当两个玩家同时拿到物品,客户端发送结果到服务端时,服务端不能直接认同他的结果,应该先判断该物品是否已经被获得了,如果已经被获得就否认客户端的结果,通过这样处理,就可以保证物品的唯一性。还有一种常见的情况是碰撞检测的问题,如在玩家A的视角下,玩家A碰撞到了玩家B,但是在玩家B的视角下,玩家A并没有碰撞到玩家B这种情况下应该如何判定。对于这种玩家双方看到的结果相矛盾的情况,目前解决该问题常用的方法是,服务端作为裁判来判定谁的结果正确,就如前面的碰撞矛盾的问题,服务端在接收到玩家A的碰撞消息时,不应该直接肯定玩家A的结果,应当在服务端进行一次粗检测以此来判定玩家A是否真的碰撞到了玩家B,因此以服务端收到的双方的位置关系来检测,不偏袒于任何一方。若检测结果是玩家A确实碰撞了玩家B,则返回广播这条碰撞信息,即使玩家B看到自己没有被碰撞,也要受到A的碰撞效果;相反,若检测到玩家A并没有碰撞了玩家B,即使玩家A看到自己碰撞到了玩家B,也要当作没有碰撞到一样。这种情况下和状态同步的处理方式有点相像,但是也有不同,状态同步精确的碰撞检测是在服务端进行的,而这里帧同步精确的碰撞检测是在客户端进行的,服务端仅仅进行一次粗检测判断数据可靠性。还有一个区别是状态同步是对所有的核心逻辑都要进行精确的计算,而帧同步只需要对于一些重要的事件(会严重影响游戏正常运行的事件)进行粗检测给出唯一个结果即可。通过这种方法解决帧同步的一些并发问题会消耗一定的服务端资源,但为了确保游戏的逻辑可以正确执行下去,这是也是必须要消耗的资源。

这些是弱联网(或单机)和强联网游戏的开发主要要面临的问题以及目前常用的解决方法。

三、课题设计内容

此次要做的是一个生存逃亡游戏,游戏主要有两个角色分别是追捕者和逃亡者,游戏运行在安卓系统。

游戏规则:追捕者的属性值会比逃亡者要强,逃亡者有三人,追捕者有一人,逃亡者收集一定数量的碎片即可合成钥匙,最终从大门逃脱,逃亡者有一名成员成功逃亡算获胜。追捕者抓住所有人获胜,放跑任何一人算失败。玩家若扮演逃亡者时,只能操控一个角色,其余两个角色均为人机,当操控的角色被抓到,将切换到另一个角色并控制另一个角色继续游戏,直到所有逃亡者角色被捕获。逃亡者可以拯救其他被捕获的逃亡者,然后逃亡者之间可以继续互相协作逃脱。

游戏会设立各种关卡,不同关卡对手属性值不一样,越后的关卡难度越大,同时提供有多种地图,地图也会设有云朵等遮挡物,追捕者和逃亡者又分别有多个的角色选择,不同角色会有不同的技能。

四、设计方案

1.寻找游戏美工图,寻找符合改游戏的风格的角色和ui等。在unity商店里有大量开源美工图,寻找符合该游戏的图标。

2.做出基本的游戏demo。使用unity C#编写角色控制逻辑,钥匙的合成过程,各种角色的进攻逻辑。

3.添加商城、音响设置等额外的功能。添加更多的界面丰富游戏的功能和方便用户的操作。

4.添加更多游戏地图和游戏角色还有各种场景小道具。添加各种各样地图还有拥有不同技能的角色,让游戏更加内容更加丰富,玩法更加多样。

5.保存玩家的信息。保存玩家的设置信息、在商城购买的物品信息还有关卡的闯关进度信息等。

五、参考文献

[1] 刘国柱.Unity3D/2D游戏开发从0到1[M](第2版).电子工业出版社,2017.

[2] 罗培羽.Uniy3D网络游戏实战[M].机械工业出版社,2016.

[3] 金玺曾.Unity3D手机游戏开发[M].清华大学出版社出版.2013.

[4] 李晔.Unity AR 增强现实完全自学教程[M].电子工业出版社出版.2017.

[5] 吴文国.交互式计算机图形学基于OpenGL的自顶向下方法[M].清华大学出版社出版.2006.

[6] 智画互动开发团队.Unity3D大风暴之入门篇[M].电子工业出版社.2014.

[7] Kenny Lammers.Unity着色器和屏幕特效开发秘笈[M].机械工业出版社.2014.

[8] 邵伟,李晔.Unity VR 虚拟现实完全自学教程[M].电子工业出版社.2019.

[9] 宣雨松.Unity 3d游戏开发[M](第2版).人民邮电出版社.2018.

[10] 冯乐乐.Unity Shader入门精要[M].人民邮电出版社.2016.

[11] Bridgette Patrovsky,Jessica Mulligan.网络游戏开发[M].机械工业出版社.2004.

[12] 吴亚峰,苏亚光.Android 2.0游戏开发实战宝典[M].人民邮电出版社.2010.

[13] 兰少华,杨余旺.TCP/IP网络与协议[M].清华大学出版社.2006.

[14] 葛一鸣,郭超.实战Java高并发程序设计[M].电子工业出版社.2015.

[15] 游双.Linux高性能服务器编程[M].机械工业出版社.2013.

2. 研究的基本内容、问题解决措施及方案

1.本课题要研究或解决的问题:

(1)如何设计较好的人机交互界面

(2)如何设置游戏的动画效果

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版