在策略与 Roguelike 类型的游戏中,战斗规模往往会随着玩法设计不断扩大。当数百个单位同时出现在同一战场上时,如何在保持游戏节奏的同时维持稳定性能,成为开发过程中必须面对的核心技术问题。

《幻面之旅》是一款融合塔防与自走棋机制的 Roguelike 战斗游戏。这个包括主程、主美、制作人、概念设计师以及负责海外推广顾问的五人小团队,此前曾开发过登上E3展的动作 Roguelike 游戏《合金重组》。相比上一款作品偏动作化的战斗体验,《幻面之旅》的设计目标更加明确:构建一个“轻量但高密度”的策略战场。

打开网易新闻 查看精彩图片

在游戏中,玩家需要守护场景中央的“女神”防御核心,并在不断涌入的敌人攻击下维持防线。玩家通过击败敌人获取经验和货币,用于召唤随从、建设防御塔或提升自身属性。随着战斗推进,玩家可以逐渐形成不同的发展路线:选择更多随从可提升人口上限,获数值偏低增幅;选择精锐化随从,人口上限提升少,但随从升阶上限变高,获更强 buff。这种策略分化让战场规模在后期关卡中迅速扩大,刷怪量峰值时可能超过三百个单位。

打开网易新闻 查看精彩图片

正是在这样的设计背景下,团队在项目早期就将性能作为核心技术目标,并最终决定将开发环境从 Unity 迁移到团结引擎。

当战斗规模成为核心挑战

团队此前的项目主要基于 Unity 2019 和 2021 开发,因此在技术上已经积累了较多经验。但在《幻面之旅》立项阶段,开发者重新评估了未来可能出现的性能压力:大量角色、重复行为逻辑、密集的战斗特效,以及不断增加的渲染对象数量,都可能成为潜在瓶颈。

最终团队选择使用团结引擎 1.6.7 作为项目的主要开发版本。迁移的原因并不在于功能差异,而更多来自于性能考虑。对于一个需要在同一场景中同时运行数百个单位的项目来说,团结引擎的合批优化带来了显著的性能提升。

在技术规划上,团队为项目制定了三个核心优化方向:首先通过 SRP Batcher 提升渲染批处理效率;其次借助团结引擎的 Profiler 工具建立持续的性能分析工作流;未来在逻辑层面逐步引入 ECS 框架,以优化战斗中大量相同行为逻辑敌人的情况。这些策略共同构成了项目的技术基础。

让数百个敌人同时出现:SRP Batcher 的作用

虽然《幻面之旅》具有塔防元素,但敌人会在短时间内大量刷新,后期关卡的战场密度明显增加。当数百个角色同时存在时,渲染阶段的 CPU 开销往往成为帧率下降的主要原因。

为了解决这一问题,团队在渲染层面依赖 SRP Batcher 进行优化。SRP Batcher 通过统一材质和渲染状态,使大量使用相同 Shader 的对象能够共享渲染数据,从而减少 CPU 与 GPU 之间的状态切换成本。在实际开发过程中,这一优化策略对高密度战斗场景产生了明显效果。

打开网易新闻 查看精彩图片

团队的测试表明,在游戏前中期战斗规模逐渐扩大的阶段,帧率基本可以保持稳定。只有在游戏末期接近刷怪峰值时,才会开始出现较为明显的帧数下降。对于以大量同类敌人为核心玩法的策略或 Roguelike 游戏来说,这种批处理优化能够显著延长稳定运行的区间。

用数据驱动优化:Profiler 的日常使用

在持续优化过程中,团队还使用了团结引擎的 Profiler 工具来定位性能问题。打包时勾选 Development Build、Autoconnect Profiler,可在真实运行情况下观察各项开销,在编辑器内也能根据时间消耗找到需要优化的行为。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

通过 Profiler,开发者可以清晰地看到 CPU 与 GPU 的时间分布,以及脚本执行、渲染调用和 GC 分配等关键指标,通过时间消耗排名快速定位最昂贵的行为逻辑,再针对具体系统进行针对性优化。这种以数据为依据的调优方式,在高密度战斗场景中尤其重要,很多性能问题只有在真实规模的战斗中才会显现出来。

为规模化战斗准备:ECS 架构的引入

随着战斗规模扩大,传统基于 MonoBehaviour 的架构会面临大量 Update 调用、对象生命周期管理复杂以及 GC 压力增加等问题。特别是在敌人行为高度相似的情况下,这种架构往往无法充分利用现代 CPU 的缓存结构。因此,团队计划逐步将项目整体采用 ECS 框架进行优化。ECS 将数据与行为逻辑解耦,使系统能够以更连续的数据结构处理大量实体,从而获得更好的缓存命中率和并行计算能力。

在《幻面之旅》中,绝大多数敌人的行为模式实际上非常一致:移动、搜索目标、攻击、受伤和死亡。这类重复度极高的逻辑非常适合使用 ECS 批量处理。虽然目前项目仍在规划这一架构转变,但团队的目标很明确:为大量角色的战斗场景进一步压榨性能空间。

打开网易新闻 查看精彩图片

当同一套战斗逻辑走向更多平台

从《合金重组》到《幻面之旅》,团队的项目开发计划尽可能辐射更多平台。团结引擎在跨平台开发上的便利性,成为了团队以更低的开发成本触达到更多玩家的关键原因。

就目前的开发经验来看,游戏的核心代码在不同平台之间基本可以保持不变,真正需要针对性调整的部分集中在玩家交互方式和 UI 层。也正因为底层开发路径足够统一,团队才有可能在不反复重构主干逻辑的情况下,把项目逐步推进到 PC、移动端、主机,甚至小游戏平台。对于中小团队而言,这种跨平台能力能够显著减少重复开发,让有限的人力更集中地投入到玩法打磨和内容完善上。

在轻量化流程中追求精致表现

在《幻面之旅》的美术实现中,团队并没有把“风格化”理解为单纯的视觉选择,而是把它放进了整体开发流程中一起考虑。对于一个小团队来说,理想的美术方案不仅要能够建立辨识度,还要足够轻量,能够降低光照、资产制作和迭代过程中的成本;同时,它又不能以牺牲表现力为代价,战斗中的角色、特效与场景仍然需要维持足够细腻的完成度。

基于这样的思路,团队逐步形成了一套偏轻量化的美术路径:一方面通过“无影动画”风格控制渲染与光照复杂度,另一方面借助 AI 辅助工具提升前期概念设计效率,再结合 Unity 成熟的粒子系统完成战斗特效,最终在相对便捷的工作流中,维持了游戏整体较完整的视觉呈现。

“无影动画”:一种更轻盈的视觉方案

《幻面之旅》采用了一种较为独特的视觉风格,团队将其称为“无影动画”,灵感来自二维动画作品。在这种表现方式中,场景仍然具有完整的视觉和氛围变化,但角色本身并不会参与复杂的实时阴影计算。

打开网易新闻 查看精彩图片

这种设计并不仅仅是风格选择,同时也是一种技术策略。通过减少角色阴影和复杂光照的参与,开发者可以大幅降低实时光照与烘焙贴图的开发成本。角色视觉变化主要通过后处理效果、场景滤镜以及 Shader 调整来实现,例如为角色添加校色 Shader,针对不同时段进行校色,并挂上关卡的全局滤镜,来进行诸如色彩平衡、饱和度、明度、亮度的调整。

打开网易新闻 查看精彩图片

同时,团队还根据不同时段建立光照效果数值数据库,当关卡抽取到对应时段,就从数据库中获得其对应的参数,应用到全局设定里。

打开网易新闻 查看精彩图片

对于规模较小的团队而言,这种方式在保持视觉体验多样的同时,也能显著减少实时光对性能消耗的影响,提升场景迭代效率。例如战斗大招场景,只需提前预制好技能数值参数,即可根据技能的美术设计进行滤镜与相关材质的全局校色。

打开网易新闻 查看精彩图片

*技能对全局校色

AI 工具进入美术生产流程

在资产方面,团队也尝试将 AI 工具引入到美术流程中,主要使用网上开源的 PS ComfyUI,将手绘流程与 Photoshop 插件实时演算相结合。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

为了保证风格一致性,团队并没有使用 AI 直接生成最终资产,而是主要将 AI 用于概念设计阶段。例如在早期草图中,美术会先绘制基本的角色正面设计,然后通过 AI 工具生成多个视觉方向,再进行人工筛选和调整。相比完全手绘的流程,这种方法能够更快地探索不同的视觉方案,同时保持较高的可控性。

打开网易新闻 查看精彩图片

从一张手绘草稿,能很快看到角色主视觉,甚至是完成度很高的角色动态视频,团队的反馈是,这种引入 AI 的工作流显著提高了效率,特别是在寻找风格方向和角色设计灵感时。

用粒子系统构建战斗特效

战斗表现方面,《幻面之旅》几乎全部技能特效都基于 Unity 内置粒子系统实现,包括战斗中和特写镜头中的3D粒子。

打开网易新闻 查看精彩图片

对于一个需要大量技能表现的 Roguelike 游戏来说,Unity 粒子系统能够在保证效率的同时提供足够丰富的视觉变化。团队也关注到团结引擎全新的 Infinity 粒子系统,该系统基于 ECS 架构设计,可以支持十万级粒子的高性能渲染,并兼容原有粒子系统。这为项目未来的视觉升级提供了新的可能性。

仍在探索中的技术方向

随着项目逐渐完善,团队也在尝试一些新的技术方向,其中之一是将 2D 角色与 3D 武器结合。目前的游戏整体类似 2.5D ,即 3D 建模场景搭配 2D 角色。通过引入 3D 武器模型,可以让战斗表现更加立体,但同时也带来了动画匹配、渲染层级以及视觉一致性等问题。目前团队正在持续探索实现这一效果的技术难点,期待为最终作品带来新奇的视觉与游玩体验。

另一个实验性的想法是角色特写镜头交互设计。团队希望在策略类战斗中加入更具表现力的瞬间,例如在关键技能释放时触发短暂的特写互动镜头,以增强玩家与养成角色之间的情感连接,同时也为玩家社区的提供二创素材。目前这种设计还在探索中。

*战斗场景内特写镜头

小结

对于像《幻面之旅》这样以高密度战斗为核心体验的游戏来说,性能优化不应该只是后期工作,而需要在项目早期就从技术架构、美术工作流等方面全方位纳入规划。团结引擎的 SRP Batcher 的合批优化、 Profiler 持续性能分析、广泛的平台兼容性以及面向数据的高性能粒子系统,为更大规模的战斗场景、更轻量高效的美术工作流打下了基础。

对于考虑从 Unity 转向团结引擎的开发团队,《幻面之旅》的开发者给出的建议相对简单:放心大胆用,因为迁移成本比想象中低。由于 API 与开发流程保持高度一致,大部分项目都可以丝滑迁移,同时也不要忘记做好项目备份和立项后及时申请授权认证。

随着项目继续推进,这些技术实践也将不断迭代,并为类似类型的策略或 Roguelike 游戏提供一些可参考的开发经验。

Unity 官方微信

第一时间了解Unity引擎动向,学习进阶开发技能

每一个“点赞”、“在看”,都是我们前进的动力

打开网易新闻 查看精彩图片