《The Spell Brigade》开发访谈:四人合作弹幕天堂的原型、Unity 选型与性能优化

AI3D 发表于 3 周前 浏览 2 分类 创作分享

《The Spell Brigade》建立在“弹幕天堂”公式之上,但加入了完整的四人合作模式。把一个传统上偏单人游玩的品类改编成多人体验时,最早的设计目标是什么?

Gianluca:合作从第一天起就存在。最早的第一个原型就已经内置了合作,因为我们需要验证“弹幕天堂的混乱 ×4”是否可控。另一个重要的设计目标是营造这种同袍情谊感,同时玩家仍然能互相造成伤害。这形成了玩家之间一种独特的氛围:他们会试着互相帮忙,尽管由于自己离谱的输出,帮忙也可能反过来坑队友。这种美学差不多就是我们在《The Spell Brigade》中聚焦的方向——一群呆萌法师,强得完全超出了自己的掌控。

我们做出来的第一个原型:

Developing The Spell Brigade, Online Co-Op Action Game About Wizards

几周之后,我们做出了大概这样的东西:

Developing The Spell Brigade, Online Co-Op Action Game About Wizards

从技术角度看,你们使用的是什么引擎?为什么它适合处理大量敌人、投射物和多人同步?

Luk:我们其实并不是根据这些需求来选引擎的。相反,我们看的是团队里引擎知识的分布。因为我们所有人之前都做过 Unity 项目,而且我们并不觉得有 Unity 解决不了的障碍,所以大家一致决定继续用这个引擎。

Unity 有大量现成方案,可以应对我们遇到的任何技术问题。

弹幕天堂游戏经常会在同一时间于屏幕上出现数千个实体。你们如何在玩法系统、渲染和网络同步方面进行性能优化?

Luk:从一开始,我们就决定要以务实的方式做优化。也就是说,不做过早优化,而是有意识地处理:当性能问题出现、并且没有达到基准时,再去解决它。

对于已知会成为性能瓶颈的系统,我们有相应的规范。其中一个例子是我们希望同时处理数百个敌人的动画。只要有可能,我们的敌人就会使用顶点动画,以降低 CPU 压力,并把这项工作转移到 GPU 上。

我们最早对成组顶点动画敌人的测试之一:

Developing The Spell Brigade, Online Co-Op Action Game About Wizards

从根本上说,你们如何区分弹幕天堂游戏和弹幕地狱游戏?

Gianluca:从本质上讲,在弹幕天堂里,你就是那个弹幕地狱。但在我们的游戏里有点不一样,因为如果你和另外 3 名玩家一起玩弹幕天堂,那就意味着同时有多个弹幕地狱在进行。所以我们喜欢说我们两者都算。有些敌人攻击也有弹幕地狱式的弹幕模式,因此走位是生存的关键。这就是我们喜欢这个品类的地方。因为输入非常简单(基本上只是移动),作为设计师,你可以寻找更微妙的方式,为一款非常易上手的游戏增加复杂度。

能否从系统角度带我们走一遍核心玩法循环——敌人、法术、升级和成长在底层是如何相互作用的?

Gianluca:概括我们的核心循环:你到处跑动,用法术击杀敌人,收集经验值并升级,从而获得新的升级项。在此过程中,你会尝试寻找能让你变得更强的物品,也会完成支线目标来获得增幅(augmentations)——这是更强、更独特的升级,会改变法术的运作方式。如果你的法术升到足够高的等级,你还可以为它们注入多种元素,因此每个法术都有非常多的可能性。

你做这些基本上就是为了变得尽可能强,从而活得足够久,击败 Boss 并完成任务。通过这样做,你会获得金币,可用于解锁新法师和永久升级。你还会完成大量任务,这些任务会解锁更多法术、酷炫服装、新世界、修正项以及更多内容。随着时间推移,你会提升法师的等级,最终甚至可以让法师飞升,从而解锁更多酷炫奖励。不过那些是秘密,我在这里就不剧透了。

仅一名法师——强大的 Aldric——的全部皮肤视图:

Developing The Spell Brigade, Online Co-Op Action Game About Wizards

你们内部使用什么工具或工作流,来快速原型化和迭代新法术、升级与组合?

Gianluca:在实现新内容时,比如说一个新法术,我们通常会先快速头脑风暴,让设计师确定规则和大致方向。然后我们通常会做一些快速原型,直到做出值得进入下一阶段的东西。与此同时,美术会为视觉方向做一些概念。到那时,程序通常已经在游戏里实现了一个版本,可以轻松装备到一局游戏中测试。随后再补上所需的模型、VFX 或动画。

由于每个法术都有很多元素和升级,完整打磨可能会多花一些时间。与此同时,设计通常可以最终确定数值和平衡。在这个阶段,我们还会和一些 Discord 上的玩家做一次测试。此时视觉可能还没全部到位,但这不会影响试玩测试,他们也理解这个流程。这里面有很多环节,但我们已经做过很多次,所以法术、法师或敌人这类内容类型的工作流现在已经被理顺了。

我们测试场景的一些早期画面,在那里我们可以随意折腾各种法术、元素和敌人效果:

Developing The Spell Brigade, Online Co-Op Action Game About Wizards
Developing The Spell Brigade, Online Co-Op Action Game About Wizards

从美术管线角度看,你们如何制作在战斗视觉混乱中仍然保持可读性的资产?

Pieter:这绝对是制作弹幕天堂游戏最困难的部分之一。到了某个阶段,你确实会觉得自己已经把所有能用的颜色都用完了。有时我们会后悔给每个世界用了这么鲜艳的调色板,因为在一个饱和的绿色草甸或明亮的雪原上,要让敌人和法术跳出来会更难。但与此同时,我们也意识到,这也正是让游戏脱颖而出的原因。

一个法术在所有不同元素下可能呈现的效果示例:

Developing The Spell Brigade, Online Co-Op Action Game About Wizards

我们为每个世界都设定了调色板,但一旦开始引入任意元素和颜色的法术,这些就基本不管用了。例如,星界裂隙之地(Astral Riftlands)是一个寒冷得多、也更黑暗的世界。火焰、酸液、闪电和冰霜法术在这里大多能形成良好的对比,但如你所见,有些组合会不那么突出。

Developing The Spell Brigade, Online Co-Op Action Game About Wizards

所以,尽管我们在设计过程中仍然非常重视色彩的运用,但我们也意识到,在如今这个阶段,视觉上的杂乱某种程度上已经是这类游戏的一部分了,而你能做的也有限。此外,我们的玩家似乎并不介意。事实上,他们很喜欢分享自己构筑的最激烈截图,看起来既有趣又带感。

Developing The Spell Brigade, Online Co-Op Action Game About Wizards

VFX 在传达玩法方面起着至关重要的作用。你们创建和优化法术特效的工作流程是怎样的,尤其是当多名玩家同时施放法术时?

Pieter: 由于我们游戏中的每个法术都有 21 种元素组合变体,我们需要让 VFX 保持简单且易于调整。我们总是从制作法术的基础变体开始,并牢记法术的哪些部分可以针对元素或其他升级进行更改。这意味着会有大量资产,因此正确的命名约定和预制体结构在这里最为重要,尤其是当美术、设计师和程序员需要能够轻松访问所有这些资产时。这一切在游玩时才会整合到一起,因此拥有一个合适的测试场景非常重要,我们可以在其中以玩家身份体验每个法术。

Developing The Spell Brigade, Online Co-Op Action Game About Wizards
Developing The Spell Brigade, Online Co-Op Action Game About Wizards

在快节奏游戏中,多人同步可能会很棘手。在确保玩家之间获得响应迅速、一致的合作游戏体验方面,最大的挑战是什么?

Luk:当然,响应性是我们在开发新功能时一直牢记的事情。任何功能在从客户端和主机两个角度进行审查之前,都不会被推送出去。

为了让一切感觉尽可能流畅,我们对敌人移动使用了客户端预测。玩家的法术也由每个客户端拥有,尽管伤害和命中是服务器权威的。虽然这对客户端的游戏响应性很好,但这也带来了一个相当大的注意事项。法术需要一种确定性的方式来瞄准敌人。我们必须确保从每个玩家的角度来看,法术都施放在同一个敌人身上,这样游戏才会感觉一致。

对于某些法术(比如上图的 Hex Bomb),这很容易,因为它只是在角色身后发射。其他法术,比如 Aurora Wings,则更棘手,它使用一些更复杂的瞄准逻辑来寻找从一个敌人到下一个敌人的路径,并且对玩家来说看起来赏心悦目。

1.0 更新引入了 Ascension 和扩展进度等系统。你们的管线是如何演变,以在支持即时玩法之外同时支持长期进度系统的?

Gianluca:平衡起来肯定更难。我们有一堆表格和图表,可以为这类内容计算出完美的流程,但这些永远无法完全预测玩家的流程和参与度。所以,虽然我们通常有相当不错的想法,但我们确实需要实际测试来优化。对于内部测试,我们可以使用一些不错的工具,它们能为我们模拟后期存档,这样我们就能确保一切正常。但对于外部 QA 或 beta 测试,我们通常会准备一种存档文件,让测试人员可以从某个特定点开始,就像他们已经玩了特定小时数一样。尽管如此,总会有遗漏的地方。到目前为止,我们主要依赖抢先体验玩家的反馈。毕竟,真正玩了 50 个小时的真实玩家能给出最自然的反馈。

测试后期游戏功能和测试早期功能同样重要,但后期功能通常更难正确模拟。工具帮了大忙。这是后期体型精通的一个早期测试——谢天谢地我们测试了这个:

Developing The Spell Brigade, Online Co-Op Action Game About Wizards

在跨学科(工程、美术、音频、设计)的开发流程中,哪些工具和软件是核心?

Luk:我非常自豪于我们的 CI 流水线和测试套件。我们有很多跨不同部门的约定测试。例如,每个敌人需要为 Dark、Acid、Ice 等造成的状态效果分配可视化器……所以我们有一个约定测试,遍历所有敌人并确保这些分配正确。运行时没有意外,耶!

更多例子包括确保游戏的所有音频都通过 FMOD 路由,或者层障碍碰撞体需要被分配,或者任何资产都不应该有缺失的引用。我记不清这些测试有多少次把我们从损坏的游戏状态中拯救出来!

作为一个小型独立团队,在构建如此系统繁重的玩法时,你们如何组织设计、工程和美术之间的协作与迭代?

Gianluca:在过去几年里,我们缓慢但坚定地将敏捷开发整合到工作流程中。这意味着我们有每周冲刺和每日站会,并朝着更大的里程碑努力。在抢先体验期间,这些里程碑基本上就是更新,这对我们来说效果很好,因为有一个持续稳定并准备好发布的游戏版本。开发过程中的主要挑战是确保设计师、美术和程序员能够不断互补,而不会造成大的阻塞或瓶颈。某些内容类型需要更多美术,某些需要更多编程工作,所以这基本上是一个你必须弄清楚的大型拼图。通常,我们会在发布前约 2-3 周准备好更新,这样我们可以做一些试玩测试,从 Discord 上臭名昭著的 Early Brigade 收集反馈,并对更新实施更多改进。

这里我们可视化了 Pyrestorm Pit 中龙卷风的行为,这样设计和美术可以轻松地处理这个功能:

Developing The Spell Brigade, Online Co-Op Action Game About Wizards

Bolt Blaster Games,开发了The Spell Brigade

采访者:David Jagneaux

相关链接

原文链接:https://80.lv/articles/developing-the-spell-brigade-online-co-op-action-game-about-wizards

喜欢这篇内容吗?