基于UE4 的第三人称闯关游戏的设计与实现
随着计算机产业的兴起,计算机逐渐走进大众家庭,不可避免的,电子游戏也逐渐走入了我们的生活,电子游戏有利有弊,它可以培养解决问题的能力,丰富我们的精神文化生活,提高视觉空间技能和开发想象力,并且现如今电子游戏已经是年轻人社交内容中重要的一环,为青少年的社交提供了很大的便利。虽然电子游戏有使人沉迷地风险,但无论如何,电子游戏都已经在文化产业和日常生活中扮演了重要的角,并且可以预见的是,电子游戏的前景无比广大,未来将会迅速发展,也许有一天,电子游戏真的可以成为人们的第二世界。我们的闯关游戏关卡设计主要有两种,射击关卡和跑酷关卡,射击关卡是战斗关卡,玩家操纵角与AI 战斗,消灭AI 怪物取得胜利,跑酷关卡中玩家需要操纵角躲避障碍在规定时间内到达终点。我们使用的主要开发工具是虚幻引擎,EPIC旗下的UE(Unreal Engine)系列引擎是目前世界上顶尖的游戏设计引擎,是整个游戏界运用范围最广,整体运用程度最高,次世代画面标准最高的一款游戏引擎,占有全球商用游戏引擎80%的市场份额。虚幻引擎是全球最开放最先进的实时3D创作平台。经过持续的改进,它已经不仅仅是一款殿堂级的游戏引擎,还能为各行各业的专业人生带去无限的创作自由和空前的掌控力。UE 系列最新作UE5 更是一公布就火爆全球, 其中两大核心技术纷纷迎来了很多行业工作者的研究与探讨,被称为“次世代引擎”。我们使用的UE
4 引擎可以完美对接UE5 引擎,这为我们将来的持续开发带来便利。本文立足于当前新兴的单机联机游戏市场,以蓝图(Blueprint)编程为主体,说明游戏在PC端需要实现的逻辑。在充分展示并运用UE4 完备的功能特性的前提下,设计游戏的UI 界面、关卡规则逻辑、AI 和障碍物逻辑及角动画播放逻辑,从而实现一个较为完整的游戏软件。
1 系统的需求分析
游戏需要实现的功能大体可分为两大部分,数据逻辑层和表现层。数据逻辑层是游戏的基础部分,包括关卡逻辑、玩家控制逻辑、AI 和障碍物逻辑、UI 交互逻辑等。数据逻辑层需要通过蓝图逐个实现功能模块,再通过模块之间的调用、蓝图之间的通信从小到大构建完整的游戏框架并实现。数据逻辑层主要在虚幻引擎提供的Gameplay 框架中Gamemode、Playercontroller、Pawn、Acter 等蓝图中实现,部分功能还需要在自定义的蓝图类中实现。表现层在很多情况下都决定了一款游戏的上限,是玩家能够最直观分辨游戏好坏的评价标准。表现层包括人物模型、场景建模、UI 界面、光影声音、游戏剧情等。人物模型和场景建模需要在建模软件中制作并且使用规定的格式导入UE4 引擎中,我们使用的建模软件主要是3DMAX 和Maya,3DMAX 是Discreet 公司开发的基于PC 系统的三维动画渲染和制作软件,
Maya 件是Autodesk 旗下的著名三维建模和动画软件,两者都是常见的实用建模软件。将场景和模型导入引擎后,需要使用地形工具和草地工具对场景进行调整,为场景调整光影效果,增强表现力。合适美观的UI 也是表现层的重要部分,UI 主要通过Photoshop 软件制作。表现层主要由HUD、UserWidget和地形工具等引擎功能实现。
从完整的游戏流程来看,需要完成的功能大致有:进入游戏生成UI 界面,与UI 交互实现开始游戏、设置等功能,选择关卡(手动选择和随机选择),读取关卡逻辑和加载生成关卡,例如胜利条件、AI 和障碍物的刷新位置、数量等,生成玩家人物模型并且可以控制(玩家相关内容是项目中重要的部分,由许多部分组成,例如模型、骨骼、动画逻辑、攻击和技能逻辑、生命值和死亡逻辑等,主要在Gameplay 框架中的PlayerController 和Character实现),生成AI 和障碍物,AI 可以攻击玩家,障碍物通过碰撞触发,玩家胜利或者失败后有相应的UI 界面显示和逻辑处理。
2 系统设计和实现
本游戏软件的设计由场景关卡、游戏模式、玩家角、用户界面和AI 障碍物五部分组成。针对上述内容进行具体分析,需要完成设计的对象有:场景、关卡设计、角和技能、AI 和障
碍物、用户界面等。
2.1 场景
将场景导入引擎中后,需要进行适当的配置,为接下来的开发设计打下基础。由于游戏设计的关卡有很多,而且后续可能还会增加关卡,所以场景要有独特的风格,最好不要有过多的重复元素。场景导入后,需要将人物模型放入场景中来调整场景的大小,避免人物和场景中的物体等比例失常给玩家的游戏体验带来负面影响。场景中的光照、阴影、树木草地、建筑地形等都需要进行调整,场景美观是表现层的重要因素。此外,把场景的规模控制在一定范围内也非常重要,场景太大可能会导致玩家通关的时间变长,为后续关卡设计带来负面影响。(图1)
图1 部分场景展示
2.2 关卡设计电子游戏的利与弊
关卡设计主要分为两部分,第一部分是对一个关卡中的游戏元素进行设计,需要设计的内容有关卡的类型、玩家起点、记录点、终点、AI 和障碍物的刷新位置、AI 刷新的时间、关卡限定时间的长短等,总体来说,设计的原则是保证游戏性的同时控制游戏难度和时间适中,避免各个关卡重复过多但通关时间差距不要太大。这部分属于策划内容,文章中不再赘述。