基于Unity3D的童年往事手机游戏的设计与制作

2018-12-07 20:05王玉君岳志阳
海峡科技与产业 2018年12期
关键词:关卡游戏规则通关

王玉君 岳志阳

南阳职业学院,河南 南阳 474500

随着移动应用开发技术的发展和游戏品质的提升,跨平台、跨终端游戏开发已经成为市场的主流。游戏玩法多样,样式繁多,但唯独缺乏怀旧类型的游戏。本游戏主要以80后、90后童年游戏为依据,以别致的游戏场景,新颖的游戏规则,巧妙的游戏逻辑,简单的操作方法,重新设计实现。旨在缓解青年生活、工作压力,暂忘喧闹的城市和快节奏的生活,回归自我,寻找儿时的欢乐。

1 Unity3D游戏引擎

Unity3D游戏引擎以一条近似完美的游戏开发生态链进入市场,吸引游戏开发人员,轻松实现各种游戏创意,一键部署各种游戏平台,无须二次移植或者开发,可以节省大量的时间和精力[1]。

运用对象处理模块、事件处理模块、摄像机模块、渲染模块、交互模块等5个Unity3D的核心模块,设计游戏场景,改变游戏属性,切换游戏视角,调节交互方式。

2 游戏规则设计

游戏主界面由多人游戏和单人游戏两种形式组成。多人游戏有三项设置供玩家选择,分别是:游戏人数、游戏难度、游戏时间。游戏人数:可选两人制、三人制和四人制;游戏难度:可选简单、一般和困难三种级别,系统将自动分配玩家组成游戏;游戏时间:在规定游戏时间内决出胜负。单人游戏在多人游戏权限的基础上,可随时暂停、退出游戏,系统将自动保存游戏进度,随时等待玩家再次进入游戏。单人游戏设置排行榜,显示玩家通关的时间,实现在线竞技,增加游戏趣味性,提高玩家成就感。

以“飞行棋”游戏界面和游戏逻辑为原型设计主线游戏,玩家以Q版棋子为角色代表,掷骰子决定棋子的移动距离,棋谱的每一个方格设计相应的游戏关卡,关卡游戏通关后方可再次投掷骰子决定移动距离,棋子到达终点为游戏胜利。

关卡游戏类型众多,玩法新颖,可以满足不同年龄段玩家的需求和游戏体验。类型涉及休闲、策略、射击、益智等,通关方式为计时通关,在规定时间内完成游戏要求。

3 游戏场景制作

运用3D MAX三维软件制作游戏模型,在Unity3D中利用物理引擎为游戏模型添加碰撞体,为其添加重力、摩擦力等物理属性。使用NGUI插件为游戏关卡添加控件,完善UI界面;游戏过程时,为玩家提供辅助教程,使玩家逐渐了解游戏的玩法和规则,提高游戏的交互性。

4 游戏实现

4.1 摄像机的设置

摄像机在Unity游戏引擎中至关重要,主线游戏和副线游戏依据游戏逻辑和游戏规则进行摄像机设置,Perspective(透视模式摄像机) 和 Orthographic(正交模式摄像机)两种视角模式在关卡游戏中适当选择。修改Clipping Planes(剪裁平面参数)参数的大小,对摄像机开始渲染和停止渲染之间的距离进行设置。根据关卡要求不同,摄像机允许锁定所控制角色,或者跟随角色移动,因此主摄像机同样需要添加脚本代码[2]。

4.2 游戏逻辑实现

游戏对象添加C#脚本,根据水平轴返回虚拟坐标系中的值,改变垂直轴的值实现水平移动效果。Mathf数学运算函数控制移动范围,Random随机类设置游戏对象产生的范围,创建PlatformMaintenaince函数销毁超出游戏界面范围的游戏对象,创建SpawnPlatforms函数生成新的游戏对象。设置游戏对象的最大速度和最小速度,随着游戏时间的推进,游戏对象的速度逐渐加快,提高通关难度,提升操作性。

游戏关卡的难度设计不易太过简单,应在游戏策划和游戏测试时,进行合理的设置,既不能一次过关,也不能10次以上无法通过;每一个关卡的游戏逻辑和游戏规则不应重复、一成不变,这样都会致使玩家放弃本游戏,降低游戏体验度。随着游戏关卡的推进,游戏难度应逐渐加大,促进玩家对游戏进行思考和练习。如果想直接跳过也可购买掷骰子机会,帮助其脱离本关卡。

4.3 消息发送

SendMessage基于消息机制发送消息,调用指定方法。如果指定对象无法调用或没有指定对象时,将调用当前游戏对象脚本组件的指定方法;否则,则调用指定游戏对象脚本组件的指定方法。当调用的方法需要参数,需在SendMessage中添加参数。传递多个参数时,需将多个参数封装成一个类型进行传递。

4.4 游戏控制

依据游戏规则的设置和游戏逻辑的设计,游戏控制分为触摸控制和陀螺仪重力控制。触摸控制,运用Input输入类进行游戏对象控制,检测屏幕上手指的状态,检测三位空间的数据变化,判断移动方向和移动距离。陀螺仪重力控制,运行Physics物理学类为游戏对象添加物理属性,进行碰撞和摩擦力等物理检测,依靠手机陀螺仪的重力感应进行游戏对象的控制。不同的游戏控制,可提升游戏的可操作性,使玩家对游戏充满新鲜感。

4.5 多人游戏

游戏主界面是本游戏的游戏主线,各关卡游戏为副线,这样可以增强游戏趣味性。“飞行棋”适合两到四名玩家同时进行游戏,玩家多于四人将增加游戏时间及游戏难度。

玩家选择游戏人数、选定游戏难度、设定游戏时间,创建游戏房间,寻找相应玩家。若游戏玩家人数不足,系统可依据游戏难度,匹配机器人,和其一同游戏。玩家进入关卡游戏,无法查看其他玩家的游戏进展,游戏进度只能在主线游戏中查看。游戏结束,系统将显示每一个玩家的平均通关时间。

多人游戏最大难题在于解决实时通信问题。U-nity3D游戏引擎为开发人员提供UNET网络通信模块,实现多人游戏底层的功能需求。但UNET仅适合局域网对战,不适合互联网对战或者互联网通信。如需进行互联网深度开发,增加游戏中的社交功能,需使用Unity Cloud模块。

童年往事手机游戏通过游戏规则设计、游戏场景制作、游戏实现三个方面阐述基于Unity3D的游戏设计和制作过程。主线游戏和副线游戏相辅相成,提升游戏的可操作性,增加游戏的神秘度。利用U-nity3D强大的跨平台技术,制作不同平台、不同终端的手机游戏。

猜你喜欢
关卡游戏规则通关
偷换职场游戏规则
开七窍的混沌大帝又活了:修辞通关①
通关英雄榜
一碗面的通关密码
游戏规则
通关游戏
2015年高考江苏省物理卷一道题的3种解法
游戏规则
2013年的5款改变游戏规则的建筑设备
时空穿梭