您当前所在位置: > 爆料站 > 君子堂

以虚幻GAS系统为核心的《原子之心》

时间:2021-02-01 15:36:53  来源:  作者:网络转载
波斯王子:武者之心 PC版

波斯王子:武者之心 PC版

大小:更新:2020-10-09

分类:正版游戏

Andrey Dyakov是即将上市的游戏《原子之心》的开发商Mundfish的技术总监。他拥有10多年的游戏开发经验,在一些知名工作室参与制作过使用虚幻引擎3和虚幻引擎4的3A游戏。

大家好,我叫Andrey Dyakov,是即将上市的游戏《原子之心(Atomic Heart)》的开发商Mundfish的技术总监。这篇技术博客将讲解一些我们用于开发这一作品的技术,重点讲述我们如何利用虚幻的Gameplay Ability System(GAS)?改变我们的开发流程。

本文并非手册,只是详细介绍了我们的经验。尽管如此,它还是能够帮助可能已经很熟悉GAS而且在其项目中使用过它的开发者。

如今外面已经有更多关于GAS的信息了,但我们想要介绍的是,我们在当初关于这个系统的文档和支持还不是很多的时候所作的一些研究。

那是在2018年,我们有自己的行动过滤器系统,用来区分玩家的行动和定义它们的执行规则,我们总体上对它很满意。它让我们能够控制在玩家进行其他行动时能否开始特定玩家行动或者禁止其开始(例如在蹲下时跳跃)。

但它只是我们需要的众多子系统之一。对我们来说,还需要解决其他关键开发问题,例如:

  • 如何处理充能近战武器和远程武器的子弹所发出的酸液、电流和火焰造成的特殊伤害
  • 如何堆叠和处理施加于一个角色的不同类型伤害
  • 如何实现玩家角色的特殊能力,以及如何控制它们的执行流
  • 最后,在我们最终决定将《原子之心》做成单机游戏前,还考虑过如何处理联机复制

有一个系统具备了解决所有这些问题的潜力:虚幻的Gameplay Ability System。我曾经用它准备了一个小型示例项目,用于我在一家外包公司给60个人讲授了几个星期的UE4开发课程。不过,在一个小型教学项目上试用当时还处于试验阶段的系统是一回事,把它应用于一个雄心勃勃的大型商业项目又是另一回事。

团队最初有许多顾虑,这是完全可以理解的。那时候,Epic为GAS提供的支持很有限。你可能知道,这个插件是Epic终止了它的《虚幻争霸(Paragon)》项目之后放出的,最初它是那个游戏的重要组成部分。但是我把这个事实视作当时GAS已经接近产品级要求的证明,我相信我们的团队能够应对填补差距的挑战。幸运的是,我猜对了。

GAS插件在描述中带有[UNSUPPORTED]标记

当时是虚幻引擎4.20发行前后,互联网上除了社区的热心人写的几篇文章,没有多少关于GAS的文档。我们就这样开始了自己的研究。团队检查了这个插件的每一行代码,在头脑风暴讨论会中交流了它的各种优点和缺点。

最终我们确定,GAS的许多功能如果集成到我们的游戏中,是绝对有利的:

  • 一切都可以通过游戏性标记?(层级标记)来控制
  • 所有的行动/技能都可以作为能力来开发
  • 能力可以绑定到玩家的输入
  • 所有的效果(加强/削弱)都是一起堆叠和计算的
  • 任何视觉效果反馈都可以通过游戏性提示?来管理

与此同时,缺点也很明显:系统很复杂,而且缺乏官方的文档与支持。GAS是一套复杂的系统,使用方法因公司、因项目而异。我们也花了一点时间才确定我们自己使用这个系统的最佳实践。

在集成过程中,我们检查了用于计划目标的所有基本机制,全都做得非常好。此时我们也明白了,GAS可以完全取代我们的行动过滤器系统,因为它有相似却更好的机制来控制能力执行。我们完成系统过渡之后,就开始把所有玩家行为迁移到独立的能力,这使我们的AHBaseCharacter和AHPlayerCharacter类(是的,我们的类都带有AH前缀)大大简化了。

这样一来,我们就能创建许多能力,而不需要设计我们自己的能力系统的架构。这真的大大节省了时间。不过,我们添加的能力越多,游戏性互连/依赖性就越复杂。

公正地说,我们在使用GAS的早期遇到了一些挑战,但这些问题与开发和实现我们自己的系统不能相提并论。

我们的一次头脑风暴讨论会

在我们找到能力和效果设置的最佳公式后,一切就尽在掌握了。

最终,我们遵照这种新的思路,开始将AI角色的行动迁移到它们各自的能力。这简化了我们的行为树?,使我们能够更灵活地使用我们数据驱动的AI管线设置角色。现在就来详细说说我们的一些GAS实践。

有些人可能还不熟悉这个系统,在一般的GAS管线中,主要有四种类:能力系统组件附属于所有者,属性集被定义为所有者的属性,游戏性效果可以应用于能力系统组件的所有者并修改属性集中定义的属性,最后是能力,也就是由游戏性标记和效果控制的行动。还有一些可选的类,例如游戏性任务(它是能力的子对象)和游戏性提示(它帮助提供来自游戏性效果的视觉反馈)。

游戏性标记管理着所有这些

所以,首先应该详细说说游戏性标记。这个子系统被添加到UE4的时间还要早于GAS。通过它可以定义和使用层级标记(标签),后者可以应用到对象并用于许多不同的用途,例如区分不同类型的伤害。

这张图显示了我们常用的游戏性标记类别

在我们的游戏中,严密组织游戏性标记的层级是非常重要的。每一种能力都有其自身的能力标记(能力子树)和自身的禁止标记(禁止子树)。

把所有东西都组织起来有助于保持控制,可以在整个项目中始终以相同的方法来使用能力。

用于基本角色能力的游戏性标记

禁止效果

在集成之初做出的一个决定帮助了我们替换行动过滤器,那就是使用禁止效果。这些效果可以由能力添加到角色,也可以直接来自其他地方。它们的唯一用途就是授予阻止能力激活的标记。

RestoreStamina能力就是一例。它始终是一个应用RestoreStamina游戏性效果的主动能力。这是一种无限期的效果。它的主要用途是每500毫秒向玩家角色的AttributeSet(一种特殊的类,指定GAS组件所有者的所有属性都需要它)中定义的耐力属性添加一个恒定的浮点值,从而恢复玩家角色的耐力。如果有任何其他能力向效果GE_RestoreStamina授予禁止标记“Prohibitions.RestoreStamina”,那么该效果就会停止,因为在它的资源设置中就是这样定义的(参见下面的截屏)。


我们游戏中的大部分能力在应用了禁止该能力的禁止标记时都不会激活。在《原子之心》这样的游戏中,玩家拥有50多种能力,有时候情况会非常复杂。

费用效果

在介绍我们调试基于标记的能力执行规则/先决条件的方法之前,我要再分享一条关于费用效果的最佳实践。如果你必须在执行某种能力时消耗某些资源,就需要这种效果,当然了,如果对能力指定了这样的效果,在应用前就会相应地检查。例如,在我们的游戏中,有一个用于近身超重攻击的能力会即时消耗耐力。如果玩家角色耗尽了耐力,就无法执行这个能力。但如果他有足够的耐力,就可以执行这个能力,而且将会按照费用效果中指定的数值扣减耐力。


我们自己的调试工具

在使用GAS进行开发的过程中,很容易积累许多能力、效果、标记和游戏性提示。所以当我们添加新能力时,就必须把这一切都考虑在内。否则就很容易“在能力中卡死”,我们用这个术语来形容当前处于活动状态的一种能力阻止了许多其他能力,导致使玩家事实上什么都做不了的情况。为了解决这种问题,我们创建了一种非常简单、但又能提供有用信息的调试消息,它会显示在视口中。它说明当前在玩家角色上应用的标记和效果。对于AI,我们也设计了在AI角色的位置显示的窗口控件,其中包含同样的信息,而且还有相应的AI角色能力。


使用这种信息,就可以轻松了解哪些标记/效果应该是活动的,哪些不是。所以大多数情况下,可以通过在编辑器中的游戏性能力资源中添加数据修正的形式来轻松解决问题。

乍一看,这显得很混乱,但每个窗口控件都是可以折叠的,而且鼠标移到上面就会高亮显示。

总结

Gameplay Ability System推出后,过了一段时间才通过官方项目示例和直播再次获得支持。如今有越来越多的开发者将这种系统集成到他们的项目中,并在社区中分享他们的知识。

我们团队非常高兴能获得如此强大而出色的工具来帮助执行日常工作,希望我们在这篇博客中描述的经验能够帮助或启发其他开发者。

我们还要特别感谢JetBrains为我们提供了在开发中全程帮助我们的工具。

如果你有兴趣更多地了解我们的工作进展,请在Twitter和Facebook上关注我们,并把《原子之心》添加到你的Steam愿望单!

文中提及的相关链接

[1] Gameplay Ability System(GAS)
https://docs.unrealengine.com/zh-CN/InteractiveExperiences/GameplayAbilitySystem/index.html

[2] 游戏性标记
https://docs.unrealengine.com/zh-CN/ProgrammingAndScripting/Tags/index.html

[3] 游戏性提示
https://docs.unrealengine.com/en-US/BlueprintAPI/Ability/GameplayCue/index.html

[4] 行为树
https://docs.unrealengine.com/zh-CN/InteractiveExperiences/ArtificialIntelligence/BehaviorTrees/index.html



来源:虚幻引擎
原文:https://mp.weixin.qq.com/s/fKoo5ns0EFeEsqbl6FnNXg
资源转载网络,如有侵权联系删除。
相关下载

玩家评论

《战斗之心:传承》中的不同职业和属性技能系统介绍

由Mika Mobile公司开发发行的《战斗之心:传承》是一款史诗级单机角色扮演类游戏,一经上线,便通过其古老神话的背景故事,欧美的游戏画风,热血慷慨的bgm和令人热血沸腾的战详情>>

阅读: 3
日期: 2021-01-30
泰拉瑞亚恶魔之心为什么用不了

可以在肉山掉落的专家模式下的幸运袋中获得恶魔之心。右键单击背包中的东西,您可以永久添加一格饰品栏。恶魔之心只能在专家模式下使用,离开专家模式详情>>

阅读: 5
日期: 2021-01-30
《梦幻模拟战》另我之心道具怎么得 另我之心道具获得方法分享

导 读 梦幻模拟战另我之心怎么得?梦幻模拟战中也有不少道具可供玩家获取,另我之心道具是其中一个特殊道具。很多玩家不知道另我之心道具怎么得,下面就为大家带来梦幻模拟战另详情>>

阅读: 2
日期: 2021-01-28
魔兽世界灌注世界之心任务怎么完成

魔兽世界灌注世界之心任务怎么完成。魔兽世界凭借冒险、完成任务、新的历险、探索未知的世界、征服怪物等吸引着玩家们的喜爱,不过有不少人好奇魔兽世界灌注详情>>

阅读: 2
日期: 2021-01-27
塞尔达式动作RPG《海洋之心》在Steam平台正式推出

备受期待的像素风冒险类RPG游戏《海洋之心(Ocean’s Heart)》,今天终于将在Steam和GOG平台上推出,售价为国区50元人民币,21号晚上8点正式发售。由Yarn详情>>

阅读: 2
日期: 2021-01-21
塞尔达式动作RPG《海洋之心》 今日登陆PC平台

  类“塞尔达传说”的像素动作冒险类 RPG《海洋之心》(Ocean's Heart)今日在 Steam 和 GOG 平台上推出,国区售价人民币 50 元,支持中文。  本作预告片:    根据介绍,在本详情>>

阅读: 1
日期: 2021-01-21
《原子之心》发布DLSS加持 PC版技术演示视频

  《原子之心》的开发商Mundfish与英伟达合作,发布了一段该游戏的全新宣传片。虽然预告片的主题围绕游戏中的疫苗接种而展开,不过主要还是向玩家展示了使用GeForce RTX系列详情>>

阅读: 3
日期: 2021-01-20
《上古王冠》炽焰之心怎么样 炽焰之心强度分析

导 读 上古王冠炽焰之心怎么样?上古王冠炽焰之心厉害吗?来看看九游小编给大家整理的上古王冠炽焰之心强度评测吧! 炽焰之心: 技能可为队友赋予护盾、暴击提升、暴击吸血、伤害详情>>

阅读: 3
日期: 2021-01-20
《原子之心》RTX光追演示 光追惊艳画质展示

玩家将扮演特工P-3在这个酷炫的世界中冒险,与疯狂的机器人作战,收集各种各样的武器来完成自己的使命。 详情>>

阅读: 4
日期: 2021-01-20
《原子之心》PC版光追DLSS技术演示视频公布

《原子之心》(Atomic Heart)是一款动作冒险游戏,由Mundfish负责开发发行。原子之心游戏背景设定在平行宇宙中,那里的苏联依旧是一方霸主、详情>>

阅读: 2
日期: 2021-01-20
BT777《王者之心》各个职业技能大全

《王者之心》带你重回中世纪的欧洲,通过种种磨难的历练,统率千军万马,最终成就呼风唤雨的王者之路。《王者之心》三大职业各有特色,不少玩家在职业选择详情>>

阅读: 2
日期: 2021-01-18
BT777《王者之心》各个职业技能大全_游戏新闻

《王者之心》带你重回中世纪的欧洲,通过种种磨难的历练,统率千军万马,最终成就呼风唤雨的王者之路。《王者之心》三大职业各有特色,不少玩家在职业选择时举棋不定,今天小编就详情>>

阅读: 2
日期: 2021-01-18
魔兽世界怀旧服黑暗之心任务攻略-魔兽世界怀旧服黑暗之心怎么做

《魔兽世界怀旧服》黑暗之心怎么做?一座突起的山脊几乎把菲拉斯一分为二,它一直延伸到古老的今天被称作厄运之锤的上层精灵城市就戛然而止。在海岸对面是两座大岛,萨多尔岛和详情>>

阅读: 5
日期: 2021-01-16
bt777《王者之心》火爆好玩停不下来_游戏新闻

王者之心2神王,自公测开启首服后每个新服都火爆如斯,这款带有经典浓重西欧英雄主义情结的第一人称RPG游戏,剧情伏笔层层叠进,引人入胜,让人仿佛置身一部好莱坞大片中,其美工的绝详情>>

阅读: 2
日期: 2021-01-14
原神水套沉沦之心圣遗物解析

  《原神》是由米哈游自主研发的一款全新开放世界冒险游戏。在这里,被神选中的人将被授予「神之眼」,引导元素之力。你将扮演一位名为「旅行者」的神秘角详情>>

阅读: 4
日期: 2021-01-11
《洛克人DASH钢铁之心》或将登陆Steam

通过第三方网站SteamDB网站的查询,有网友发现 CAPCOM 在今年1月2日的时候将《洛克人DASH 钢铁之心》添加到了Steam的游戏资料库中,或许意味着这款1997年的游戏即将登陆Steam平详情>>

阅读: 3
日期: 2021-01-05
《原子之心》最新PC配置公布相比之前有了升级

近日,游戏开发商Mundfish对旗下作品《原子之心》的PC配置需求进行了更新,相比之在2018年公开的配置进行了一定程度的升级,并且后续可能会继续提升配置详情>>

阅读: 5
日期: 2021-01-05
《原子之心》最新PC配置公布 相比之前有了升级

近日,游戏开发商Mundfish对旗下作品《原子之心》的PC配置需求进行了更新,相比之在2018年公开的配置进行了一定程度的升级,并且后续可能会继续提升配置详情>>

阅读: 3
日期: 2021-01-05
科幻FPS《原子之心》早期PC配置需求:推荐GTX 1066

自2018年5月公布至今,科幻FPS《原子之心》已开发两年多了,然而游戏的正式发售日仍未公布。在玩家们心心念念的等待中,官方在日前更新了游戏PC配置需求,其详情>>

阅读: 2
日期: 2021-01-05
科幻FPS《原子之心》早期游戏PC配置需求更新

《原子之心》故事背景为虚构的苏联世界,机器人、网络等科技在此时已经被发明出来。 详情>>

阅读: 4
日期: 2021-01-05
LOL2021至臻之心活动-LOL2021至臻之心活动地址

《LOL》2021至臻之心活动于1月1日开启,开箱子活动再次来袭。对于开箱子活动大家应该都非常熟悉,本次活动的宝箱依然是开十次送一次,所以一次开十个箱子是比较划算的。下面就详情>>

阅读: 12
日期: 2021-01-04
《LOL》开箱子活动再次上线 2021至臻之心怎么样

导 读 《LOL》2021至臻之心活动于1月1日开启,开箱子活动再次来袭。对于开箱子活动大家应该都非常熟悉,本次活动的宝箱依然是开十次送一次,所以一次开十个箱子是比较划算的。下详情>>

阅读: 4
日期: 2021-01-04
《DNF》勇猛之心属性是什么 勇猛之心属性一览

导 读 DNF勇猛之心是永恒大陆产出的装备,该装备的属性分为单人属性和组队属性,单人属性是增加自身的属性,而组队属性则是增加队友的属性,不会增加自身的属性。 【DNF2021全职业详情>>

阅读: 3
日期: 2021-01-03
科幻FPS《原子之心》RTX光追技术预览 光影效果惊艳

在2018年5月,Mundfish工作室正式公布了旗下全新FPS游戏《原子之心(Atomic Heart)》,游戏背景设定在另一个平行宇宙的苏联,将会带领玩家体验各种黑科技与炫详情>>

阅读: 2
日期: 2020-12-30
科幻FPS《原子之心》预告泄露 硬核钻探隧道俄式火车

《原子之心(Atomic Heart)》是一款由Mundfish工作室开发的苏联背景的科幻FPS游戏。今日该作泄露出一支短预告,目前官方油管频道的视频已被设为私密状态,无详情>>

阅读: 1
日期: 2020-12-30
原神圣遗物沉沦之心套装效果是什么

原神圣遗物沉沦之心套装效果是什么 ▌获取方式 在雪山营地与冒险家玉霞对话后,可接取任务「山中之物」,完成任务,旅行者将能够前往山顶解锁全新秘境「芬德尼详情>>

阅读: 2
日期: 2020-12-28
《原神》行者之心套装怎么样 行者之心套装强度评测

导 读 在原神游戏中,行者之心套装是在仲夏庭院秘境出。玩家在通关仲夏庭院秘境后,领取奖励时就会获得行者之心套装的部件。2件套的属性是攻击力提高18%,4件套的属性是重击的暴详情>>

阅读: 3
日期: 2020-12-19
BT777《王者之心》豪华礼包助你再升级_游戏新闻

《王者之心》带你重回中世纪的欧洲,通过种种磨难的历练,统率千军万马,最终成就呼风唤雨的王者之路。《王者之心》三大职业各有特色,不少玩家在职业选择时举棋不定,今天小编就详情>>

阅读: 4
日期: 2020-12-18
新英雄司空震工具人实锤无疑!上线就是为了修复破晓之心!

新英雄司空震工具人实锤无疑!上线就是为了修复破晓之心!详情>>

阅读: 20
日期: 2020-12-17
原神水套圣遗物沉沦之心在哪获得

  原神水套圣遗物沉沦之心在哪获得?原神会在新版本中上线新的水套圣遗物,不少玩家还不清楚详情>>

阅读: 4
日期: 2020-12-17
【Don'tLookBackInAnger】致永不熄灭的摇滚之心

【Don'tLookBackInAnger】致永不熄灭的摇滚之心详情>>

阅读: 9
日期: 2020-12-17
原神水套圣遗物沉沦之心获取攻略

  原神是一款由著名厂商米哈游精心打磨的全新开放世界冒险游戏,你以为这是崩坏4吗?不!你将来到的是一个叫做提瓦特的幻想世界,成为一名旅行者,和各个国家的详情>>

阅读: 5
日期: 2020-12-16
原神净水之心在哪里打-原神净水之心掉落地点_快吧手游

原神净水之心在哪里打原神手游中,【净水之心】是BOSS纯水精灵才会掉落的素材,并且需要玩家击败30级以上纯水精灵才会掉落,30级以下的纯水精灵并不会掉落。纯水精灵详情>>

阅读: 9
日期: 2020-12-16
原神沉沦之心怎么样-沉沦之心属性介绍

  本期小编为大家带来的是原神沉沦之心怎么样?想要知道的小伙伴们,下面就一起来看看原神手游沉沦之心分析,感兴趣的小伙详情>>

阅读: 3
日期: 2020-12-14
原神1.2版本新圣遗物冰风迷途的勇士和沉沦之心套装属性一览

原神1.2版本新圣遗物是什么?冰风迷途的勇士和沉沦之心套装属性怎么样?还不清楚的小伙伴看过来,这里234游戏网小编为大家带来《原神》1.2版本新圣遗物冰风迷途的勇士和详情>>

阅读: 4
日期: 2020-12-14
每日新游预告《黑暗之心》日式风格地底世界冒险

《黑暗之心》是神乐推出的一款地底世界背景的日式RPG冒险游戏。游戏中玩家意外被召唤到了一个奇异的的地底世界——“Haillard”王国。详情>>

阅读: 2
日期: 2020-12-11
阴阳师冷漠之心历练4通关攻略

  阴阳师超鬼王风起之森历练成王这个活动已经开启了几天了,最新开启的关卡,冷漠之心你通关了吗?那么,冷漠之心如何通关?玩家们对于这个关卡不是很了解,那么详情>>

阅读: 6
日期: 2020-12-09
霸王之心手游攻略,如何快速入门

  霸王之心是比较受欢迎,而且好玩的一款游戏,它是属于仙侠休闲类型的游戏。经过游戏官网的打造,给人们营造了一个绿色的环境,也能够感受到不一样的优秀画面感,拥有详情>>

阅读: 3
日期: 2020-12-05
阴阳师冷漠之心历练4怎么打?冷漠之心历练4阵容加点打法攻略[多图]

阴阳师冷漠之心历练4通关阵容怎么搭配?关卡开启之后,大家都在讨论超鬼王风起之森历练成王冷漠之心的打法,想要了解通关的技巧,那么阵容的搭配上大家就可以参考本攻略,攻略中会详情>>

阅读: 4
日期: 2020-12-04
阴阳师冷漠之心历练4怎么打?风起之森历练成王冷漠之心阵容打法攻略[多图]

阴阳师超鬼王风起之森历练成王冷漠之心如何通关?这是今天刚开启的关卡,玩家们对于这个关卡不是很了解,今天我们要分析的就是冷漠之心历练4的通关攻略,下面会带来详细的通关流详情>>

阅读: 1
日期: 2020-12-04
精彩推荐
相关专题