APP下载

基于Unity的冒险游戏设计与实现

2021-11-17刘梦颖马宏琳

河南科技 2021年17期
关键词:网络游戏

刘梦颖 马宏琳

摘 要:目前,数字游戏产业已经成为数字经济不可或缺的一部分。本文以Unity平台为基础,围绕冒险游戏的设计目标,阐述了游戏开发的整个过程。玩家可以通过计算机客户端进行联机对战,操控机器人发射激光射线进行大赛比拼。同时,设计了雪天特效,并根据玩家数量的不同,动态扩容校园场景地图。经验证,系统运行时网络资源和设备资源占用率低,实现效果良好。

关键词:Unity;Photon Engine;网络游戏

中图分类号:TP317文献标识码:A文章编号:1003-5168(2021)17-0030-03

Design and Implementation of Adventure Game Based on Unity

LIU Mengying MA Honglin

(School of Information Science and Engineering, Henan University of Technology,Zhengzhou Henan 450001)

Abstract: At present, the digital game industry has become an indispensable part of the digital economy. Based on the Unity platform, the entire process of game development is explained around the design goals of adventure games in this paper. Players can conduct online battles through the computer client, and control robots to emit laser rays for competition. At the same time, special effects in snow are designed, and the campus scene map is dynamically expanded according to the number of players. It has been verified that the network resource and equipment resource occupancy rate is low when the system is running, and the implementation effect is good.

Keywords: unity;photon engine;online games

計算机游戏历经几十年的发展,由最初使用FORTRAN程序编写躲避遮挡物场景游戏开始,逐渐衍生出多人对战、扮演角色(RPG)、卡牌休闲、放置养成、横板闯关等各式各样的游戏;从平面2D游戏到立体生动的3D游戏,在玩法创意、游戏画面设计以及开发技术方面的发展水平都令人触目兴叹[1]。其中,多人冒险网络游戏是通过互联网将大量玩家即时联系起来,在虚拟世界中进行冒险。它不仅能带给用户身临其境的游戏体验,也更注重游戏的互动性与趣味性。

1 Unity与Photon引擎结合开发冒险游戏

PUN(Photon Unity Networking)是一个Unity多人游戏插件包。它提供了身份验证选项,并能够快速、可靠地通过Photon后端实现游戏内部通信。PUN可以输出几乎所有Unity支持的平台,它提供了两个C#接口IPunCallbacks和IPunObservable,可以在类中实现[2]。

本游戏软件采用Unity进行开发,分为客户端和服务器端。客户端包含接口、数据、界面、资源、网络、房间和战斗管理系统等;服务器端处理游戏运行时产生的数据,包括玩家数据、房间数据和战场数据等,同时对网络通信进行管理。游戏支持个人计算机(PC)运行终端,并且具有良好的自适应性[3]。

2 游戏设计与实现

2.1 游戏总体设计

针对冒险游戏的特点,采用Unity客户端与Photon服务器相结合的架构进行设计,通过Unity客户端之间的信息传递,实现同时多人在线游戏。游戏整体框架设计如图1所示,游戏流程设计如图2所示。在游戏功能的总体设计中,分别设计客户端功能与服务器端功能,主要的功能模块可划分为四大模块,即战斗模块、界面模块、场景模块和网络模块。游戏模块设计如图3所示。对于多人在线的网络同步,采用玩家输入请求,然后通过客户端向服务器提交请求的方式来实现。

2.2 游戏详细设计

基于游戏的总体设计,进行游戏各部分的详细设计,主要包括玩家模型、游戏场景、游戏天气、游戏界面、游戏管理器和关卡、玩家生命值、网络同步等功能。

2.2.1 玩家模型设计。在Blender软件中建造好机器人模型后导入Unity,使其成为一个无须连接PUN就可以正常工作的预制体。

2.2.2 游戏场景设计。该游戏拥有4个场景,根据玩家人数的不同分别加载不同的游戏竞技场景,不仅节省网络资源和硬件资源,而且满足不同玩家人数的场景设置需要。当只有一名玩家时,进入等待大厅的游戏场景。超过两人时,玩家进入多人竞技场场景,该场景设计仿照河南工业大学校园的一角,运用草地、云朵、小山、树木、小桥等多组模型搭建而成。当玩家人数为三人或四人时,场景模型数量和场景架构也随之变化[4]。

2.2.3 游戏天气设计。利用Unity中的Particle System组件模拟了雪天等特效。

2.2.4 游戏界面设计。利用Canvas和Button等组件创建界面和按钮,并使用PlayerPrefs插件记住玩家名字,创建Player UI界面动态展示玩家生命值状态。

2.2.5 游戏管理器和关卡设计。设计LoadArena()方法,将基于所在房间的PlayerCount属性加载至适当的房间。利用GameManager脚本监听连接及断开连接的玩家情况。

2.2.6 游戏玩家设计。获取Animator组件,编写玩家对于角色的控制,使玩家能够使用输入设备来操作该角色,完成行走、跑、跳跃、开火等多种动作互动[5]。

2.2.7 玩家生命值设计。当玩家被光束撞击时,整个光束撞击过程要实时显示生命值的减少过程。另外,当对战时玩家的生命值降为0,系统将判定其游戏失败并退出房间。进行代码设计时,先在GameManager脚本中创建一个离开房间的方法,然后在玩家脚本的Update方法中添加一个if (Health <= 0f)判定方法,再通过调用GameManager脚本中的LeaveRoom()方法退出房间。

2.2.8 战斗系统设计。游戏设计从机器人眼里发射出的激光作为战斗系统的武器,将激光束与机器人的头部绑定,玩家按下开火键时,激光束将从机器人眼里发射出来。

2.2.9 玩家相机设计。根据增加的偏移量来计算所需的相机位置,达到跟随玩家的效果。使用距离参数反映水平偏移,使用高度参数反映垂直偏移,然后使用Lerping平滑运动以赶上所需的位置,最后使用简单的LookAt使相机始终指向播放器。

2.2.10 服务器端运行。本游戏在运行客户端时必须连接Photon服务器,提前架设服务器端。服务器引擎封装了一系列网络通信方法,通过调用这些方法,可以实现网络通信和网络同步。

2.2.11 网络同步设计。通过Unity提供的Photon Transform View组件和Photon Animator View组件进行基础的同步。因为激光武器只有在photonView.IsMine为真时才需要工作,为此在PlayerManager脚本中继承IPunObservable接口来手动同步IsFiring布尔值。在IPunObservable.OnPhotonSerializeView方法中,获得一个变量流,判定玩家是本地玩家(即photonView.IsMine == true)时才能使用stream.SendNext()将IsFiring值附加到数据流中写入,否则只能使用stream.ReceiveNext()阅读。另外,生命值的网络同步方法和激光武器类似,同样使用变量流进行同步设计。

2.3 游戏实现效果

图4至图7展示了多名玩家登录、连接游戏客户端、等待到进行多人对战的整个过程。实践证明,游戏运行效果良好。

3 结语

本文以Unity平台为基础,结合Photon引擎技术与Blender模型设计,采用C#语言进行开发和技术研究,实现了以机器人为主视角的网络对戰冒险游戏。实践证明,Unity与Photon技术相结合可以高效地进行网络冒险游戏的开发,游戏运行状态和可操作性良好。

参考文献:

[1]吕学琴,苏闰,陈彦军.基于Unity引擎制作塔防游戏[J].智能计算机与应用,2018(5):95-99.

[2]龚高强.基于Unity引擎的3D游戏客户端系统设计与实现[D].武汉:华中科技大学,2016:20-24.

[3]翟涛.基于Unity3D的游戏智能行为体的研究与设计[D].沈阳:沈阳师范大学,2018:17-20.

[4]王海啸.基于Unity3D游戏引擎的三维动画虚拟摄像机的设计与实现[D].北京:北京大学,2014:18-19.

[5]邱竞峰,王洪源,陈慕羿.Unity3D引擎实现游戏人物的基本操控[J].中国新技术新产品,2016(19):24-25.

猜你喜欢

网络游戏
网络游戏的虚拟财产的法律性质及其刑法保护
停止侵害在网络游戏侵权案件中的适用
大学生网络游戏行为及其影响调查分析
网络游戏的品牌推广策略研究
冰川网络股份有限公司财务报表综合案列分析
青少年网络模仿性暴力犯罪特点、成因及预防对策
网络游戏对当代大学生造成的危害研究
浅析网络对青少年成长的影响
探讨游戏动画中的网络游戏
借助网络平台,改正学生的不良上网习惯