# Production pipeline fundamentals for file and game - 游戏资源管线部分读后感 - 1
内容总结概括自 Production pipeline fundamentals for file and games ,同时也有也有个人主观内容。
原著编辑作者: Renee Dunlop
# 前言
本文总结了原文中的第一部分内容,即游戏管线在制作前、中、后期的大致流程,同时补充了个人经验与总结。
# 游戏管线的前期制作
# 确定游戏的概念
游戏的概念和类型将决定引擎与管线在开发中的具体作用。
例如:如果故事对游戏很重要,就必须要创作一个剧本,故事版以及一系列角色能力和库存等方面的规则,这都需要管道的支持。
这涉及到新的技术评估、资源构建、存储、资产管理和游戏原型制作等内容。
例如在资产的构建阶段,原文中,作者以制作一段人物在雪崩中的 CG 场面为例,这里面涉及到了:
- 多个团队,比如特效,建模,材质师对同一个人物角色模型的编辑修改
- 同一个角色模型在不同情景,如是否受伤,是否穿着不同的衣服,都有不同样式,不同程度的修改
- 雪崩特效是通过实时渲染还是离线渲染来制作
- 工期管理,成本管理
# 垂直切片与水平切片
游戏的前期制作通过会产生两种不同类型的输出,即垂直切片与水平切片,这两者都旨在为制作工作的不同方面奠定基础
- 水平切片:通常以 "白盒关卡" 的原型环境为表现形式。这种环境缺乏细化的模型和资源,并且没有动画和声音资源。它的功能仅仅是为了感受游戏玩法的进行方式,或者游戏循环会持续的大致时间,白盒中包含大量资源占位符,这些占位符通常用于代表尚未开发完成的内容。
- 垂直切片:通常是一个最小玩法循环的内容,比如单个关卡或者一个战斗 Demo,以尽可能接近可交付的质量进行创作,它的目标功能是为了给开发过程本身提供信心,充当管道的压力测试,并成为艺术资产质量的基准。
注:游戏循环通常出现在策划的术语中,我将其认为是大部分游戏中的重复玩法单元的汇总,这里的最小单元通常为战斗循环,关卡通关逻辑等汇总起来的整理游戏循环,例如在 FPS 类型的游戏中,一种最简单的战斗循环概括为瞄准,射击,换弹,瞄准。
通常在游戏前期制作过程中,创建的水平切片越多,在后期制作中对艺术内容进行的返工会越少。而垂直切片是进入生产阶段的重要环节,有助于让制作人安心并减轻对成本的顾虑,(其实在国内这种垂直切片,很大程度上变成了游戏的前期宣传资源,以最高质量的内容进行宣传并吸引玩家的目光)个人认为,在技术上,应该极可能在水平切片中跑通大部分的内容,为可行性做出验证。而垂直切片则是在美术上排除所有的不可行性。这也是前期制作结束的里程碑。它是项目可做,不可做的重要决策点之一,极有可能会出现演示效果不佳的游戏被取消而不是继续推进,或者至少被送回另一轮前期制作。

上图中 垂直切片 是游戏的一小部分,水片切片是游戏的较大部分。
前期制作的一个共同目标是制作一个可公开发布的可玩演示,以提高游戏的知名度。这是只有通过水片切片和垂直切片和结合才能实现
# 游戏的生产阶段
在生产阶段,工作的重点从规划转为构建,同时生成阶段是团队扩大规模的阶段,前期制作通常需要几十名艺术家,而生产阶段可能需要到数百名。生成阶段通常会产生大量的数据,通常比相对轻量级的前期制作多几个数量级。前期制作是关于大致轮廓。而生产则是关于细节
一个好的流水线有两个有助于管理生产混乱局面的关键特征:透明度和区局划分。
-
透明度:在流水线的生成中类似于文字处理器中的 "查找" 和” 替换 “功能,它使流水线团队能够自动发现问题,并以最小的 "宝贵艺术家时间" 来更新修复它,并且能够支持进行大规模的修改和自动化。
例如,制作过程中发生了对引擎或者渲染器的更换,这迫使艺术团队重新开始进行资产的调整,他们不得不放下手上的任务,不断的进行打开和重新导出文件,这时候如果没有一个透明的流水线工具或者脚本来自动更新或者查找,将会浪费大量的时间
-
区域划分:团队不是创建一整套庞大而单一的工具和流程,这些工具和流程都紧密相连。而是要形成一系列自给自足的单元,每个单元都能很好的完成一项任务。
例如,流水线的变化要求动画需要以不同格式存储,即使有良好的透明度,重新导出所有现有动画也是一项严肃的任务,会需要相当多的时间。然而,如果流水线划分得很好,至少可以最大限度地减少所花费的时间,想象一下,同样的变化要求无论是动画的还是非动画的资产。都要重新导出。这会使生产陷入停顿。
这里我的理解是,管线的透明度体现在功能的自动化和搜索能力上,工具熟练的艺术家最快能以多短的时间来进行一个资源的查询修改保存。而区域划分,则是在查询,修改,保存等多个点上保持单一性,比如保存阶段出现了变化,工具开发者只需要简单的替换保存阶段的流程并进行自动化,而不是需要艺术家再重复的进行上述的多个流程。(这里其实以 Unity 的打包流程可以看出,Unity 对资源的打包通常是由引擎源码控制,外部用户通常难以修改,即便我们只是修改了很小的内容单元,很多时候仍不得不让 Unity 重复执行黑盒中的繁琐构建流程。)
# 游戏中的后期制作
在游戏的后期开发中,与电影开发不同的是,一些具有技术含量的工作还未完成,比如后期的漏洞修复,或者是艺术与玩法的问题。
后期制作与后期处理的共同点在于,它们是改进产品的最后机会。观众观看作品时,不会在意开发者是否能在更长时间内做得更好。这个阶段是你进行微调的最后机会,这些微调可以挽救一部失败的电影,或者把一个好游戏变成一个伟大的游戏。
比如当前很多游戏的成功都是透过后续的版本不断迭代更新来逆转了用户的口碑,比如原神的 3.0 版本,以及接下来鸣潮的 2.0 版本,甚至是比如绝区零的重新公测
即使一个项目最终完成,疲惫的人也无法休息。这是对该节目进行事后分析的时候,评估哪些方面进展顺利,哪些方面不顺利,并将这些经验教训应用于下一个项目。比如评估新的图形技术;以及进行在生产过程中根本无法实施的重大改变,比如切换到新的数据库系统。这是管道开发人员最应该忙碌的时候 —— 不是在后期制作中的项目上,而是在即将进入制作的项目上。
游戏的后期处理过程反映了软件开发的过程,在这个过程中,一个近乎完成的产品被移交给质量保证(QA)部门进行 “防弹处理”。除了开发者自己内部的质量检查外,主机游戏还必须通过主机制造商运行的正式 QA 流程,以防止低质量的游戏对硬件造成不良影响。但与防弹处理不同,后期处理是由艺术和技术方面的考虑驱动的:除了代码的质量,QA 团队还必须考虑与之一起发布的数据的质量。
尽管对文件大小的限制可能不是绝对的,但对于要以数字方式分发的游戏也是如此。低效的数字分发可能会损害产品的盈利能力。例如,如果用户下载一款游戏需要数小时,他们可能直接放弃下载。为了解决这个问题,一些公司使用直播流解决方案,使用户能够在整个游戏下载完成之前就开始玩游戏。这种分发模式应该从第一天起就构建到流水线中,因为一旦游戏完成后再实施流媒体系统极易出错,并且可能需要对资产进行大量的返工。
未来,游戏下载流程可能逐步向热更新模式演进,玩家首包下载量将大幅减少,甚至能像玩网页游戏一样即时体验到 3A 品质。
在后期处理开始时,游戏将完成,但会有许多漏洞。其中一些漏洞将反映出代码的问题,导致崩溃或帧率低下。其他漏洞将反映出艺术资产的问题:例如,物理网格中的漏洞,使角色掉入世界中,或个别多边形翻转,导致图形故障。所有这些问题都必须被识别并修复。这通常通过一系列正式步骤来完成,这些步骤通常被称为 “里程碑”。尽管确切的定义因开发者而异,但以下里程碑通常是被认可的:
-
Alpha:阿尔法意味着游戏正式完成,理论上可以从头到尾玩。大部分美术作品将是占位符,性能通常会远低于预测的帧率,并且会有大量漏洞,但游戏仍以骨架形式存在。阿尔法通常是内部里程碑,由工作室和游戏发行商之间协商确定。(由完整的水平切片和少部分的垂直切片构成)
- Content complete:内容完成通常意味着占位符已被替换,从最宽松的意义上说,是可交付的 —— 尽管不是经过打磨或无漏洞的 —— 最终资产版本。现在正在尊重对内存和运行时性能的现实限制,并且早期资产通常为了提高效率而大幅削减。故事弧线和游戏的基本流程现在被视为锁定;图形调整仍在进行,但(至少在理论上)不会再添加新的电影片段、角色或游戏区域。一旦一个项目达到内容完成的里程碑,通常部分制作人员会开始转向其他项目。一些艺术家留下来进行漏洞修复或打磨,但重点是完善现有资产,而不是创建新的资产。
-
Beta: 到了测试版,所有游戏内容都已完成,而且从资源使用和资产质量方面来看,游戏处于可交付的形式,虽然仍有一些问题需要解决,但游戏现在基本上是最终版本的版本,而不是它的雏形。测试版也是该项目的游戏测试和公开演示达到高潮的时候。内部或出版商提供的专业测试人员将持续测试游戏,寻找缺陷和不一致之处。一些游戏还设有 “公开测试版” 计划,允许选定的一批客户玩游戏:部分是为了产生正面口碑,部分是为了获得实际用户的反馈,有助于调整设计,部分是为了发现专业测试人员漏掉的漏洞。随着时间的推移,允许接触游戏的开发人员越来越少,在游戏最终获得认证之前很久,大多数艺术家已经转移到其他项目上,而团队则缩减为只剩有权力在最后一刻做出改变的少数高级人员。
当然,有一些游戏类型从传统意义上来说永远不会 “最终完成”。持续在线的游戏,比如《魔兽世界》等一些大型 MMORPG