Gdevelop 引擎图文教程:复刻《星球大战:前线》的冷却QTE小玩法

作者:S&H Game
2023-05-06
1 0 0

编者按

本文为视频教程的文字整理,经翻译、转写,以便阅读。原 Youtube 链接见文末。

一、预期实现的目标

效果预览

1.过热时激活一个 QTE 条,并且该 QTE 条包含蓝色、黄色、红色三部分,黄蓝条的位置和宽度随机生成;

2.从 QTE 条的右端生成一个从右向左匀速移动的指示器(一个小竖棍子),速度和散热速度匹配;

3.根据玩家按下左键的时机有 4 种情况:

        指示器处于蓝色区域:奖励:瞬间冷却武器(清空热量条)
        指示器处于黄色区域:奖励:瞬间冷却武器 + 一段时间内开火不会积累任何热量
        指示器处于红色区域:惩罚:热量条重新充满,玩家只能被动地等待其散热完毕后才能开火
        指示器移动到最左端:玩家什么都没做,自然散热

4.武器没有过热,但有之前开火积累的热量,玩家可以等待几秒后开始被动散热;或者按 R 主动散热。

详情参考:《星球大战:前线》Fandom Wiki,关于过热(Overheat)的页面

二、游戏 Objects 的准备

1.游戏层:一个玩家(图中 Player)、一把武器(图中 Rifle)、一个弹药(图中 Bullet)

                 其中武器要装上官方的 Firebullet 插件;

2.UI 层:一个热量指示条 HeatlevelBar(示例中我设置为 200px 宽)、一个热量指示条的装饰性外框、一个金色条(告知玩家可以不积累热量随意开火的剩余时间);

3.UI 层 QTE 部分:一个用来判定 QTE 的竖棍、一个黄色条(示例中我设置为 32px 宽)、一个蓝色条(32px 宽)。

三、Firebullet 插件的拓展

根据“预期实现的目标” 可以知道,QTE 按到红区会惩罚玩家重新进行冷却,热量条会再度爆满。但 Firebullet 插件本体没有能实现直接设置热量值的功能,这会影响游戏事件的编写,所以需要我们自己 Diy 一个。去插件编辑页面如下图操作与设置即可:

PS:我已建议 Firebullet 插件的作者添加这个功能,目前建议已被采纳,不过不知道官方何时会更新。

四、开火,热量积累、被动散热和主动散热

事件表如上图,Debug 部分用于在开发时显示武器实时的热量值大小以及是否处于 QTE 状态。

官方插件中,热量值最低为 0 最大为 1,达到 1 的时候武器过热,无法开火。本示例中,每开火 1 次,热量累积 0.05,也就是说,如果不被动散热或主动散热,开火 20 次就会过热。热量冷却速度的单位是 n 个热量值每秒,示例中设为 0.25(也就是 1/4),意味着如果武器快过热了,玩家要消耗将近 4 秒才能主动散热完毕,不如直接开火到过热,然后激活 QTE 来争取瞬间冷却。

这部分的要点是给武器赋予是否处于 QTE 状态是否处于主动散热状态的两个变量(图中的 isQTE 和 isVenting)。

五、热量条的实时刷新与一些视觉设定

过热条的宽度=热量*200,之所以乘 200,是因为前序美术素材的宽度就是 200px。

六、过热触发 QTE

武器过热后,就可以根据热量条的坐标来创建 QTE 三件套了。

七、QTE 判定

首先是蓝条和黄条的判定,用到的条件是鼠标左键按下且竖棍和蓝条/黄条发生碰撞,然后激活一个对应的计时器,计时器在指定时间内会瞬间散热,下一部分会讲。

同时,要提前在热量条的坐标,创建并隐藏一个表示武器开火不发热的黄金条,只有玩家触发黄条后才显示它,下一部分会讲。

接着是红条惩罚,注意到碰撞部分补充了两条:竖棍不能和蓝条或者黄条发生碰撞,如果不写这两条,那么由于我们之前的黄蓝条都是生成在红条上,所以竖棍在和黄条或者蓝条碰撞时也会碰撞到红条,那最后所有判定都会变成红条惩罚。

另外,因为热量条也是会从右往左缩短的,为了美观,热量条没有和蓝条或者黄条碰撞的时候,删去蓝条或黄条,避免蓝条、黄条孤零零的悬浮在 HUD 上。

最后是玩家在 QTE 时间啥也没干,那就自然散热,热量条宽度为 0 的时候结束 QTE 状态。

八、瞬间冷却和开火无热量

综合运用计时器以及变量就能完成瞬间散热。 

用黄条计时器来即时刷新黄金条的宽度,从 200px 随时间减少到 0px。


完整视频链接:如何在 Gdevelop 中实现《星球大战:前线》的冷却 QTE(How to make a Cooldown QTE like Star Wars Battlefront in Gdevelop)

本文为用户投稿,不代表 indienova 观点。

近期点赞的会员

 分享这篇文章

您可能还会对这些文章感兴趣

参与此文章的讨论

暂无关于此文章的评论。

您需要登录或者注册后才能发表评论

登录/注册