找回密码
 立即注册(邮箱请乱填
搜索
查看: 68|回复: 0

设计游戏内容架构

[复制链接]

2688

鱿鱼币

8976

65

主题

站长

脸卫兵

积分
2911

人民解放军战狼外交官可口可乐SIM卡潜水蛆红卫兵大撒币习近平来世还做中国人晶格的徽记

门派:学习墙国

擂台:天下第11

与他切磋一把

查看他的属性

发表于 2025-11-28 22:27:05 | 显示全部楼层 |阅读模式
随着游戏预算再次大幅增长,一款游戏的成功往往取决于能否制作出大量高质量的内容。这绝非易事。内容规划上的失误很容易导致恐慌、延期发售、项目缩减、返工和加班加点。现代开发者们疲于奔命地制作内容,我们不妨欣然接受这种挑战。
长期以来,我对内容架构——也就是我们制作内容背后的工具和数据结构——一直很感兴趣。这个看似晦涩的话题,却极大地影响着团队的生产效率。糟糕的内容架构很容易导致同样的玩家体验,却要花费十倍的时间和人力。这就是30人团队和300人团队产出之间的差距;如此巨大的金钱和人力投入,稍有不慎就会造成巨大损失。
这是给谁看的?
  • 制片人:任何高于助理制片人级别的人员都应该对这个话题了如指掌。套用设计师 Crystin Cox 的话来说,“我希望在构建体验时,能够询问制片人我应该使用占位符还是垂直切片。” 在很大程度上,这是你们的职责,因为这些早期决策很大程度上决定了团队能否按时交付并应对突发变化。
  • 设计师:如果你决定团队制作什么,你就有责任了解实现预期成果的最佳方法。设计领导者需要在预算有限的情况下,最大限度地提升用户体验的影响力。
  • 工程师们:你们将构建许多这样的工具和流程。如果它们真的有用,岂不美哉?如果其他部门也能沟通他们的需求,岂不美哉?了解如何服务内容创作者,不仅能提升工作效率,还能改善你们的工作,并促进跨团队合作。
我们将涵盖的内容
内容架构是一个涵盖面很广的话题,最好采用整体性的方法进行探讨。现有的内容架构专家通常是经验丰富的开发者,他们开发过很多游戏,也经历过无数次失败。因此,本文需要先花些时间介绍一些基础知识,然后再深入探讨更高级的考量。抱歉文章进展缓慢!
  • 术语:我们在内容架构中操作的内容的基本定义。
  • 概念:帮助我们思考内容的关键概念。
  • 约束条件:对于特定项目,有哪些具体的内容选择会影响我们的架构?
  • 基本架构模式:我们如何组织内容?
  • 高级模式 – 手动组合:我们如何管理内容管道中的僵化现象?
  • 高级模式 – 自动合成:我们如何通过自动化减少僵化?
  • 元工具创作:我们如何构建能够倍增创作效率的工具?
术语
让我们先从一些适用于大多数内容类型的基本定义开始。我将讨论的内容抽象化,不涉及具体内容(关卡、角色、纹理),这样我们才能拥有构建游戏内容概念的基础。我们的目标是构建“内容代数”,而不是总是问“鲍勃有多少个苹果?”
内容:内容是指一组精心创作的数据,旨在展示在更广泛的游戏系统中,并供玩家使用,从而创造有意义的游戏体验。更传统的内容形式包括书籍的章节或博物馆中的一幅画作。
我们通常认为游戏内容是指像3D模型或文本这样的通用媒体。当然,我们也确实在这方面投入了大量精力。然而,每款游戏也包含诸如战利品表、等级进度或强化道具等数据文件。这些数据文件需要精心设计。
内容块:传统上,内容以内容块的形式呈现。这是玩家体验中标准化且可复现的部分。内容块的示例包括:
  • 关卡:像《超级马里奥兄弟》这样的游戏由多个独立的关卡组成。每个关卡都是一个独立的模块,包含一系列平台、敌人和胜利条件。因此,一个完整的游戏由多个关卡构成。
  • 玩家角色皮肤:包含3D模型、UV贴图、纹理、着色器、动画绑定和状态机的资源包。玩家可在多种皮肤中进行选择。
  • 武器:武器伤害、射速、冷却时间等属性的集合,以及相关的美术资源、经济成本等。
  • 玩家增益:对外部属性进行的一系列修改,以及对增益何时以及如何触发的限制。
每个数据块的内容都不同。武器A的数据与武器B的数据不同。但它们的数据结构以及数据如何与其他系统交互是相同的。
标准:标准是定义内容块的规则和约束。它们通过消除意外的变异性和相关的冗余信息来降低风险。它们通过引导作者专注于特定且定义明确的领域来提高质量。它们通过消除常见障碍和简化工作流程来提高效率。它们通过允许多位作者协同工作于同一项目来帮助团队扩展规模。
集合:这些数据块被组织成集合。例如,一个游戏中可能有 20 个关卡,这就是关卡集合。或者,游戏中可能有 500 个语音片段,这就是语音片段集合。
组成:各个模块可以组合成新的复合模块。关卡模块由敌人、关卡图块、强化道具和其他模块化元素组成。关卡设计师可能并未创建这些子组件,但他们将它们组合在一起,形成独特的玩家体验。
创作是一种创造性的写作行为。创作者需要深思熟虑地选择作品的内容及其与其他元素之间的关系。即使是作家,也是在纸上创作他们自己并未创造的文字。画家也是在画布上创作他们自己并未创造的色彩。
依赖关系:当您将内容拆分成多个块并将它们串联成内容架构时,就会产生依赖关系。为了使内容能够发挥作用或具有意义,它需要其他内容或系统按预期运行。创建内容块的行为总是会产生依赖关系,因为内容的存放位置界限并不明确。标准有助于对依赖关系进行分类和隔离。稍后,我们将看到许多用于管理内容架构的工具都旨在以有效的方式构建依赖关系。
关于你的游戏,值得思考的问题:我们常常不会花时间去思考“文字”或“颜色”这些标准化的元素。它们就像我们呼吸的无形空气一样。消除我们对“默认设置背后的意图”的盲目性是必须迈出的第一步。作为内容架构师,你需要拓展视野,将这些元素视为明确的设计选择。
  • 你的块是什么?
  • 他们的标准是什么?
  • 他们的套装是什么?
  • 它们是如何构成的?
  • 它们之间有哪些依赖关系?
概念
为了设计内容系统,首先需要对内容的“运作方式”有一个清晰的认识。以下是一些内容创作的基本原则。
内容创造价值:我们创作并向玩家提供艺术作品,旨在为他们带来有意义的体验。我们可以创作损害或浪费玩家生活的内容,也可以创作丰富他们生活的内容。
内容消费:玩家体验内容一定次数后,就会觉得已经理解了其中的内容,并准备好尝试新的内容。有些内容会成为玩家持续进行社交经济活动的重要标志,但大多数内容用完后就会被搁置。玩家会逐渐失去再次体验这些内容的动力。
消费是迭代的。玩家在继续进行游戏之前,会体验某个内容模块 1 到 N 次。体验一次后便弃置的内容模块被视为“高消耗性”内容模块。而可以多次体验而不弃置的内容模块则被视为“常青内容模块”
创作是一个迭代的过程。面对不同受众对内容消费的不确定性,作者该如何应对?答案是:迭代。发布内容,观察受众的反应。然后修改内容,再次测试。
最基本的层面上,作者会通过一种称为“自我测试”的过程来检验自己的创作。他们会在创作状态和体验状态之间切换。写作和绘画都是如此,这种切换以紧密的迭代循环形式每时每刻发生。例如,写作时,以下情况会重复发生数千次:
  • 我写一个词
  • 然后立即阅读我写的内容并做出回应。
  • 然后我进行修改。
游戏的反馈周期比许多其他媒体形式都要长。作为创作者,我们可以在脑海中想象游戏的运行过程,但我们现有的技能和对游戏系统的理解会影响我们的同理心。一些系统,例如多人游戏、经济系统或长期发展机制,会产生意想不到的结果或庞大的游戏空间。自我测试往往不可靠。因此,我们需要依靠频率低得多的与他人进行的游戏测试。
原创内容展现出不同程度的杠杆作用:杠杆作用是衡量效率的指标,即内容相对于其成本所创造的价值。
  • 杠杆效应= 对玩家体验的实质性贡献 / 总创作和工具成本之和
  • 高杠杆:常青内容(例如一首花费数小时创作、在数百年内被使用数百万次的国歌)具有很高的杠杆作用。
  • 低影响力:一本漫画书中,一幅漫画虽然花了几天时间绘制,但只被看过一次就被遗忘,这种漫画被认为是低影响力的。
  • 其他因素:完整的成本效益结构包括工具链的搭建成本、内容产量以及所有内容流经的内容管道的成本。我们将在下文“限制条件”部分详细讨论这些内容。
杠杆效应是规划中一个很有用的概念,但需要注意的是,它并不精确。一旦内容触达受众,他们可能会将作者最初认为的次要元素提升到经典地位。例如,《卡尔文与霍布斯》漫画中有些场景的制作成本与其他场景一样高,但它们与受众的共鸣却能带来更深刻的体验。
构建内容架构需要前期投入:你需要购买工具,学习这些工具,并不断迭代完善内容标准。所有这些都发生在团队作为作者开始编写任何可发布的内容模块之前。
传统媒体内容的边际成本大多呈线性增长。一旦某种文字、视频或图像的内容模式标准化,就很难实现规模经济效益。制作一个漫画分镜的成本与制作100页后类似分镜的成本大致相同。提高效率的关键在于缩小标准内容单元的规模,并巧妙地将低成本单元与高成本单元穿插组合。
在游戏领域,我们可以创建非线性内容架构:内容架构能够为内容创作过程引入非线性杠杆效应。这样一来,作者每多投入一小时的劳动,就能获得比传统内容创作方式更丰富的玩家体验。
图 1:内容块创建的阶段和成本
此图有助于直观地展示权衡取舍。
  • A – 工具齐全
  • B – 已支付初始学习和原型制作费用,并创建了第一个内容块。
  • C – 你的高级内容制作流程实现收支平衡。这是你所有工作首次相对于手动零散创建内容产生净收益。
  • D – 玩家会感到疲惫。额外的有意义内容价格昂贵,因为玩家从每增加一段此类体验中获得的价值都越来越低。
约束条件
假设你的目标是创建一个高杠杆的内容架构。首先要做的就是了解你的限制条件。我主要把这些限制条件表述为团队需要回答的问题,因为答案会因项目而异。你需要考虑杠杆等式的两边:
  • 设计、构建和测试内容需要多少成本?
  • 内容的有效性如何?
成本 - 原型制作:这里的目标是回答“设想的内容能否提供我们想要的体验,以及如何提供?”这个问题。
  • 您希望这类内容达到什么目标?
  • 你需要多长时间才能确定并探索特定类型内容块的运行空间限制?
  • 这项原型开发工作失败的风险是什么?
  • 如果原型设计未能取得成功,有哪些风险较低的备选方案?
成本——标准化:您需要制定标准来消除极端情况并防止产生低质量内容。这一步骤并非免费,而且常常被忽略。
  • 为原型内容制定易于沟通的标准需要多长时间?
  • 该内容如何融入内容流程?
  • 要达到预期的效率,需要哪些工具?
成本 – 生产期间每个代码块的迭代次数:迭代也不是免费的,而且通常会被忽略。
  • 在内容模块最终完善并准备好供玩家体验之前,需要多少次实现->试玩->反馈迭代?
成本 – 迭代速度:迭代速度通常决定了你能完成多少次迭代。根据我的经验,内容质量与润色迭代的次数和频率直接相关。
  • 迭代一个代码块需要多长时间?考虑作者自身的迭代,即作者根据自己的游戏测试体验进行测试。同时也要考虑外部迭代。
  • 如何改进工具以加快迭代速度?
成本 – 人力资源:每个迭代繁重的流程都需要由活生生的人以人类的速度(而不是计算机的速度)进行设计、测试、优化和掌握。
  • 制作这一部分需要多少来自不同领域的人员?
  • 人们需要多长时间才能掌握创建代码块的技能?
成本 – 技术:所有这些数据之所以有效,是因为它们与代码连接起来了。
  • 支持这些内容的技术成本是多少?
  • 添加新的内容用例时,能否重用或扩展现有代码?
  • 某些技术选择会造成哪些依赖性和僵化性?
成本——游戏系统:游戏玩法是一个复杂的、环环相扣的游戏机制系统,并包含相关的反馈回路。游戏内容表达并探索了这些系统所创造的游戏空间。
  • 游戏机制所依赖的内容基础成本是多少?
  • 游戏系统需要多少内容以及哪些类型的内容才能有趣?
  • 在测试内容有效性之前,需要建立多少套游戏系统?
  • 为了测试,需要多长时间才能在各个系统中平衡内容?
成本与沟通:随着人员增加,彼此间的依赖性也随之增强,因此需要更频繁地沟通设计意图和问题。交接工作可能成本高昂,甚至成为阻碍。
  • 交接环节有哪些?
  • 如何才能使交接流程尽可能高效?哪些环节出现了阻塞、延误或积压?
成本——失败风险:任何创意项目都无法保证一定成功。风险会直接转化为成本,例如返工或需要实施替代设计。对于任何特定类型的内容,您可能无需支付这笔费用,但随着时间的推移,整个项目会因为内容风险较高而付出更高的成本。
什么是高风险内容?时间和资源是两个影响巨大的因素。但我发现最具预测性的因素是个人或团队的过往经验。经验丰富的团队通常知道他们需要多少时间和资源。而缺乏经验的团队则会忙于探索未知领域,从而无法有效地进行预算。
按风险从低到高排序
  • 你曾多次成功制作过的内容。
  • 你制作过 1 到 2 次的内容。
  • 内容与你以前制作过的内容类似。
  • 在其他游戏中已有清晰可玩的示例,而您试图复制完全相同的功能。
  • 内容灵感来源于某人的作品,但尚未进行演示。
  • 全新的、没有直接对应物的内容。
需要注意的是,经验既包含个人风险,也包含团队风险。如果一项任务涉及众多人员,且他们之前从未合作过,即使某个个人贡献者过去曾成功完成过类似项目,团队失败的风险也会高得多。
人们可能会认为这种风险等级会导致内容千篇一律。但事实并非如此,尤其是在小型团队中。由一位多年钻研独特技能的人创作的内容,其风险通常低于他试图复制一种流行的内容风格。始终要考虑创意技能与内容的契合度,而不仅仅是流行度或案例。
  • 你的团队擅长什么?他们在哪些方面经验丰富?
  • 你可以借鉴其他项目的哪些内容标准?
  • 这部分投资的失败风险有多大?它是否符合风险组合的要求?
  • 如果原型失败,你的备选方案风险是否更低?
成本——后期修改:只有在项目后期,团队才能开始获得大量高质量的玩家反馈。对于运营中的游戏来说,大部分关键反馈会在游戏上线很久之后才会出现。因此,现在你需要更新一些关键的内容。那些“已经完成”的内容需要重新开放、重新平衡、修改,甚至完全重做。
对于服务型游戏来说,后期修改尤其成问题。即使游戏首发略有成功,其大部分生命周期都将处于持续修改之中。内容中固有的僵化性会成为未来更新成本以及团队能否维持项目运转的主要制约因素。你将永远承受这种后果。那些只玩过单机游戏的团队在这方面会遇到困难,需要重新评估他们的大部分假设。
  • 如果一段内容已经完成并与其他所有依赖项关联起来,那么更改这段内容需要多少成本?替换它又需要多少成本?
  • 更改一套内容需要多少成本?替换这套内容需要多少成本?
图 2:设计灵感贯穿整个进度安排,而不仅仅是在开始时。
图 3:如果你的内容管道不能适应后期状态变更,你将无法充分利用你的大部分设计见解。
总边际成本:制作一段内容涉及诸多成本。务必如实衡量并总结这些成本。盲目乐观于幻想对任何人都没有好处。
  • 在支付了原型制作和标准化费用之后,要真正称得上“完成”的又一部分内容还需要多少成本?这应该包括迭代成本、人力资源成本和沟通成本。
  • 在每个团队像芝诺一样艰难地冲向终点线时发出的哀嚎中,称内容“完成”的真正代价是什么?
有效性——承重:现在我们可以讨论杠杆等式的另一面了。首先,我们来看看为什么有些内容比其他内容更重要。一款游戏的成功离不开关键体验的支撑。这些体验承载着玩家、发行商和市场的期望,是游戏成功的关键所在。各种机制系统和内容支撑着这些支柱。其中,那些承载着最大压力、一旦失败会对游戏造成最大损害的支柱,就被称为“承重”。
识别“非承重”内容也很重要。这些内容可以使用成本较低的素材。您可以重复使用现有内容或应用通用的购买素材。此外,您还可以利用非承重内容风险低的特点进行实验和发挥创意。我经常会找到一些非承重部分,比如物品描述,然后注入一些我最奇特的文字。或者,也可以把这些内容的创作交给正在学习的人。即使这些内容失败了,游戏也不会因此而失败。  
  • 你们游戏的核心支柱是什么?
  • 哪些内容对于支撑这些支柱至关重要?
  • 某种类型的物品是承重的吗?还是不承重的?
  • 如果这些内容未能达到预期效果,那么备选方案是什么?
有效性——最佳关卡集规模:任何实际系统都无法做到完全不依赖规模效应。一方面,为了最大化原型开发投入,你希望关卡集规模尽可能大。然而,标准化的内容块也会随着时间的推移而逐渐失效。玩家体验第200关时的边际效用通常低于体验第1关。如果你真的疯狂地制作了第5000关,效用甚至可能变为负值。一些玩家会开始察觉你标准化背后的模式,并会忽略或反感那些毫无意义的变化。
  • 此内容所针对的游戏空间大小如何?是小空间还是大空间?
  • 游戏内容的最佳规模是多少,才能保证每个游戏块对玩家来说都具有独特性和意义?
有效性——与玩家真实动机的共鸣:这应该从判断内容是否为负担这一过程中自然而然地体现出来,但值得单独考虑。最好的内容能够帮助玩家满足其最深层的内在动机。当内容和系统支持能够契合自我决定理论的各个要素时,我们就能看到玩家留存率、参与度和满意度的提升。
  • 这些内容是否有助于提升能力?是否有助于玩家学习技能?或者让他们感受到成长?
  • 这些内容是否有助于玩家自主选择?是否能让玩家感受到自己选择了道路?是否能帮助他们表达自我?
  • 内容是否有助于建立联系?内容是否能将玩家与支持他们的人联系起来?它是否能形成互惠循环,从而加深彼此的关系?
基本架构模式
既然你已经掌握了关于需要制作哪些类型内容的知识,接下来就需要构建一个能够帮助你制作这些内容的系统。以下是我在构建高效内容架构时会考虑的一些技巧。
对这些建议要有所保留。我发现,随着团队在某个领域经验的积累,他们会开发出新的工具和术语,并根据手头的任务进行定制。因此,我鼓励你设定严格的限制,然后有意识地提升团队尝试和迭代更高效工具的能力。
以下每一种工具,你的团队可能都需要一到两场比赛的时间才能开始理解和掌握。
乐高积木式设计:通过构建高度可复用的标准化内容块来拥抱组合式设计,从而打造面向玩家的体验。想想早期图形冒险游戏那种非乐高积木式的设计。屏幕上的每一个像素都是手工放置的,每一个互动谜题都是手工编写的。虽然代码深处存在一些通用结构,但模块化和复用性却非常低。
以《超级马里奥兄弟》这样的游戏为例。游戏世界由标准的方块类型、标准的敌人类型和标准的玩家移动方式构成。方块被放置在网格上,因此它们之间的关系高度可预测。制作一个马里奥游戏画面的成本远低于制作一个冒险游戏画面的成本。(值得庆幸的是,现在没有人再用画面数量来衡量游戏时长了!)
模块化组件并非仅限于方块。在益智游戏《未选择的路》中,每个物体都由一系列标准化的行为构成。一个方块可能具有被推动的能力,或者被推动后可以滑动,或者可以破碎,或者可以自我复制,或者可以自主移动。通过组合搭配数量相对较少的类似乐高积木的行为,我们构建出了数十种不同的物体。
  • 你们游戏中的乐高积木是什么?
  • 你的游戏中哪些部分并非标准化的积木?你如何将它们变成可重复利用的乐高积木?
  • 你的乐高积木是如何拼搭成有趣的造型的?
参考资料:乐高积木通常使用引用,其中主对象存储在某个中心位置,然后在组合中使用该内容的一个实例。
您可以存储实例特定的属性。这里存在权衡。通常,您应该尽可能减少实例化属性的数量,因为全局后期修订如果涉及上千个实例,成本会非常高。最好将大部分行为存储在主分支上,这样,如果您在一个中心位置进行更改,更改就会同步到所有分支。但是,某些实例化属性允许您根据当前上下文调整实例。
  • 主表中应该包含哪些属性?
  • 实例上应该包含哪些内容?
模板:在使用可重用模块构建结构时,你会发现一些模式反复出现。某些子元素的位置可能会有所变化,但总会存在一个可识别的样板结构,你需要不断地重新构建它。为了最大限度地减少工作量,请使用模板,即带有空白部分的可重用结构,作者可以在其中填写详细信息。
以类似《暗黑破坏神》的游戏中的房间为例。每个房间都有一套定义模板。在关卡生成过程中,房间实例会被放置到位,并通过走廊连接起来。然而,每个房间内部可能会出现不同的物体或敌人。因此,即使使用了标准化的可复用模板,每个房间实例给人的感觉仍然各不相同。
  • 你有哪些常用的可复用模式?你能把它们转化成模板吗?
  • 这些模式中的哪些要素可以改变,从而为玩家提供有意义的不同体验?
解耦:正如我们之前讨论过的,将内容拆分成块并组合成组件会产生依赖关系。依赖关系并非总是坏事。引用就是一种依赖关系,其中实例依赖于其父实例的存在。然而,许多依赖关系会增加初始内容创建成本和后续迭代成本。
例如,我们最近设计了一个任务,需要玩家从商店购买一种食材(洋葱!)。商店的商品信息被定义在多个数据块中。而任务所需的商品信息则定义在另一个完全不同的数据块中。如果商店里没有洋葱,任务就无法完成。结果,这竟然导致整个游戏崩溃了。
这展示了依赖项方面的一些常见问题。
  • 难以发现:单看任务描述很难看出它依赖于商店。任务配置中完全没有提到洋葱的获取途径,我们只能通过仔细查看整个配置系统才找到这个关联。我把这种内容模式称为“海峡隧道设计”,取自著名的英吉利海峡隧道。隧道从法国和英国两侧同时挖掘,计划在中间汇合。如果任何一方的挖掘工作出现问题,隧道就无法连接。
  • 修复成本高昂:我们原本只需要修改一个地方,却需要在多个地方进行修改。由于依赖关系错综复杂,这可能会非常耗费成本。在一个项目中,我们不得不更新 5 个不同的位置才能让一个商品显示在商店里。这简直就像一条五隧道隧道。
  • 所有权模糊不清:任务无法明确玩家如何获得洋葱,而商店也根本不知道有人会想要洋葱。这两个环节都没有责任确保玩家获得预期的体验。即使我们修复了这个问题,也无法确定修复的位置是否正确。下次遇到类似问题时,我们可能会做出不同的决定。这会导致出现一些特殊情况,并在后续引发更多意想不到的问题。
解耦最基本的层面是指消除不必要的、有问题的依赖关系的过程。
  • 哪些依赖项有助于加快创作速度?
  • 哪些依赖项拖慢了迭代速度?
  • 能否移除这些成本高昂的依赖项?
  • 你能否在数据中明确指出依赖关系,以便在检查时一目了然?
  • 能否将体验的所有权集中到更少的几个部分,而不是分散到多个部分?
  • 能否添加自动验证功能,以便在依赖项出现问题时立即收到警报?
内容管道:当您开始接触内容创作和解耦时,我们会将复杂的内容拆分成多个工作阶段。早期工作阶段由模板和引用的母版组成,这些模板和母版会为后续阶段的创作实例提供内容。每个阶段都有其所需的工具、从前一阶段导入数据的流程以及将数据导出到后续阶段的流程。将所有这些整合在一起,就形成了一个有向图,称为内容管道。
图 4:示例内容管道
内容制作流程可能包含以下三个子流程:角色美术、地形美术和行为代码,最终汇集成一个完整的关卡。请注意,各种内容块会按照固定的顺序,通过多个工具经过多个阶段的处理,最终生成最终输出。
定向管道具有一些有趣的特性
  • 各个阶段按固定顺序组成:这确保了结果的可复现性。选择正确的顺序是一项重要的设计决策,会影响您的内容制作进度。我通常将其称为“上游管道”和“下游管道”。基础阶段的更改会沿着管道向下产生连锁反应。下游阶段的更改对后续阶段的依赖性较低,但更改成本是线性的。如果管道末端的内容量很大,那么这笔成本可能会非常高昂。
  • 手动编排:顺序至关重要,因为通常最先创建并锁定的流程阶段,后续阶段都建立在其上,而早期阶段则不会更改。在平台游戏中,设计师会构建一个包含固定跳跃距离的玩家移动模块,然后在此基础上构建关卡设计层。手动编排会造成强烈的依赖关系。更改或替换已锁定的阶段会使后续阶段失效。如果这些阶段(例如精心打造的关卡)耗费了大量时间,那么对早期阶段的任何草率更改都可能导致项目崩溃。管理已锁定阶段的进度安排是我们需要制作人和那些令人头疼的甘特图的重要原因之一。当然,也有一些技巧可以解决这个问题,例如使用存根数据或占位符。我们将在下文中详细讨论。
  • 自动合成。减少这些依赖性的一种方法是实现合成过程的自动化。程序生成就是其中的一种形式。在类Rogue游戏中,房间是通过算法放置的。如果房间变大,这个限制会传递到下一层,连接房间的走廊也会相应调整。与手动合成不同,作者几乎可以在任何阶段进行更改,最终内容会自动重建。(Photoshop之所以具有如此巨大的变革意义,正是因为它在视觉艺术领域开创了自动图层合成的先河。)
  • 每个阶段的内容都可以被引用:每一层都在一个主块中定义并实例化。
自动化合成加上引用块功能,通过降低创作迭代成本,极大地提高了效率。内容作者可以合成多层结构的内容。即使后期需要对底层进行修改,也不会造成太大问题。
观察——非线性杠杆作用体现在你构建内容管道的方式上:我们在这里看到的是一个关键事实。内容架构中的非线性杠杆作用很少来自你如何构建基础内容块,而是体现在你如何组合这些内容块。以我的经验来看,你越能构建层次分明的内容组合,就能获得越大的杠杆作用。但这会带来自身的复杂性和成本,因此它并非万能灵药。
高级图案 – 手动组合
遗憾的是,我们很少能将自动化合成应用于流程中的每个合成环节。凡是需要手动合成的地方,元素的创建顺序都至关重要。这带来了一些挑战:
  • 如何安排工作,才能确保在下一阶段需要之前完成必要的工作?
  • 如何降低犯错的成本?
有一些常见的策略。这些策略可以任意组合使用。
垂直切片:构建最终内容的完整保真度的代表性片段,并进行测试以验证其有效性。然后,为每个流程阶段制定严格的标准。在生产环境中,按照这些标准构建内容,并相信最终结果将与垂直切片所承诺的一致。
问题——迭代缓慢:然而,构建垂直切片成本高昂,导致迭代缓慢。试想一下,你精心制作了一个包含完整机制和最终美术设计的完整关卡,却发现它行不通,然后不得不将其全部放弃。我称之为“游戏开发五次”。很多时候,团队在进行到第二或第三次迭代时就不得不放弃。
问题——官僚主义:垂直切片带来的另一个问题是它对标准施加了巨大的压力。标准必须完美无缺,但这几乎是不可能的。通常的解决办法是增加文档。这在大型官僚机构和大型团队中是一种常见的组织倾向,浪费现象十分普遍。由于系统僵化,变革——一旦发生——往往是一场破坏性的政变或清洗。垂直切片在AAA中非常普遍。
自下而上的设计:识别最核心的“上游流程”阶段。制作原型。进行测试。确保它们有趣。将它们打磨到高度逼真。
现在确定设计中的这一部分。然后进入流程的下一阶段,该阶段建立在已确定的阶段之上,并重复上述步骤。
例如,如果你正在开发一款平台游戏,那就先构建、打磨并完善你能创造出的最完美的跳跃机制。然后,用基于跳跃的方块搭建一个小型关卡,让你的游戏像洋葱一样从最内层开始层层扩展。当你听到“专注于一个有趣的核心机制”这样的建议时,这通常是自下而上设计方法的标志。
问题——高度系统化的游戏:这里的一个问题是,很多游戏需要多个环环相扣的系统到位,玩家才能感受到游戏的乐趣。以《动物森友会》为例,它当然有砍树和四处奔跑等核心机制。但是(我最近参与过一款同类型游戏的开发),只有当经济系统、叙事、节奏、功能、物品栏和其他小游戏都完善到位后,游戏才会变得极其乏味。
问题——后期变更:另一个问题同样是后期变更的管理。如果你发现早期在核心游戏机制的某个方面出了问题,那么修复这个变更的成本可能会非常高昂,因为它会波及到内容流程中所有相关的层级。一款大型多人在线游戏(MMO)(《科南时代》)将攻击时机与女性角色的动画绑定在一起。当社区测试表明需要加快这些动画的速度时,修复成本却非常高昂。早期内容架构中预设的假设最终让他们付出了代价。
占位符:先构建游戏的一个垂直切片,但填充低保真度的占位符内容。这样可以让你快速测试游戏并发现问题。而且由于占位符内容的制作成本相对较低,即使丢弃也不会影响预算。随着你对作品的有效性越来越有信心,就可以开始进行改进和完善。
这种模式出现在各种领域
  • 纸质原型:机械内容
  • 灰盒:空间内容
  • 线框图/故事板/动画分镜:顺序内容
  • 概念艺术:视觉内容
占位符既可以用于垂直切片设计,也可以用于自下而上的设计,但它们都存在一些相同的问题。自下而上的设计通常会导致原型零散,无法真正展现最终游戏的玩法。垂直切片设计虽然也会产生大量无用的工作,但由于使用了占位符,迭代成本大大降低。
我感兴趣的垂直切片+占位符的一种变体是“可玩骨架”。这种策略可以尽可能低成本地创建一个完整的、可从头到尾游玩的游戏版本。然后进行后续的润色,直到游戏达到可以发布的状态。《Thimbleweed Park》就是采用类似的技术开发的,它先制作了一个包含所有游戏房间的完整可玩版本,并在添加最终美术素材之前对其进行迭代完善。
问题——缺乏认知的利益相关者:占位图的一个常见问题是,利益相关者缺乏足够的批判性思维,无法区分哪些是占位图,哪些是最终版本。有些游戏项目甚至因为高管查看了灰盒版本后,疑惑为何他们斥资数百万美元开发的游戏画面如此糟糕而被取消。许多团队最终都暗中制定了一条规则:只向发行商展示接近最终版本的美术素材,并声称这只是占位图。因为遇到一个缺乏认知的利益相关者的风险太高,所以不宜坦诚相告。而且,要进行有效的沟通和教育几乎是不可能的。
问题——玩家交互体验和反馈不足:玩家并非总能理解占位符。选择易于理解且在测试中效果良好的占位符是一门艺术;抽象的方框和颜色几乎从来都不是最佳选择。相反,应该使用保真度较低但仍具有主题和象征意义的内容。如果游戏需要玩家抚摸一只狗,那就使用一张狗的图片。即使在原型阶段,通过迭代调整合适的交互体验和反馈,你也能从中汲取重要的经验教训。
通过价值锚点构建系统:低成本验证系统设计的难题尚未解决。即使使用垂直切片或可玩框架,也常常需要在各种系统缓慢上线的过程中,经历数月(甚至数年!)的摸索期。
例如,要测试一个制作系统,你需要构建制作系统本身、用户界面,添加制作内容,添加制作内容的来源,平衡这些来源,平衡制作成本,最后还要将制作出来的物品与游戏整体功能联系起来。即使你很快就构建好了基础的制作功能,其他要素的整合也需要大量的时间和精力。
一种方法是在生产初期就预先构建价值锚点。这通常是一个易于构建的大型数据接收器,但它仍然能够为各种内容系统赋予意义。通过先构建锚点,您可以以此为基准来评估各项活动。之后,您仍然可以添加次要活动和更细致的锚点。
例如:
  • 在制作角色扮演游戏原型时,你可以创建一个玩家等级系统,等级会根据经验值(XP)提升。然后,你可以让各种活动(例如战斗)获得经验值。玩家等级提升后,实力增强,从而可以挑战更强大的怪物。之后,你可以添加额外的技能、敌人和资源来扩展系统。但无论如何,从最初版本开始,你总能玩到一些内容。
  • 《动物森友会》中有一个很大的消费环节,那就是需要花费铃钱来升级房屋。玩家进行的任何活动都会产生可以出售换取铃钱的物品。这为游戏构建了一个简单的框架,以便逐步添加更多活动、更多资源,并最终增加更多玩家目标。
锚点很难把握,因为它们并非纯粹的机械机制。它们关乎价值体系的构建,并与玩家深层的动机紧密相连。《动物森友会》中房屋升级的趣味之处不在于升级机制本身!而在于房屋承载着玩家的装饰和物品,这些反过来又象征着身份、进步和地位。在我们类似《动物森友会》的“温馨小树林”原型中,我们构建了一个可以升级“房屋”但没有装饰元素的版本。它完全没有起到锚定玩家价值的作用。
高级模式 – 自动合成
启用自动排版后,内容架构也会随之展开。这是一个令人兴奋的开放领域,值得进一步的实验和研究。我预计在未来一二十年内,我们将看到各种形式的自动排版内容架构得到稳步普及。以下是一些我认为有助于您入门的想法。
将程序生成视为创作辅助工具:广义上讲,我们目前在这个领域中的许多工具都被称为“程序生成”。但这个领域本身就存在一些问题。
研究人员和新兴程序生成开发者都在寻找能够源源不断地提供令人惊喜的新内容的神奇算法。就像寻找永动机的老古董一样,他们希望有朝一日能够破解无限体验生成器的难题。这很像一位并非艺术家却渴望无需学习艺术就能神奇地创造事物的工程师的视角。尽管某些机器学习项目展现出了前景,但我个人对这种带有浓厚哲学色彩的方法并不感兴趣。
相反,我完全将程序生成视为一种高杠杆内容的工具
  • 它如何提高内容创作者的效率?
  • 你的内容作者是否了解这个工具?
  • 他们如何才能创作出更能引起玩家共鸣的优质内容?
  • 他们如何才能减少迭代时间?
  • 他们如何减轻后期变化带来的痛苦?
程序化生成技术的优势主要体现在最后这两个方面。一个优秀的自动化合成流程可以让设计师在大多数阶段进行修改,并且这些修改能够无缝融入最终体验,几乎无需人工返工。
然而,程序化生成前期投入成本非常高。你需要对内容及其组装方式进行抽象设计,并构建所有用于处理这些特定模块的工具,然后还要构建用于组装这些模块的自动化流程。这可能需要花费手动构建单个内容模块数倍的成本。从长远来看,程序化生成可以降低迭代成本,从而带来收益,但很难确定最初的投资是否值得。
技术——组合数学:你需要1000个内容块吗?如果需要,制作这些内容的成本通常很高。而且,发布后修改这些内容的成本也可能很高。
一种方法是将所需内容分割成若干子块,并将这些子块排列成正交集合。然后利用组合数学生成一个覆盖更广范围的最终内容集合。
例如,在我们的游戏《Cozy Grove》中,沙滩上有贝壳。这些贝壳被分成以下几类:
  • 贝壳类型:这是一组包含六种基本贝壳类型的集合,例如蛤蜊、海螺、海芋、海星、宝螺和珊瑚。每种贝壳都包含一组属性,例如图像、价格和生成几率。
  • 贝壳季节:此套装包含 4 个季节以及每个季节的颜色变化。它还包含过滤信息,以防止贝壳在错误的季节生成。
  • 贝壳稀有度:共五种稀有度。每种稀有度都会影响贝壳的生成几率和价格。此外,还会提供关于使用哪个位图的附加信息。
  • 主壳定义:这部分定义了如何组合这三个正交集合。它还包含所有壳共享的任何属性,例如行为或除尘值。
一旦定义了所有这些要素,就会有一个自动组合步骤,将它们全部组合起来,生成 120 个(6 * 4 * 5)扩展变体。这还为我们提供了非线性杠杆作用,即添加一种新的壳类型会增加 20 个需要收集的新壳类型。
问题——“一碗燕麦粥”:组合数学使得创造凯特·康普顿所说的“一碗燕麦粥”变得轻而易举,即大量内容在感知上既不独特也不具有差异化。玩家往往会抓住内容中共享的模式,并过滤掉无意义的变化。《无人深空》中无限却又缺乏差异化的世界就是一个例子。
我发现以下几种技巧很有用。
  • 选择较小的场景规模,避免玩家感到疲惫。小而精细的场景通常比大而单调的场景要好得多。如果场景划分得太细,就会变成一团乱麻。
  • 利用名称这类成本较低的内容来掩盖组合扩展的机械性。我们为贝壳设计的一种方法是,给每个季节和类型的组合都赋予一个独特的名称。这只需要24个名称,而且耗时很短。将“稀有度 + 24个独特名称”连接起来,就能得到感觉独一无二的字符串。
技巧——巧克力曲奇:另一种构筑模式是将高保真度的场景元素融入低成本的基底中。你可以把模板化的场景元素想象成巧克力碎片。玩家喜欢它们,但如果重复使用太多次,就会感到厌倦。因此,必须谨慎使用。而它们嵌入的基底就是曲奇面团。美味、饱腹、百吃不厌。但却缺乏独特性和趣味性。
单独来看,这两种内容都有缺陷。面团成本低,但体验平淡;巧克力碎片成本高,消耗量大,但却能带来极佳的体验高潮。通过精心设计节奏,让玩家在对面团感到厌倦时遇到巧克力碎片,就能提升两者的价值。
在Roguelike游戏中,你需要设计场景,例如房间和Boss战。然后,你将这些场景嵌入到由随机生成的走廊和普通房间组成的关卡中。正当你厌倦了在无尽的走廊中跋涉时,一个神奇的独特房间会出现,彻底改变你接下来的冒险之旅。
  • 设想最终体验,哪些方面值得精心设计?哪些方面只是填充内容?
  • 你们的固定组件有哪些?原型制作、标准制定、生产流程和成本。在玩家使用之前,每个组件可以使用多少次?
  • 你的基质是什么?
  • 固定部件与基材的比例是多少?
  • 比赛场景的节奏如何?
高级模式 – 用户内容
还有一种更具波动性的模式,需要充分利用你的队员。虽然这会牺牲控制权并降低质量,但有时也能获得远超团队自身资源的全新内容来源。
玩家参与测试:如果你的游戏拥有强大的预发布社区,你可以邀请他们参与测试。这或许显而易见,但用我们讨论过的模型语言来说,它有助于你快速获得关于游戏迭代的丰富反馈。这种方法也包括数据分析。
玩家贡献的游戏内容:你还可以更进一步,获取实际的游戏内容片段。最常见的例子是众包本地化,但它也可以扩展到其他类型的内容。
在《疯狂之神领域》中,我们大量采用了众包像素艺术。从中我们可以汲取一些重要的经验教训,尤其是在众包本地化方面:
  • 用户友好型工具:玩家没有耐心去学习典型的开发者工具。
  • 健全的标准:我们需要明确且经过严格验证的标准。开发者需要一条正确的内容创作路径。玩家则需要被防止创作错误的内容。这两者听起来很相似,但后者的要求要高得多。
  • 鸣谢:要认可他们的贡献。这能极大地鼓励他们继续提供帮助。我们举办的竞赛非常有效。
模组:游戏发布后,您可以为游戏添加模组。对于运营多年的热门游戏来说,从模组社区获取完整的扩展包或持续开发团队成员是很常见的做法。这真是一份源源不断的礼物。
游戏内社交内容:你也可以在游戏内构建工具,激励玩家为其他玩家创作内容。这方面有很多种形式,但需要注意的是,优秀的UGC系统需要你围绕它们来设计游戏。它不是简单的插件,而是核心循环的重要组成部分。例如:
  • PvP:玩家扮演其他玩家的敌人。例如反恐精英、国际象棋。
  • 基地建造者:玩家建造基地供其他玩家摧毁。《部落冲突》
  • 建造类游戏:玩家在同一个空间中合作建造。例如:《我的世界》、《异星工厂》。
  • 设计游戏:玩家创建关卡供其他玩家游玩。例如《超级马里奥制造》、《Dreams》
元:设计工具
到目前为止,我们主要讨论的是如何设计数据以及数据所处的结构。但别忘了,内容创作是一个人为的过程;需要有人手工创建数据,为这些庞大的数据管道提供养分。而要做到这一点,你需要强大的工具。
工具的目标:工具可以倍增内容创作者的努力。它们有助于创作:
  • 更丰富的内容:该工具解锁了制作以前不可能或耗时过长而无法考虑的内容类型的能力。
  • 更便宜的内容:工具使作者能够更快地创建所需质量水平的内容块。
  • 更精炼的内容:通过减少迭代时间和改进反馈,作者能够快速地将糟糕的草稿润色成令人满意的作品。
除非你深入研究生成系统,否则它们通常不会用于从一些基础种子生成大量新内容。这更多是组合数学或其他程序生成技术的作用。
所有游戏工具均为定制设计:您首先也是最关键的一点是,没有标准工具。每个工具都需要根据以下限制条件进行定制,以达到最佳效果。
  • 作者技能:作者最擅长哪个抽象层次的创作?哪些辅助工具能帮助他们完成工作?游戏工具通常面向中级和专家级用户。
  • 内容块的要求:要制作一个有效的内容块,需要手动编写的最少数据集是什么?
  • 内容摄取:将创作的内容与游戏的其余部分连接起来的有效流程是什么?
  • 迭代需求:这些工具如何使作者能够快速进行和查看更改?
我猜你们有些人会想:“但我有 Photoshop!我有 Maya!我有 Unreal!这些都是标准工具。” 真是天真无邪的孩子。
现代商业工具功能强大,几乎无所不能。但如果不识别并满足之前的限制条件,你将寸步难行。所以,不管你喜不喜欢,你仍然需要建立标准的操作流程、程序、命名规范和自动化脚本,才能高效地利用像 Photoshop 这样看似“标准”的工具来开发你的游戏。即使游戏是基于现有的工具链构建的,也始终需要一套专属的工具设计流程。
设计工具的过程
  • 约束条件:确定特定类型内容的四个约束条件:作者技能、内容要求、摄取管道和迭代要求。
  • 初始样本:创建一个您正在制作的内容类型的示例。向利益相关者征求反馈意见,以确定这是否是您想要构建的内容。
  • 集思广益,构建示例:与一位真正的作者交流。不是虚构的作者,而是真正会创作这些作品的人。他们会如何构建?是否有可以借鉴的现有资源?他们设想会遇到哪些问题和工作流程?如果多人参与,小型跨职能突击队会非常有效。
  • 构建第一个版本:尝试实现那 20% 的功能,从而获得 80% 的功能。测试从创建、导入到在游戏中查看内容的整个流程。
  • 尽快让作者使用第一版:让他们创作游戏中预期会出现的真实内容。倾听他们的抱怨和设想。
  • 修复问题:立即修复尽可能多的简单问题。优先处理一到两个重要需求,留待下一版本完成。重复最后两个步骤,直到工具达到“足够好”的程度;它永远不会完美。
错误——工具功能未基于实际内容需求:工具开发中最常见的陷阱是反馈和迭代步骤(第2、3、5和6步)根本没有进行。工程师开发了一个工具。他们(或急于求成的产品负责人)宣布工具已完成,并要求团队其他成员使用它。
  • 通常,第一版中包含的功能是错误的。
  • 或者,几周的时间会被浪费在无关紧要的工程细节上。
  • 或者,他们内部存在一些重大的工作流程问题,而这些问题对他们来说是不可见的,因为他们不明白 X 是一个需要在一小时内执行 300 次的操作,而不是每周执行一次的操作。
最好的情况是,内容作者根本不用这个工具,而是找到了更便宜的替代方案来完成工作。这样一来,你只是白白浪费了时间和精力。最糟糕的情况是,内容作者使用了这个工具,但却浪费了大量时间去完成那些本可以避免的繁琐步骤。结果通常是内容质量差、粗糙简陋,而且制作成本高昂,最终往往只能被删除。
错误——延迟构建实际内容:另一个最常见的陷阱是,从构建第一个版本到作者使用它来创建实际内容之间存在过长的时间间隔。除了跳过迭代的一般性问题之外,等待时间过长还会带来以下负面影响。
  • 变更成本高昂。代码和流程会随着时间的推移而僵化。当工程师仍然对代码记忆犹新时,来自作者的反馈更容易实现。小的调整也能迅速完成。
  • 作者们从未被告知工具的使用方法。工具开发者与内容作者之间的直接对话必然会带来知识的传递。我曾多次发现,某个繁琐的任务其实已经有了快捷键。但对话发生在工具开发一个月后,工程师早已忘记了这件事。
提示——工具的“影子”:内容作者就像潮湿肥沃丛林中的真菌一样,会侵蚀旧工具。各种奇奇怪怪的内容会从工具链的每个缝隙里渗出来。时间长了,你会发现基于各种“黑客”技巧构建的变通方案,竟然构成了你内容的很大一部分基础。作者们学习、适应并推动工具发展的方式,在很多人看来或许令人震惊。在这个过程中,效率低下的问题也随之而来,因为工具最终被用在了它原本设计之外的地方。
这是正常的,而且是件好事。聪明的创作者会发现新的机遇和新的需求,而这些机遇和需求只有在他们投入数百(甚至数千)小时实际创作所需内容后才能预见。
支持真菌创作者的第一步是了解工具在现实世界中的使用方式。所谓“观摩学习”,是指工具开发者观察内容创作者如何构建作品。这就像是对你的工具进行试用。
  • 当内容创作者制作作品时,与他们共享屏幕。如果他们开始做一些奇怪的事情,就问问他们为什么。答案往往令人惊喜。
  • 记录各项事务所需的时间。有什么出乎意料的吗?一个有趣的练习是预测你认为某件事需要多长时间,然后与实际情况进行比较。
  • 集思广益,探讨缩短迭代时间的方法。能否删除某些步骤或将其自动化?能否加快自动化步骤的速度?如何才能使这个过程快10倍?
  • 审查标准:是否需要更新?能否避免未来出现极端情况或代价高昂的例外情况?
最后说明
我们目前只涵盖了游戏内容架构最基础的几个方面。希望您能在这里找到足够多的兴趣点,并进行更深入的探索。请用批判的眼光审视自己的项目,尽可能多地进行实验,并与他人分享心得。对于跨学科的深厚技能而言,仅仅依靠一份文档是远远不够的。
保持谦逊。内容架构并非万能灵药,它无法让你事半功倍地制作出更有意义的内容。相反,它可能会带来巨大的麻烦,给你的游戏引入极高的复杂性、成本和风险。由于构建和调整内容架构需要耗费大量精力,它们往往会延迟你开始游戏的时间。
图 5:当每个增量块都很昂贵,而你又需要很多增量块时,更高杠杆的内容管道可能值得你花时间。
学习曲线:任何内容架构和工具集都需要大量的学习成本。使用该系统的团队需要理解并实践如何利用这些工具构建优质内容。我并非想吓唬任何人,但这可能需要数年时间。一位使用虚幻引擎三年以上的关卡设计师通常会比一位只使用六个月的设计师效率高得多。一个一直在特定引擎上为特定类型游戏构建内容的团队也是如此。
往往最好的工具和流程就是你熟悉的工具:我经常惊叹于经验丰富、才华横溢的团队如何运用简单的工具和内容,创造出世界一流的体验。小说的内容架构并不复杂,不过是几百页的章节,用最普通的文本编辑器就能写出来。然而,当我们把这些交给经验丰富的作家时,他们就能创作出令人惊叹的作品。
很多时候,解决问题只需要投入大量人才。如果需要扩大规模,那就增加人手。只要你的内容保持模块化和高度解耦,这条路就始终可行。
最后一个限制因素:手工创作是我们最大的瓶颈。人类的工作速度终究有限。他们需要构思、尝试,笨拙地、缓慢地犯错。灵感迸发和创意突破需要“人类的时间”。
当然,作为精打细算的财务人员和生产者,我们都希望倍增这些努力,以延长这项成本高昂的事业的持续时间并提高效率。
但这些精心创作的内容也是我们游戏的灵魂。过度稀释它们,就会摧毁其价值所在。“更多、更快”的模式如果只是炮制垃圾,那就毫无意义。
你的内容架构是一项微妙的平衡艺术。你如何分配所有有限、精美、繁杂的人工努力,才能为玩家提供最高质量的体验?这是一个值得挑战的设计难题。
参考

本版积分规则

小黑屋|推特:squid4046 ( 互联网ICP备案:庆丰ICP备8964233号-3 习ICP证:习2B-20100043 | )

GMT+8, 2025-12-16 17:41 , Processed in 0.150180 second(s), 42 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表