像《柏林墙必须倒》这样的名字含义颇多,尤其是当与此有关的游戏发源地和背景设定都是柏林的时候。
原 Yager 的开发人员 Inbetween Games 将他们生活和工作的城市重新设想为 2089 年一个充满间谍活动、冷战从未结束的中心城市。
“不知为何,具有复古式未来色彩的冷战柏林最近似乎很流行。”设计人员 Jan David Hassel 说道,“我们认为我们已经克服的问题是带着复仇的使命回归了。对个人自由和成功的渴望与地理战略利益是有冲突的。舆论很大程度上会受到宣传的影响。对我们来说,我们所打造的这个地方囊括了所有这些元素。”
这或许是根据德国夜店的节奏进行游戏的黑色科技策略游戏,但是程序员 Isaac Ashdown 表示,它也与“变革的必然性”密切相关。这个主题似乎也穿插在科技中,一个明显的证据就是 Inbetween 的关卡生成器重新混合和排列了柏林夜店的墙壁。
整个故事于一夜之间在这个城市中悄然展开,玩家被派遣到若干夜店去执行任务。其中每个场所都是通过开发人员的 DiscoGenerator 算法依次生成的。
“如果就是根据一些简单的规则,比如每个夜店中需要安排哪些房间,来生成夜店布局是非常简单的设置。”Ashdown 解释道,“任务需要多少个舞池、密室以及其他元素。基本就是选择一组房间,然后把它们排列起来,每次产生一个不同的布局。”
DiscoGenerator 是 Ashdown 为虚幻引擎 4 构建的插件,用来将夜店的大面积空置空间视为存放问题,也就是要尽可能填满房间的一个区域,就像搬家公司会尽可能地在卡车中装满家具一样。
它完全基于贪婪算法。Inbetween 的数学计算每个阶段最具吸引力的房间生成选项,并使用该选项,而不考虑之后的结果。这是因为 Inbetween 不希望尽可能把空间全部堆满,因为众所周知,夜店可不是这样布局的。他们更希望设计出贴近现实的建筑,有一个连接大厅的前门和巨大的舞池。所以,这才是算法优先考虑的选择。
开始生成的房间是公共区域,比如盥洗室和吧台,这些区域必须排列在一起,而且进门就能走到这些地方,而私人密室稍后才会出现,填补空置空间。空间里最后的空隙是“填充物”房间和走廊,之后生成器进行最后的收尾工作:额外添加一些门以提供备用通道,还有门外安排一些保镖和若干顾客。
“我们的游戏设计为可以反复重玩,每次重玩都进入一种与柏林平行的空间,遇到一组不同的夜店,因此对于玩家来说,每玩一次,都在探索新的夜店,都是第一次发现夜店的秘密。”Ashdown 说道,“但是,在每次战役中,这一夜可能会不止一次地探访同一个夜店。”
在建筑外面,Inbetween 集成了定制 AI 系统,用于模拟在黑暗的角落里跳舞或闲逛的一群群夜店常客。
“我们没有使用虚幻的 AI 系统来实现这一点,因为它们更合适用于非常复杂的行为,而我们需要的是一种简单的人群聚集行为系统,每个 AI 体只需要跟旁边的人进行一些非常简单地互动,产生自然地群体行为就行了。”Ashdown 补充道。
这对于游戏的社交隐形而言至关重要,重要的不是庇护,更多的是玩家周围的 AI 体是否相信,玩家在当时的任何行为是否都是自然合理的。
“夜店很容易理解允许哪些人出现在夜店的社交规则。”Hassel 指出,“前门、公共区域、工作人员专区、VIP 区域等等都有保镖在核实人们的身份。”
团队发现,当人们得知将像纸一样的 2D 角色钉在等距背景上的《柏林墙必须倒》是用虚幻制作的时候,通常会感到十分惊讶。
“我认为许多人对虚幻游戏的样子都有很刻板的印象。”Ashdown 有所思地说道,“但是,真正使用过虚幻的人就不会如此惊讶了。”
《柏林墙必须倒》PC 版将在 Early Access 中发布。虚幻引擎 4 现已免费。
编者按:PCGamesN 选择了几款迷人的虚幻引擎游戏,采访了其开发者,从而制作出长篇连载的“在虚幻引擎中制作游戏”系列。Epic 对编写过程没有施加影响。