No Man’s Sky:算法生成的庞大世界
一个小型的游戏开发团队,如何创造无限的虚拟世界?答案是,把创造世界的任务交给计算机。通过过程生成(procedural generation)技术,游戏中的景物可以随着玩家的探索而自动生成。作为近年来最具野心的游戏之一,《No Man’s Sky》以其 “无限空间” 和 “超高自由度” 为卖点,而开发游戏的 Helle Games 仅有 10 名员工。他们使用的正是过程生成技术。不过,相比其它游戏来说,这款游戏中要复杂许多。
“我们尝试去做人们从未做过的事情,” 游戏的开发者之一 Sean Murray 在接受 Technologyreview 网站采访的时候说,“让你飞行到一个星球上,就像真正的星球那么大,包含了生命、生态、湖水、洞穴、瀑布和峡谷,然后穿越平流层,飞向太空。从来没有游戏做到过。这是一个巨大的挑战。”
No Man’s Sky 有数以百万计的星球,并且都呈现出不同的形态。星球随着玩家的发现而生成,遵循星系的规则,有自然界风化的影响。生活在星球上的各种生物会繁殖,并且随着时间发展产生变异。
如此庞大的世界,自然会带来许多技术上的挑战。首先是如何进行测试。开发团队使用了自动机器人,让它们去探索世界,然后拍摄照片,反馈给团队。另外,为了避免玩家陷入彻底孤独,游戏开始的时候,新玩家会处于同一个星系之中,最初任务就是向星系中心进发。在接下来的时间里,玩家们会相遇、战斗、贸易、开矿、探索等等。“我们不知道人们最终会工作、集合还是分散开来,” Murray 说,“我知道,玩家不希望听到的是,我们也不知道会发生什么事情,但是,这正是让我们兴奋的地方:游戏是一个庞大的实验。”
最初,游戏中的世界是完全随机生成的,但是这并不能带来好的游戏体验。“只有 1% 的时间里,它能够创造一个自然、有趣和悦目的世界 ,其它时间里,它是一团糟。某些情况下,天空、水面和地面是同一种颜色。没法玩,” Murray 说。于是,他们开始确定一些简单的规则,使游戏的世界不再那么随机和杂乱,同时又保持了不可预测性。
在过去,要创造一个庞大的虚拟世界,可能需要几百人的团队,而如今,随着计算机性能的强大,小型团队也能够做到了。Hello Games 采用了一种创造游戏的全新方式。
“从整体上观察游戏开发,我感觉创造内容的花费是真正的问题,” 他说,“艺术家们要创造一个世界,需要耗费大量的金钱,这迫使许多人不再做出冒险性的创新。同样,你不可能让 300 人去实验性地工作。通常来说,游戏开发就像是建造摩天大楼。大楼有形式和定义,但最终来说,它和周边的建筑是非常相像的。在大型仓库里,与数百人一起开发游戏,并非我喜欢的事情。游戏开发不应是那个样子——如今它也不需要是那样的了。”
图片来自 meristation