quicktequila 开发者分享《Tamashika》街机风格 FPS 游戏创作历程

AI3D 发表于 04-11 浏览 14 分类 创作分享

TAMASHIKA 融合了街机风格的 FPS 机制与超现实、迷幻、复古的视觉呈现。指导项目从始至终的核心设计支柱是什么?

当我第一次玩《Post Void》时,这些愿景开始从我的潜意识中渗透出来。在 Tamashika 之前,我参与了一系列第一人称射击游戏,这些游戏融合了快节奏动作和平台元素,奖励精准瞄准和速通。这些影响的融合塑造了最终进入这款游戏的感受和机制。

我仔细审视了我制作过的游戏和我喜欢玩的游戏,以确定那些后来指导 Tamashika 所有设计决策的核心支柱。游戏极其多样化,提供各种不同的体验。通过这款游戏,我想加倍投入那种能抓住我注意力的风格和玩法。不仅仅是实际游戏的机制,而是整个体验,从你启动程序的那一刻起,一直到快节奏动作的深处。

我知道我希望这一切如何感受,并尽我所能追求那种感觉。节奏和流畅性是游戏体验的核心,但进入教程片刻后,你就会知道她完全不按传统 FPS 的规则行事。她打破了许多惯例,并且毫不掩饰。在这背后,整体的美学、抽象的视觉效果,以及有意排除的阐述、叙事和过场动画,都指向对简洁性的关注。如今的游戏塞入了太多内容、功能、解锁、货币等,这让我感到畏惧。

Tamashika 不期望你投入那么多时间。它是程序生成的,但你不会每次运行都获得一个新关卡。她不会因为你玩很长时间而奖励你;事实上,她会劝阻你这样做。我玩游戏是为了通过让我的眼睛、耳朵和手与移动的像素和声音同步,来调出世界模拟,作为混乱中的喘息。这就是为什么年轻时的我也玩游戏,所以我制作 Tamashika 正是为了提供这一点。你与机器的每日舞蹈。

Game Developer at quicktequila On Creating the Arcade-Style Tamashika Game

游戏中不断变化、程序生成的走廊是体验的核心。你的程序生成系统是如何构建的,以及你如何确保关卡既易于理解又引人入胜?

关卡生成器在达到我们今天拥有的版本之前经历了多次迭代。我不是从一个宏伟的愿景开始制作我的游戏,而是尝试以我想要捕捉的感觉为主导,从那里我祈祷一切顺利。这是一种全力以赴的策略,但到目前为止它对我很有效。这反映在我对关卡生成器进行的迭代次数上。

第一个版本结合了一个简单的 DSL 和规则来按顺序排列区块,但它太简单了。下一个版本去掉了 DSL,转而遵循严格的规则,定期混合走廊和房间。这个系统在很长一段时间内都运行得相当好。随着玩家进一步深入关卡,她只会根据一个简单的脚本来产生新的遭遇。我努力想办法引入更多变化,但我受到我建立的管线的限制,这涉及从 Blender 导出预制区块。

当前版本将程序元素与固定的预制件混合,这些预制件是在一个自定义工具中手工设计的,比在 3D 软件中工作快得多。这使我能够轻松快速地设计和导出单个片段和遭遇。关卡被分解为独立的蓝图,每个蓝图都有指向相同片段池的代码,这些片段每天都会被打乱。这些蓝图遵循一种节奏顺序,以确保困难的遭遇在较快的片段之间均匀分布。

通过适当数量的转弯、直道和连接较大开放房间的转向,整体结构确保提供不同风格的紧密走廊动作序列的正确组合。我们有大量的片段每天被打乱,与生成器旧迭代相比,这为每日轮换提供了健康的多样性。

Game Developer at quicktequila On Creating the Arcade-Style Tamashika Game

快节奏的移动和机制如闪烁、格挡和射击需要紧密的响应性。你是如何设计和调整这些系统,使其感觉精确和令人满意的?

游戏中的许多机制都影响着结构和关卡设计,以确保它们相互支持。关卡设计确保玩家有一条最佳路线可以遵循而不中断流畅性。格挡和近战系统与此相反,这正是 Tamashika 的突出之处。我觉得许多射击游戏缺乏防御动作,这使得整体感受和动作过于单向和单调。

虽然 Tamashika 也关乎流畅和连续移动,但节奏被设定为在常规的侧移、转向和射击动作与快速反应事件之间交替,在快速反应事件中,整个事情会停下来,让你在正确的时间按下正确的按钮。Tamashika 希望你找到的节奏在于能够在两者之间取得平衡。

Game Developer at quicktequila On Creating the Arcade-Style Tamashika Game

从技术角度来看,你使用什么引擎,以及是什么使它适合一款围绕速度和程序内容构建的游戏?

我正在使用一个名为 Monogame 的游戏开发库。我不想使用引擎,因为我想自己手工制作系统。关于使用引擎与硬编码游戏有很多争论,从我上网论坛的时间来看,避免使用引擎似乎成了一种身份象征。我不在这场争论中站队,也不评判。使用你想要的任何东西,只要制作酷的游戏。

我个人回到使用库,是因为我想重温那些美好的旧时光,当我从高中回家后,会在 C++ 和 DirectX 上捣鼓小演示。这对我来说更像是一种美学选择。在速度和性能方面,这是一个广泛的频谱。我仍然在一个托管环境中,所以编程专家不会认可我的设置。虽然可以更高效地使用引擎来制作这样的游戏,但我想大部分工作将涉及削减所有提供的功能,所以我完全放弃了它。

我喜欢学习者的开发环境,它感觉恰到好处,这使得在上面工作更有趣。这关乎启动项目时的感受,看着代码页、资源文件和着色器跳着探戈,在你按下 F5 时在屏幕上产生魔法。氛围,那是我的秘密船长,我一直在氛围编码。

Game Developer at quicktequila On Creating the Arcade-Style Tamashika Game

你能带我们了解你典型的关卡创建工作流程吗——有多少是手工制作的,有多少是系统驱动的,以及这些元素如何在引擎中结合?

这个系统自诞生以来已经走过了很长的路,所以我会描述它在最新迭代中的工作方式。我氛围编码了一个节点服务器,管理一个简单的前端,在那里我可以绘制一组矩形来定义一个关卡片段,以及敌人、道具和陷阱等实体。后端管理这些片段的数据库,每个片段都被标记并分类到不同的池中,每次我点击保存时都会直接导出到游戏中。

这是一个简单、直接的设置,使我能够指数级减少迭代时间。这些手工制作的片段还附带蓝图,允许我定义复合片段,其中每个元素指向一个关卡片段池。游戏按顺序排列这些蓝图,以定义一个“时间线”,每天通过一个种子打乱每个蓝图,为当天的运行做准备。

我会说它绝对比程序生成更手工制作,所以我不会说它具有基于规则的生成器所期望的那种涌现属性。我以前尝试过那样,但不喜欢,所以这个解决方案更适合我想要提供的体验。此外,这使得系统非常可扩展,我期待在游戏发布后加入更多惊喜。

Game Developer at quicktequila On Creating the Arcade-Style Tamashika Game

游戏的视觉风格高度风格化和抽象。你是如何定义艺术方向的,以及哪些参考或灵感塑造了它的外观?

看到一连串的军事 FPS 游戏和每年按时上市的逼真 AAA 游戏,我的视觉设计哲学自《Lovely Planet》以来并没有太大改变。我只是喜欢颜色,我喜欢看颜色,而且很多颜色。我不想指责或挑出任何一款游戏,我也不知道我是不是老了,但我最近玩的一些射击游戏也提醒我为什么我制作我做的游戏。

我希望世界脱颖而出。如果我想要逼真,我直接出门就行了。我不想要逼真,如果非要的话,我想要超逼真。给我看一些我在别处看不到的东西,让我惊喜!这基本上是我对 Tamashika 艺术风格和美学的动机,其中很多只是来自尝试许多不同的着色器和资源组合。复古游戏受限于当时的技术,这迫使开发者跳出框框思考,他们的创造力在那个时代的游戏中展现出来。

Tamashika 中的像素化帧是对黄金时代的致敬,我非常怀念那个时代。另一方面,她也自信于她的迷幻底色。这就是彩虹美学和扭曲视觉效果渗入的地方。电子游戏作为“数字毒品”,每一帧都经过精心设计,编程进入你的视觉皮层,击中正确的音符,以调节你的认知装置与机器中的幽灵同步。虽然我受限于我时代的技术,但美学至少试图指向电子游戏和神经自适应脑机接口的未来。让一个人做梦吧。

Game Developer at quicktequila On Creating the Arcade-Style Tamashika Game

在这样一个动态、程序化驱动的系统中,你们创建环境、敌人和视觉特效的艺术管线是怎样的?

项目初期,我找到了我的美术师 Ilyse,她几乎不需要我指导就能创作出最惊艳的动画。她似乎知道《Tamashika》需要什么,我只能顺其自然。我之前尝试过复古 3D 美术风格,为敌人和玩家制作了模型,但看到手绘动画与游戏玩法完美结合后,我决定采用 3D 环境和 2D 敌人混合的风格,类似《Doom》和《Wolfenstein》,当然分辨率和帧率更高。

环境材质完全基于着色器编程。简单的图案混合多种颜色,响应音乐和玩家操作,赋予世界活力和响应感,这是设计的核心支柱。我喜欢摆弄着色器,将变量混合到方程中,产生各种效果,因此除了部分区域使用少量纹理外,大部分图形都是纯方程和代码。

屏幕上的视觉特效遵循相同逻辑,但背景全部由 Weirdcore 制作动画。前景中迷幻的移动色彩与手绘动画叠加在魔法星空背景上,轻轻脉动,让每一帧都充满我希望玩家体验的梦境能量。

Game Developer at quicktequila On Creating the Arcade-Style Tamashika Game

程序化游戏通常高度依赖模块化资产。你们如何设计资产库以支持多样性,同时保持一致的视觉识别?

我们的资产种类相对较少,因此我通过削减对体验不必要的部分来应对这一挑战。除了之前讨论的模块化关卡系统外,所有环境美术、道具和模型都组织成池,每个关卡片段可以按需生成,将资产分配到关卡中。这非常简单,视觉识别——一种抽象的迷幻东京地铁——只在部分区域暗示,但游戏不会过于强调或强加这种美学。

游戏的视觉识别是其独特随机资产的混合体,这些资产不会刻意追求艺术上的连贯性或可识别性。我不希望视觉设计有那种连贯性。我希望它处于中间状态,成为难以用语言描述或解释背后意义的事物。我想完全阻止这种思维倾向。不要试图理解它,或者随你所想赋予它任何意义。

Game Developer at quicktequila On Creating the Arcade-Style Tamashika Game

你们团队是否开发了任何自定义工具或内部系统来支持程序化生成、迭代或测试?

我是不是数了五次关卡编辑器的迭代?显然,我走了弯路!直到去年 Steam Next Fest 演示后,我才真正开始正确开发、迭代和测试模块化关卡部分。我们有预制部分,在 Blender 中烘焙,并通过自定义脚本导出描述关卡模型和实体的复杂 JSON。我使用那个系统一段时间,但它不允许我快速迭代,这让我困扰。

我们现在的新系统,如上所述,极大地加速了流程。我可以修改关卡,点击保存,Alt-Tab 切换到游戏,按一个按钮加载新数据,并立即重玩该部分进行测试。这是我用于关卡设计的核心设计-测试-迭代流程。测试将这些片段排列成更长布局的生成器很棘手。

我会手动重新运行布局数小时,检查蓝图中的差异,但这并非可扩展的解决方案。最终,我编写了一个自动运行器,允许我让游戏运行通过关卡,并记录任何错误供稍后检查。总的来说,这形成了一个为我服务良好的设计和测试管线。

Game Developer at quicktequila On Creating the Arcade-Style Tamashika Game

在充满特效和动态内容的快节奏 FPS 游戏中,性能可能是个挑战。开发过程中的关键策略或优化是什么?

我不是 Jon Blow,但我喜欢编写简洁的代码。高效还是高性能?这取决于你问谁。当然,我能实现的程度有待商榷,但我已尽最大努力确保游戏运行流畅。游戏中所有资产都池化并存储在内存中,供生成器在游戏过程中无需加载或释放任何内容的情况下进行混排。

少量敌人在整个运行过程中被回收和替换,因为它们共享相同的资产。大多数经常重复的小道具在 GPU 上进行实例化。世界几何体是动态准备的,这有点昂贵,但通过背景中的 flood fill 通知渲染器按顺序提升和放置新块,它已优化以适应绘制的简单环境。

尽管如此,尽管在低性能硬件上进行了测试,我不做任何保证,因为这类问题可能在大量玩家使用不同配置在发布时涌入后出现。在某些情况下,游戏可能会在压力下卡顿或掉帧,对于一个关于流畅的游戏来说,这不太好看,因此我随时准备在问题出现时解决它们。

Game Developer at quicktequila On Creating the Arcade-Style Tamashika Game

回顾过去,在构建《TAMASHIKA》时,你们遇到的最大技术或创意挑战是什么?

我认为自己在大多数情况下是技术导向的。我对数字、函数和方程有亲和力,感觉对一切都有点僵化的系统思维方法。但不知何故,当我制作游戏时,这种思维就想完全放松。回顾我制作的所有游戏,我开始注意到一条贯穿线,影响了我很多品味、风格和美学,最终更刻意地融入了《Tamashika》。

我与游戏设计师交流,经常对他们热情讨论的所有技术细节和系统感到完全困惑,那么多规则,虽然合理,但并不总是符合我喜欢创作的方式。对我来说,游戏首先是关于感觉,其他都是次要的。信任我的风格和偏好,忠于我想传递的感觉,尤其是在这可能违背设计趋势或冒犯用户期望的情况下,是我通过《Tamashika》克服的一个挑战。

很多与我脑海中声音的斗争,告诉我她应该这样或那样,最终意识到这些声音不是我的。无论她如何被接受,在发布时我会知道,我忠于我想创造的体验,并且我很感激有一支才华横溢的团队推动我探索创造力,帮助实现我的愿景。

Vidhvat Madan, quicktequila 游戏开发者

采访由 David Jagneaux 进行

相关链接

原文链接:https://80.lv/articles/game-developer-at-quicktequila-on-creating-the-arcade-style-tamashika-game

喜欢这篇内容吗?