网易游戏开发者线上峰会上荣获TGA年度最佳游戏《双人成行》主策划

网易游戏开发者线上峰会上荣获TGA年度最佳游戏《双人成行》主策划

游戏设计编程_自动化设计和编程_游戏美术设计和游戏程序员

在18日下午的2022N.GAME网易游戏开发者线上峰会上,荣获TGA年度最佳游戏《双人成行》的主策划Filip Coulianos受邀就自己的开发经验进行了分享。Filip Coulianos以《双人成行》中一个关卡的设计为例,从效率工具的使用、团队沟通、关卡创意的提出与落地以及游戏测试等方面进行分享。

以下是演讲正文(有删减):

大家好,我叫Filip Coulianos,Keepsake Games是我和几位老朋友在斯德哥尔摩新创建的游戏工作室游戏设计编程,目前正在开发一款全新的科幻合作冒险游戏,这款新作令人期待游戏设计编程,但这不是我们今天要谈论的内容。

今天要谈的是我制作《双人成行》的经历,我将从策划的角度,介绍我和设计团队是如何协作,制作出五花八门的玩法和机制。

游戏设计编程_自动化设计和编程_游戏美术设计和游戏程序员

首先,我会介绍一下《双人成行》诞生的背景,然后再讲一点制作背后的技术,而演讲最后,我会以一个设计案例,详细介绍我们游戏其中一小块的创作过程。

开发《双人成行》的Hazelight工作室也在斯德哥尔摩,它大约成立于8年前,我们那时候做的第一款游戏叫《逃出生天》,也是一款双人合作游戏。

《逃出生天》独特卖点就是,必须要多个玩家配合才能通关。游戏发售之后,玩家们也很喜欢这一点,正是由于玩家们的支持让这款游戏脱颖而出。所以《双人成行》自然沿用了多人合作的游戏模式。

《逃出生天》的开发过程其实有很多可以借鉴的点,《逃出生天》是款多人游戏,必须要和朋友一起玩3D植物,同时还支持网络合作模式,这在技术上是比较大的挑战,《双人成行》亦是如此。而且这两款游戏都是分屏显示以及线性叙事,和电影一样,从头到尾讲一个故事。

但是《双人成行》在玩法方面有了更多花样,你可能不觉得,但新玩法确实占了游戏开发很大一部分。

之所以单独强调这点,是因为从技术角度来看,《逃出生天》和《双人成行》在技术层面有不少相似点。在《逃出生天》开发收尾阶段,程序团队碰到了比较大的问题,他们速度跟不上开发需求了,因为《逃出生天》玩法类型特别多,有射击战斗、有飙车追逐,很多独特的玩法,做出来只用了一次。

而且设计团队又在不断修改需求,经常改变设计方向,这使得程序很难高速工作。所以他们着手开发一些新的东西,他们在虚幻引擎(UE4)里面支持了AngelScript脚本语言,UE4也是《逃出生天》和《双人成行》都在用的引擎。

我们的程序制作了一个插件,让UE4里面可以写AngelScript,作为C++和蓝图编辑器之间的快速脚本层。这就非常有意思了,因为这样就可以用脚本语言进行快速编程,游戏运行的同时,修改脚本并保存,修改立刻就会出现在屏幕上。这个功能特别棒,而且非常可靠。

这件事情引起了我和设计团队的注意,这种脚本语言看起来非常有用,就我个人而言,我之前做过Mod和独立游戏开发,自学过编程,我觉得AngelScript脚本不仅对程序员有用,对设计师也很有用,可以帮我们制作玩法原型。我感觉团队里应该有一半的人都很感兴趣,至少我是感兴趣打算用一下的。

所以在开发《双人成行》的前期,程序同事会给我们科普脚本编程基础,教授我们如何编程以及如何使用这个神奇的工具。

所以从前期开始,AngelScript就融入了我们原型阶段的开发流程。开发《双人成行》的早期,设计还没成型、我们也不知道游戏会长什么样子的时候,我们会坐下来,尝试各种玩法,并且不会太在意这个玩法的可行性,而是专注于这个合作玩法是否有趣。

然后 我们会用AngelScript自己把想法写出来,作为锻炼使用工具的实践。通过塑造各种玩法、尝试表达各种理念,我们开始理解游戏的趣味点,游戏的故事也这样逐渐成型了。

这时候我们意识到,那些脚本系统原型让我们设计师可以全程参与玩法的开发。

通常情况,设计师最多做个小原型,然后要交给程序开发剩下的部分,交接的过程必不可少。但现在我们可以不用这样了,这是个巨大的转折。因为这意味着想出这个创意的人,可以全程参与想法从提出到落地的全过程。

还有一个重要利好,就是负责玩法的程序同事,和负责关卡的设计同事,用上了同一套工具。这种变化也很不错,我们原本是关卡设计团队。但现在,我们可以一边编程一边设计,设计师、程序的职业界限变得模糊,大家都变成了负责创意的人,边构思边实现。

我认为这是一种很棒的变化。因为通常大家都有具体的头衔,然后会围绕某种边界展开工作,比如我是动画师,就不考虑非动画的事情。当这种考虑范围变得模糊之后,大家都会去思考用户体验。所以我认为这种变化是非常有益的。

那我们的工作流程有什么改变呢?我们可以用一个案例,从头到尾走一遍我们的创作流程。

首先是从故事板开始,我们会做一个故事板,为整个游戏提供背景信息。故事板聚焦于故事剧情,而不那么关注具体玩法和关卡设计,主要讲的是背景设定和故事。

我们会把故事分成几个章节,我们来看其中一个案例「罗斯的房间 · 恐龙乐园」。根据游戏进度,这个时候的玩家,或者说游戏里的角色,还没和好如初,而且还没适应这个身体被缩小的奇妙世界。

所以我们在游戏前期的思路就是,保持关卡不变,但加入新玩法,让玩家习惯操作,同时新增一些别的设定。

那参考故事板的设定,我们知道罗斯的房间是一个玩具屋,那玩具屋会有什么好玩的?

我们就想了各种主题,然后想到了玩具恐龙。这是个很常见的玩具,大家都很喜欢。然后我们围绕恐龙进行头脑风暴,我记得提到特别多的就是长脖子雷龙。

从故事的角度,我们将其设定为一辆玩具火车穿过房间,玩家需要乘着火车完成关卡,然后火车轨道会被各种东西挡住,移除阻碍才能继续前进。

我们就想,如果能用这头长颈恐龙,让它清理轨道、移除碎片应该会很有趣,于是就有了一些初步的想法。

这其中有一个关键点,多人合作游戏非常重要的一件事就是,如果一个玩家拥有某个独特能力,比如这里一个玩家控制了长颈龙,另一个玩家也需要有事情做。

然后我就想到了,能不能再搞一只小恐龙,让它横冲直撞,把东西顶起来、翻转过来,这样两个玩家都有事情可以做。

当然这个阶段还只是随便构思,但接下来我们会立即开始制作原型。我会和一个程序员分工合作,我制作其中一只恐龙,他做另一只,就这样,只需要两个人。

像我们的游戏,还有一个特点,几乎每个关卡都有独特的玩法。我们必须限制每个模块所花费的时间,要严格排期。因为当你从零开始制作玩法的时候,很容易花上好几周的时间,探索这个长颈恐龙到底能做什么。但我们必须确保时间花在刀刃上,没时间试错。

所以每周都有排期,明确这周要完成些什么。实际上制作这整个场景,也只花了我们几周的时间,下一步就是开始落地。

而考虑到时间限制,我们意识到要大幅限制开发范围,就必须让功能足够简单。如果长颈恐龙可以随意走动,随意把东西挪到别处,那将是巨大的技术挑战。所以我们决定说,行吧,物体只能2D平面移动,这样开发量就变得可控了。而对玩家而言,画面可读性会更好,操作也更容易了。

确定这些简化之后,我们开始评估另一只顶翻物体的小恐龙。我们意识到,让这只恐龙到处走动同样会造成各种问题,所以也进行了限制,这只恐龙也只能在2D平面上移动。

这时候,我们已经有一些技术实现的想法了,下一个难点便是,开发时间真的太少了。

我们甚至没时间给小恐龙加一个跳跃之类的技能,它只能在轨道上面来回移动,而且头撞的动作也比较难做。所以我们决定替换成地面冲撞,砸地面的时候障碍物会被顶飞。开发进度终于开始有点进展了。

这时候一个星期过去了,我们通过编程把各种模块组装起来,得到了一个粗略的关卡,可以用来测试了。我们还意识到,需要一些锦上添花的元素为合作玩法做一些额外改进,让两头恐龙感觉是互补的关系,大恐龙可以挪走物体,帮助小恐龙推进。

于是我们在设计中加入可一个新的机制,让大恐龙可以抓住某些物体,防止它们被顶飞。这样,我作为设计师就能加入一些有趣的解密元素橙光游戏,因为大恐龙可以控制障碍物状态,就需要和小恐龙配合,也就需要玩家之间进行沟通。

完善这些设计之后,整个创意看起来就不错了。我们就开始着手实现这一切,制作这个小型场景,把关卡和我们搞出来的玩法拼接起来。从设计师的角度来看,后续就是一些标准套路了。首先从教学开始,让玩家操作第一只恐龙,帮助另一个玩家获得第二只恐龙。第二个恐龙就负责撞击地面的动作,玩家学会这些之后,再一步一步增加难度,当这些场景都做出来了,我们直觉上也觉得没问题了,就会开始进行玩家测试。我们会请工作室以外的人来试玩,然后观察他们对关卡的反应。

文章来源:https://ishare.ifeng.com/c/s/v0024Id2v37KuMWJhol1wvcjz51t2org-_2m9bMRNq-_OSIkc__