双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体

4月18-21日 , 由网易互娱学习发展举办的2022N.GAME网易游戏开发者峰会在线上举行 。
在2022的N.GAME上 , 共有来自海内外50多名嘉宾参与分享 , 包括但不限于2021TGA年度游戏《双人成行》的主策Fillip Coulianos、《如龙》《审判之眼》系列制作人名越稔洋 , 《王牌竞速》制作人江宇源 , 《无尽的拉格朗日》主设计赵振涛等 。
本次峰会的日程安排也围绕不同的话题展开 , 包括创意趋势、技术驱动、艺术打磨、价值探索等主题 。
在4月18日“创意趋势”的主题下 , 《双人成行》的主策划就他们开发这款年度游戏的经历进行了分享 , 包括他们是如何利用脚本实现游戏设计与程序协同工作 , 又是如何将玩法与故事融合 , 并最终落地的 。
为优化阅读体验 , 手游那点事对分享的内容进行了删减 , 以下是演讲全文:
双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

大家好 , 我叫Filip Coulianos , 来自瑞典斯德哥尔摩一家名为Keepsake Games的工作室 。 这个工作室是和几位老朋友新创建的 , 目前我们正在开发一款全新的科幻合作冒险游戏 , 它值得期待 , 但并非今天我们要谈的内容 。
今天要谈的是我开发《双人成行》的经历 , 我将从策划的角度 , 介绍我和设计团队是如何协作 , 并落地这些五花八门的玩法和机制 。
双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

首先 , 我会介绍《双人成行》的诞生背景 , 然后是一些制作过程中的技术分享 , 最后 , 我会结合设计案例 , 介绍一些游戏里的创作过程 。
那么先从头讲起 。 大约在8年前 , Hazelight工作室 , 也就是《双人成行》的开发者在瑞典斯德哥尔摩成立了 。 那时候我们在制作的一款游戏名为《逃出生天》 , 也是款双人合作游戏 。
双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

《逃出生天》的特殊之处在于需要多个玩家配合才能通关 。 游戏发售后 , 这也受到了玩家的喜爱 。 也正是玩家们的欣赏才让这款游戏脱颖而出 。 所以《双人成行》沿用了多人合作这一点 。
开发《逃出生天》的过程中其实有很多可以借鉴的点 。 因为《逃出生天》是款多人游戏 , 必须要和朋友一起玩 , 我们还支持了网络合作模式 , 这在技术上是比较大的挑战 , 《双人成行》亦是如此 。
双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

并且 , 这两款游戏都是分屏显示 , 都是线性叙事 。 前者是关于两个罪犯逃出监狱并复仇的故事 , 因为他们要报复把他们关进来的人 , 所以这是一个非常线性的故事 , 叙事手法与电影更接近 。 《双人成行》也继承了这种叙事模式 , 所以两款游戏都是线性的 , 从头到尾讲一个故事 。
【双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体】双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

但是《双人成行》在玩法方面有了更多花样 , 你可能没有意识到 , 但新玩法的确占了很大比重 。 我之所以单独强调这点 , 是因为从技术角度看《逃出生天》和《双人成行》有不少相似点 。
在《逃出生天》开发收尾阶段 , 程序团队碰到了比较大的问题 , 发现他们的速度跟不上开发需求了 , 因为《逃出生天》玩法类型特别多 , 有射击战斗、有飙车追逐 , 很多独特的玩法 , 但做出来只能被使用一次 。
而且设计团队又在不断修改需要 , 经常变更设计方向 , 这让程序很难高速工作 。 所以他们着手开发一些新的东西 , 他们在虚幻引擎(UE4)里面支持了AngelScript脚本语言 , UE4是《逃出生天》和《双人成行》都在用的引擎 。
双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

我们的程序制作了一个插件 , 这个插件实际就是C++和蓝图编辑器之间的快速脚本层 , 这样UE4里就可以写AngelScript 。 这就非常有意思了 , 因为我们就可以用脚本语言进行快速编程 。 在游戏运行的同时 , 修改脚本并保存 , 修改的内容也会立刻出现在屏幕上 , 反馈十分即时 。
这个功能特别棒 , 且非常可靠 。
当然这件事也引起了我和设计团队的注意 , 这种脚本语言非常有用 。 就我个人而言 , 为了开发独立游戏 , 我曾自学了编程 。 但我觉得AngelScript脚本不仅对程序员有用 , 也对设计师有用 , 可以帮我们制作玩法原型 。
我感觉团队里应该有一半的人都对这个脚本很感兴趣 , 至少我是打算用一下的 。
所以在开发《双人成行》的前期 , 程序同事会给我们科普脚本编程基础 , 教会我们如何编程 , 如何使用这个神奇的工具 。 所以AngelScript很早就融入了我们原型阶段的流程 。
开发《双人成行》的早期 , 设计还没成型、我们也不知道游戏会长什么样子 , 那时候我们会坐下来 , 尝试各种玩法 , 并不太在意可行性 , 而是专注于这个合作玩法是否有趣 。
然后 , 我们会用AngelScript把想法写出来 , 作为锻炼自己使用工具的实践 , 通过塑造各种玩法 , 尝试表达各种理念 , 我们开始理解游戏的趣味 , 游戏的故事也这样逐渐成型了 。
这时候我们意识到 , 那些脚本系统原型让设计师可以全程参与玩法的开发 。
通常情况下 , 设计师最多做个小原型 , 然后交给程序开发剩下部分 。 这样交接流程无法避免 , 但现在我们可以不用这样了 , 这是个巨大的转折 。 因为这意味着想出这个创意的人 , 可以从想法到落地 , 全程参与 。
双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

还有一个重要利好 , 就是负责玩法的程序同事和负责关卡的设计同事 , 用上了同一套工具 。 这种变化也很不错 , 我们是关卡设计团队 。 但现在 , 我们可以一边编程一边设计了 。 设计师、程序职业的界限变得模糊了 。 大家都变成了负责创意的人 , 边构思边实现 。
我认为这是一种很棒的变化 。 因为通常大家都有具体的头衔 , 然后会围绕某种边界展开工作 ,
比如我是动画师 , 就不考虑非动画的事情 。 当这种考虑范围变得模糊之后 , 大家都会去思考用户体验 。 所以我认为这种变化是非常有益 。
那我们工作流程变成什么样了呢?这里用一个案例 , 从头到尾复盘我们们的创作流程 。
首先游戏的故事背景 。 我们会做一个框架背景 , 为整个游戏提供信息 。 这时候我们的重点在于故事剧情 , 而不那么关注具体玩法和关卡设计 , 主要讲的是背景设定和故事 。
双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

故事通常被分成几个章节 , 这里我们来看其中一个案例「罗斯的房间 · 恐龙乐园」 。 根据游戏进度 , 这个时候的玩家 , 或者说游戏里的角色 , 还没和好如初 , 而且还没适应这个身体被缩小的奇妙世界 。
所以我们在游戏前期的思路就是 , 保持关卡不变 , 但加入新玩法 , 让玩家习惯操作 , 同时新增一些别的内容 。
那参考故事背景的设定 , 我们知道罗斯的房间是一个玩具屋 , 那玩具屋会有什么好玩的?
我们就想了各种主题 , 然后想到了玩具恐龙 。 这是个很常见的玩具 , 大家都很喜欢 。 然后我们就围绕恐龙进行头脑风暴 , 我记得提到特别多的就是长脖子雷龙 。
而且 , 从叙事的角度看 , 我们已经设定了一辆玩具火车穿过房间 , 而玩家将会乘着火车通过关卡 , 此时火车轨道会被各种东西挡住 , 移除阻碍才能继续前进 。
双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

我们就想 , 能不能用这头长颈恐龙 , 让它清理轨道、移除碎片?
然后还有一个关键点 , 这对多人合作游戏非常重要 , 就是如果某个玩家拥有特殊能力 , 那另一个也需要有参与感 。 具体到游戏 , 这里一人控制了长颈龙 , 那另一个玩家也需要事情做 。
然后我们就想到了 , 能不能再搞一只小恐龙 , 让它横冲直撞 , 把东西顶起来、翻转过来 , 这样两个玩家就都有事情可以做 。
当然这个阶段还只是随便构思 , 但接下来我们会立即开始制作原型 。 我会和一名程序员坐下来 , 分工合作 。 我制作其中一个恐龙 , 他做另一个 , 就这样 , 只需要两个人 。
《双人成行》还有一个特点 , 就是几乎每个关卡都有独特的玩法 。 我们必须限制每个模块所花费的时间 , 得严格排期 。 因为当你从零开始制作玩法的时候 , 很容易花上好几周的时间 , 探索这个长颈恐龙到底能做什么 。 但我们必须确保时间花在刀刃上 , 没时间试错 。
所以每周都有排期 , 这周要完成些什么 。 实际上制作整个场景 , 也只花了我们几周的时间 , 下一步就是开始落地 。
而考虑到时间限制 , 我们意识到要大幅限制开发范围 , 必须让功能足够简单 。 如果长颈恐龙可以随意走动 , 随意把东西挪到别处 , 那将是巨大的技术挑战 。
所以我们决定说 , 行吧 , 物体只能2D平面移动 , 这样开发量就变得可控了 。 而对玩家而言 , 画面可读性会更好 , 操作也更容易了 。
确定这些简化内容后 , 我们开始评估另一只顶翻物体的小恐龙 。 我们意识到 , 让这只恐龙到处走动也会构成问题 , 所以也进行了限制 , 让这只恐龙只能在2D平面上移动 。
双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

这时候 , 我们已经有一些技术实现的想法了 。 下一个难点是开发时间真的太少了 。 我们甚至没时间给小恐龙加一个跳跃之类的技能 , 它只能在轨道上面来回移动 。
而且用头撞的动作也比较难做 。 所以我们决定替换成地面冲撞 , 砸地面的时候障碍物会被顶飞 。 那终于开始有点进展了 。
这时候一个星期过去了 , 我们在编程过程中把各种模块组装起来 , 得到了一个粗略的关卡 , 可以用来测试了 。 我们还意识到 , 需要一些锦上添花的元素为合作玩法做一些额外改进 , 让两头恐龙感觉是互补的关系 。 大恐龙可以挪走物体 , 帮助小恐龙推进 。
于是我们增添了一些亮点设计 , 让大恐龙可以抓住某些物体 , 防止它们被顶飞 。 这样 , 我作为设计师就能加入一些有趣的解密元素 , 因为大恐龙可以控制障碍物状态 , 就需要和小恐龙配合 , 也就需要玩家之间沟通 。
双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

完善这些设计之后 , 整个创意看起来就不错了 。 我们就开始实现这一切 , 制作这个小型场景 , 把关卡和我们搞出来的玩法拼起来 。
从设计师的角度来看 , 后续就是一些标准套路了 。 首先从教学开始 , 让玩家操作第一只恐龙 , 帮助另一个玩家获得第二只恐龙 。 第二只恐龙就负责撞击地面的动作 。 等玩家学会这些之后 , 再一步一步增加难度 。
双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

当这些场景都做出来了 , 然后玩法感觉不错了 , 我们觉得没问题了 , 就会开始玩家测试 。 邀请一些工作室以外的人来试玩 , 然后观察他们对关卡的反应 。
我们重点关注的是 , 他们是否理解我们设计的流程、是否理解玩法 。 通过试玩 , 我们会发现一些需要补充引导的地方 。 比如镜头要偏移一点儿、屏幕上要加点提示、显示按钮对应的操作之类的 , 但总的来说 , 关卡的感觉不错 。
在前期 , 我们更关心玩家是否理解玩法 , 而不是更关注玩家是否会觉得游戏有趣 。 当玩家能够理解玩法了 , 我们会继续思考故事设定:玩家怎么到达这个关卡、过场动画等等这些沿途会发生的事件 。 以丰富玩法 , 让玩法融入到整个故事当中 。
纵观整个过程 , 有几件事我特别欣慰 , 觉得特别好 。
双人成行|《双人成行》设计与开发——如何将多种游戏机制融为一体
文章插图

首先是:我和程序坐在一起工作 , 我们用着相同的工具 , 效率得到大幅提升 。 另一件事就是 , 从最初的想法到最后的成品 , 我能全程保持掌控 , 这也是巨大的利好 。
当然 , 一些具体的系统需要交给程序来做 , 因为逻辑比较复杂 , 但我觉得新的流程很棒 , 我们之前提到的工具允许设计师全程参与 。
你可能会想 , 这算是冒了很大的风险吧?你一个关卡设计师 , 本来只负责关卡 , 然后突然给了你这么多其他的职责 , 除了关卡设计 , 还有玩法、编程等等 , 这不是有风险吗?我也承认确实有 。 但是像这种游戏 , 本来就需要打破常规 , 才能成功制作出来 。
我有一个信条是:如果你每天去健身房都只练相同的重量 , 你就无法发挥全部潜力 。 所以我认为这个流程里比较好的一点 , 就是让每个人都稍微离开了舒适区 , 让大家发挥更多潜力 。
而我作为一个领导者也是如此 , 看到团队全身心投入工作 , 大家都在过程中获得了成长 。 大家都把工作当成自己的事情 , 努力提升自己 , 也获得了很多实际上手的经验 。
最后还有我刚才提到的简化玩法的问题 , 通过限制范围和简化功能 , 这也有两方面的好处——首先是开发时间 , 我们没有很多时间给每个玩法 。 还有一个好处很少有人提到 , 就是玩法变简单之后 , 沟通起来也更容易了 。 如果只需要按一个按钮 , 教会玩家也变得容易了 , 所以这也是很好的叠加作用 。
我就说到这里 , 感谢你的聆听 。
Q&A整理
问题1:你如何评估一个关卡的难度?
对难度的评估更多依赖玩家的反馈与建议 , 当然会从统计学的角度出发 。
举个例子 , 如果是一款已经上线的游戏 , 有成千上万的玩家 , 或者只是邀请一小部分人做定性测试 , 此时你坐在测试对象后面 , 观察他们的所作所为 。
当然有一点很重要 , 你得确定自己想要的是什么 , 是简单还是困难?团队里对难度的衡量标准是否统一 , 这样才会让难度的评估更容易实现 。
当然 , 也得适当制定一些难度标准 , 比如在平台游戏中 , 玩家跌落平台就算是失败 。 如果我们想要游戏更难一些 , 就可以设定玩家的每次挑战最多只能死两次 。 这时候就需要团队协商确定一个标准参数 , 之后的执行评估就会非常简单了 。 因为你只需要观察玩家的反应 , 如果他在某个关卡不断失败 , 你就得思考是不是关卡太难了 , 还是说只有这个玩家觉得难 。 之后你还得思考 , 这个玩家是否能够代表你的目标受众 。
其中有一些不同的步骤 , 比如解谜关卡 。 在这种智力解谜的游戏中 , 你需要考虑玩家被难倒的情况 , 这时候游戏能够给到玩家最多的思考时间是多长?如果太久了就是太难了 。
所以总结一下 , 首先制定一个团队内都能接受的难度标准 , 然后让玩家测试 , 看难度是否符合预期 , 然后不断调增 , 使游戏更贴近你的预期 。
问题2:你觉得多人合作的关键点是什么?
当然就是“合作”或者“协作” 。
这对玩家的游戏体验十分重要 , 作为设计游戏的人 , 你得在游戏中给予玩家合作的能力和空间 , 或者说给玩家某些需要搭配使用的工具 , 比如锤子和钉子 , 你放好钉子 , 我才能把钉子钉下去 , 这就是非常常见的协作内容 。
但游戏中非常需要鼓励 , 有时甚至迫使玩家合作完成任务 , 当然还有进阶的设计 , 就是加入一些需要把握时机的操作 , 比如你不能把钉子放好 , 然后十分钟再回来钉钉子 。 你得确保玩家同时进行手头的工作 , 让他们沟通如何才能把钉子敲进去 。

    推荐阅读