《V Rising》:基于 1,600 个 ECS 系统的吸血鬼王国的幕后故事
了解 Stunlock Studios 如何为 PC 制作其恐怖的开放世界吸血鬼生存冒险,并通过在 PlayStation®5 上发布来吸引更多玩家。
挑战:
发布一款高性能的 60 人 Multiplayer 生存游戏
项目人员:
~40
平台:
PC 和 PlayStation 5
地点:
瑞典Skövde
如何大规模制作 Multiplayer 生存游戏?《V Rising》是对这一热门游戏类型的恶毒演绎,玩家在一个巨大的开放世界中沦为吸血鬼。Stunlock 有远大目标,因此确定了目标范围,在开发初期就采用了 Unity 的面向数据技术堆栈和高清渲染管线 (HDRP),为其迄今为止最复杂的游戏奠定了稳定、可扩展的基础。
借助DOTS,Stunlock拥有有效管理其日益庞大的项目开发所需的灵活代码架构,而HDRP则释放出诸如体积雾等高保真视觉效果,这对于营造哥特式氛围至关重要。Stunlock凭借精明的计划和他们手中的合适工具,在PC上发布了《V Rising》,在抢先体验时和发布时都给予好评,然后通过广受好评的PlayStation 5端口进一步延长了游戏的寿命。迄今为止,该游戏的销量已超过 500 万份。
结果
- 创造了一个绵延五平方公里、拥有八个独特生物群的广阔的、基于服务器的游戏世界
- 实时串流和渲染超过 16 万个可交互对象
- 管理 21,000 个烘焙预制件、450 个烘焙子场景、1,600 个 ECS 系统和 2,700 个粒子系统
- 使用 Unity Profiler 快速识别次优代码和不必要的垃圾产生,节省了数百小时的时间
- 使用SRP Batcher消除了多个毫秒的帧延迟
- 创造了高用户渗透指标,迄今为止,玩家平均在游戏中花费了35小时,解锁了超过340万个PlayStation™网络奖杯和Steam成就
- 实现了PlayStation 5的特定功能,包括自动化语音聊天、支持DualSense™无线控制器的Haptic Feedback、自适应触发器和控制器音效,以及PlayStation™网络奖杯系统

浏览游戏世界
在 V Rising 的场景中,Stunlock 设想了一个包含八个不同生物群落的交互式持久世界。它们都笼罩在雾气中,以昼夜循环为特征,有实时光照和阴影,在运行时必须保持高性能,才能提供一致的在线游戏体验。“我们决定全力以赴,在 Unity 中不受限制地实现这一切,这给了我们很大的自由,让我们可以创造梦想中的吸血鬼王国。”工作室联合创始人兼系统程序员 Fredrik Haraldsson 说,

使用 DOTS 扩大运营
Stunlock 一直密切关注 Unity 最近宣布的 DOTS,该 DOTS 为他们预期的许多性能挑战提供了解决方案。虽然这项技术仍处于实验阶段,但 V Rising 仍处于开发初期,Stunlock 的程序员在面向数据设计方面已经拥有了经验。尽早采用这项技术还可以让他们有机会与 Unity 建立更密切的合作伙伴关系,并获得项目支持,以换取在生产中经过实战考验的 DOTS。
在为《V Rising》释放潜力的激动下,Stunlock的开发人员开始在Unity 2019.3中为该项目创建技术框架,而团队的其他成员则继续使用他们以前用于构建《Battlerite》的内部引擎进行原型设计,以保持开发流程。

高性能漏斗
使用 DOTS 和 ECS 构建 V Rising 的项目架构非常耗时,但很快便显现出其优势。Stunlock Studios 联合创始人兼技术总监Rasmus Hööök说:“借助DOTS,我们奠定了可以处理更多内容的基础,我们可以有效利用流媒体实体和素材资源。”子场景和资源流用于在运行时根据玩家在游戏中可以看到的内容动态加载和卸载元素。这项技术让探索 V Rising 庞大的世界成为玩家更高性能的体验。
使用 ECS 构建 V Rising 还意味着利用子场景烘焙管理游戏内容。由于实体与Unity的核心场景系统不兼容,它们不能直接包含在Unity场景中。相反,烘焙允许从场景加载实体,将其GameObject和MonoBehaviour组件转换为可在运行时加载的实体和ECS组件。
Rasmus 认为,将运行时数据和编辑器数据明确分离是使用 DOTS 和实体的最大优势之一。“在编辑器中,我们创建创作预制件,这些预制件本质上是使用 MonoBehavior 的标准游戏对象。但是,这些预制件仅用于编辑目的,不直接用于游戏本身。”他解释道。“相反,它们要经过一个称为烘焙的过程,然后被转换为运行时组件。由于创作预制件只在Editor中使用,因此我们可以向其中添加功能和数据,从而改进工作流程,而无需担心弄脏实际游戏。”
以这种方式使用创作预制件可以更轻松地更新 V Rising。Stunlock 的程序员只需修改烘焙代码,就可以提取更新系统所需的数据,而不必调整系统的一个元素,也不需要美术师和设计师更新成千上万个相关的预制件。Rasmus 说:“这有助于维护,但显然也能提高性能。”“因为在预制件上可以有仅编辑器使用的数据,这些数据不会转换为运行时组件,因此您可以跳过所有开销。”
克服障碍
正如 Stunlock 预计的那样,使用实验性技术有一些困难。“我们一开始遇到的许多问题都是自己造成的。我们创建的许多实体太大了,它们有很多组件,这意味着我们无法按自己的想法将尽可能多的实体组合在一起。”Rasmus 说。“为了解决这个问题,我们缩小了它们并增大了块大小,从而改进了很多。除了从体验中吸取经验教训外,在制作完成游戏后,你只能做很多事情。”
由于使用 DOTS 与以前的 Unity 开发范式有很大不同,而且开发过程也更为复杂,因此 Stunlock 逐渐加入了团队。程序员被分配编写简单组件和编写代码的小任务,以习惯新的创作过程。很快,他们开始使用 C# 作业系统等 DOTS 组件和构建工具,以加快整个团队的开发和改善质量保证。
技术美术师 Filippa Arvidsson 说:“通过使用 C# 作业系统,我们构建了可以在项目中扫描网格以查找重复几何体的工具,或者计算网格的多边形密度,以确定可能需要减少子像素三角形数量的素材资源。”
“DOTS 面向数据的方法是我在 Unity 中使用代码的新的首选方法,因为一旦克服了最初将思维从游戏对象转移到系统这一坎坷,我发现这种方法非常直观。当然,性能优势也是一大优势。”
对于技术要求较低的团队成员,Stunlock 在 DOTS 代码库之上实现了工作流程,以更直接地为项目做出贡献。一种工作流程支持创建预制件组件,这些组件用于生成和侦听预定义事件,例如玩家生成时产生的效果,或满足某些条件时应用的缓冲区。使用该系统,设计师可以创建模块化、可管理的游戏元素,而无需具备 DOTS 方面的深厚技术知识。
第二个工作流程主要针对功能实现而构建,其设计师使用受限 API 在脚本层工作。这样,他们就可以自己编写脚本,与组件交互,并注册不同的事件,从而加快制作速度。
使用 HDRP 释放图形和游戏玩法
《V Rising》内置于 HDRP 中,它释放了更高保真图形功能,以有趣的方式塑造了玩家体验。
Rasmus 说:“体积雾绝对是对游戏影响最大的视觉效果。”“当我们的美术师知道我们会使用 HDRP 时,他们围绕 HDRP 调整了风格,因此 HDRP 影响了游戏的整体外观。”除了营造氛围并为魔法和能力增加视觉冲击力外,体积雾还被用作视线机制,遮蔽玩家看不到的区域。

Stunlock 使用 HDRP 的物理天空管理 V Rising 的昼夜循环,它附带对实现正确游戏至关重要的游戏机制。在白天,如果玩家在阳光下徘徊,必须潜入阴影才能穿越世界,他们会受到伤害。必须明确界定安全和有害区域,这样这一机制就不会令人沮丧。
Filippa 说:“实时渲染非常重要,既能在一天中的不同时间之间创建漂亮的过渡,又能以视觉方式告知玩家太阳会在哪里燃烧。”“在这方面,HDRP 效果很好,可以让我们的美术师在一天中的不同时间针对不同区域设置不同的体积配置文件,以便我们能够顺畅地进行混合。”
在 PlayStation 5 上寻求新生命
《V Rising》是Stunlock的第一部游戏主机游戏。Sony与他们接洽后,他们抓住机会接受了新的挑战,在PlayStation 5上接触到了可能增加的数百万玩家。
程序员首先升级Unity版本,以利用ECS 1.0的额外性能改进。PC 构建的主线程是一个限制因素,因此他们使用 C# 作业系统将工作分发给其他线程。安全调度帮助他们轻松地在主线程上创建作业,而不干扰其他任务。Rasmus 说:“在实体 1.0 之前,我们进行了大部分开发工作,现在,在升级之后,我们经常使用日志来了解发生的情况,这非常有用。”
在图形方面,Filippa指出批处理对PlayStation 5的渲染性能有很大影响,因此他们使用HDRP构建工具来修改UDIM工作流程,使其能够将子网格与不同材质组合在一起,以减少绘制调用。她说:“这可能在 CPU 端为我们节省了大量毫秒的时间,因为渲染数据可以更高效的方式发送到 GPU。”
接管夜晚
从PC 1.0版本发布到PlayStation 5发布再到最近与Konami Digital Entertainment(KONAMI)的传奇《Castlevania》系列游戏《V Rising》的伙伴关系,《V Rising》一直在不断壮大。这是一项卓越的技术成就,出自一个愿意大胆尝试新技术、为玩家创造令人着迷的独特体验的小团队之手。
使用DOTS,Stunlock可以在性能问题降到最低的情况下为《V Rising》增加“更多内容”,而HDRP帮助他们创造了令人难忘的视觉效果,以获得更身临其境和引人入胜的玩家体验。如今,《V Rising》是市面上基于DOTS的最大的代码行游戏之一,Unity正在利用制作过程中的见解,使编辑器在制作雄心勃勃的游戏时更具性能和稳定性。
Rasmus 说:“从一开始,我们并不想拥有这样多动态和可破坏的元素,而是因为我们能够做到这一点。”“这证明了 ECS 有多么出色,它能够实现巨大的性能优势。如果没有 DOTS,我们今天的 V Rising 将大不相同。”
使用 Unity 制作雄心勃勃的游戏
Unity 6 增强的渲染性能和更快的 Multiplayer 迭代可帮助你在更多设备上向更多玩家提供视觉震撼的独特游戏。立即试用,或借助 Unity Pro 在 20 多个平台上寻找新受众。
©2025 Sony Interactive Entertainment LLC.“PlayStation Family Mark”、“PlayStation”、“PS5徽标”、“PS5”、“PS4徽标”、“PS4”、“PlayStation Shapes徽标”和“Play Without Limits”是Sony Interactive Entertainment Inc.的注册商标或商标。


