物理合作游戏的网络联机:乐高®探险家

Light Brick Studio成立于2020年,是一家专注于精湛工艺与玩家洞察的独立团队。乐高最新推出的《乐高太空漫游者》是一款合作冒险游戏,讲述了两位Friends追寻宇航员梦想的故事。该产品于2025年9月15日登陆多个平台。该体验依赖于声音与互动而非对话,让玩家通过游戏过程感受故事。
在线合作功能是在开发后期才添加的,这给团队带来了独特的挑战。我们采访了乐高航海家(LEGO Voyagers)的首席程序员卡斯珀·霍嫩斯·德·利希滕贝格(Kasper Honnens de Lichtenberg)以及程序员丹尼尔·扎斯特罗(Daniel Zastrow),探讨了如何将在线合作模式融入这个以物理系统为核心的项目。
개발자들이 개발하는 동안, 주요 목표는 무엇이었나요?
卡斯帕·霍嫩斯·德·利希滕贝格(KHdL):我们致力于构建一款充满乐趣的游戏,它能唤起情感共鸣,并支持强烈的合作体验。
丹尼尔·扎斯特罗(DZ):我们的目标是捕捉乐高游戏的精髓——与朋友同乐,尽可能体验成为真实乐高积木的感觉,并共同踏上冒险之旅,共享故事体验。

哪些系统的实现在技术上最具挑战性?
KHdL:在开发中途加入在线玩法意味着我们需要保持现有美术和设计工作流程的完整性。我们构建了工具来自动转换对象和场景,使团队能够持续创作而不会中断。
DZ:连接附件系统是最困难的部分。任意两块积木都能以无数种方式连接,两名玩家可同时互动。由于我们最初并未为在线游戏构建这款游戏,我重写了大部分逻辑,使主机能在客户端等待期间验证操作。我还优化了砖块连接处的过渡效果,以隐藏延迟现象。

NVIDIA PhysX 如何帮助在网络中保持多个松散乐高积木的同步?
DZ:我们并未追求完美的决定论。每个客户端都本地模拟物理效果,随后推动物体朝向网络更新方向移动,以保持视觉一致性。对于弹射器这类高速场景,纯物理模拟并不可靠,因此我们采用了确定性轨迹,并在着陆后重新启用PhysX物理加速。这款混合动力车在保持物理触感的同时,运行毫无故障。

Netcode for GameObjects 和 Relay 的网络代码如何优化了您的网络工作流程?
KHdL:Netcode for GameObjects 和 Relay 让我们无需从头构建网络基础设施,就能快速实现在线合作功能。由于在线玩法是在开发后期才添加的,我们需要一个稳定的堆栈,以便专注于游戏玩法的开发。能够打开并定制化/自定义该软件包至关重要,尤其是在NGO工作流程假定需手动调整时,这能显著加速自动场景转换进程。这种灵活性帮助我们在开发后期修复了漏洞、解决了问题,最终成功发布了游戏。
DZ:设计师可以继续离线工作,而自动场景转换工具让我们无需强迫所有人使用同一个共享场景。我们还对工作流程进行了若干修改,同时确保网络层的稳定性不受影响。

跨平台性能目标如何影响了您的物理引擎和网络实现方案?
KHdL:由于乐高航海家系列高度依赖物理引擎,其运行性能直接影响网络连接的稳定性。在任天堂Switch平台上,我们为物理效果设定了30 FPS 的目标,这意味着需要精心优化所有相关环节:采用可崩塌模型、使用低细节资产和阴影,并简化水面等复杂特性。光照烘焙和模型崩解是自动进行的,但需手动触发。
DZ:从系统角度来看,我们必须确保物理工作负载保持可预测性,这样在高加载情况下网络交互性能才不会下降。我们优化了脚本,并在必要时重写了更复杂的系统。通过Unity的任务系统实现物理运算的并行化,显著提升了法术施放、触发器和信号处理的效率。这为我们提供了更大的余地,使物理模拟和网络更新能够保持响应性。
KHdL:我们对每个场景都进行了分析,追踪了掉帧现象,并持续优化直至性能稳定达到目标值。达到这些数值至关重要——不仅关乎视觉效果,更要确保物理系统与网络系统保持同步,让玩家感受到稳定可靠的体验。

回顾过去,你会改变哪些人际交往方式?
DZ:我们本该更早开始建立人脉。当我们添加在线玩法时,游戏基本上已经完成了。设计师们构建了在本地联机模式下完美运行的场景和机制,但他们往往在底层以不同方式实现了相同的机制。当我们尝试将它们联网时,这些不一致性便成了主要问题——即便游戏内一切看起来都完全相同。
KHdL:例如,我们有三个不同的杠杆脚本。当设计师在早期阶段构建游戏玩法原型时,这种重复现象自然会发生,但若缺乏统一的架构,后期就会产生摩擦,尤其在网络联机方面。
DZ:由于没有事先进行重构,我们不得不适应同一机制的多个版本。网络化暴露了架构问题——一致性至关重要,否则每个功能都会变成特例。

KHdL:早期建立轻量级网络架构会有所帮助。在共享基础之上构建新功能,能使自动转换和工具化工作变得更为高效。
DZ:另一个挑战在于物理驱动的设计本身。它实现了我们想要的游戏玩法,却让网络连接变得更困难。在自由构建原型与为技术稳定性锁定方案之间,始终存在着张力。事后看来,若能更清晰地从实验性的阶段过渡到结构阶段,将会更有帮助。
KHdL:这是种平衡。若团队能更早开启那次对话,本可保存许多痛苦。

对于跨平台合作游戏中的网络处理,你会分享哪些技巧?
DZ:将执行与验证分离。允许客户端执行操作,但验证操作应在主机或服务器端进行。当这些职责相互缠绕时,网络架构变得极其困难,最终导致代码脆弱且过度复杂。若非必要,切勿力求百分之百的决定论。追求视觉与触感兼具的一致性。
KHdL:同样重要的是,要根据游戏的具体情境进行设计。乐高旅行者是一款休闲合作游戏,这让我们能够灵活应对。并非总是需要完美同步。
要了解更多Made with Unity的项目,请访问资源页面。
*Nintendo Switch是任天堂的商标。
