时间进入2025年的下半场,《光与影:33号远征队》在全球游戏市场的成功已经毋庸置疑。
Metacritic 媒体评分 92 分、用户评分9.7分,三天突破百万销量,叫好又叫座的《33号远征队》也在一众赞誉中成为了TGA年度最佳的有力竞争者之一。
近日,在今年德国科隆举行的开发者大会Devcom 上,《光与影:33号远征队》的开发团队Sandfall Interactive程序员弗洛里安·托雷斯(Florian Torres)分享了这款游戏的幕后开发经验。
以下内容基于韩媒This is Game报道编译:
《光与影:33号远征队》凭借其独特的世界观与革新性的战斗系统广受好评,在经典JRPG框架中,成功融合了回合制策略与实时动作反应机制。
游戏在传统回合模式基础上引入「格挡」、「弹反」等需瞬时判断的操作,大幅提升战斗的紧张感与沉浸感。
这种设计灵感来源于《失落的奥德赛》《女神异闻录5》《最终幻想X》等JRPG经典,同时吸纳了《只狼》《鬼泣》等动作游戏的实时操作元素,为众多玩家带来了突破类型边界的新体验。
在如此巨大的成功背后,《33号远征队》核心团队Sandfall Interactive仅33人,其中程序员仅4人,包含关卡设计的设计师仅3–4人。除动画制作与主机移植等部分外包,包括核心玩法在内的绝大多数开发工作,均由这支极精简的团队主导完成。
33人的核心开发团队中只有四个程序员。四位程序员还扮演不同的角色,例如战斗、探索、进度和引擎相关。
小团队的支点:Blueprint
Sandpol Interactive做出的明智选择,是采用虚幻引擎内的可视化脚本工具蓝图(Blueprint)。这一工具让设计师和美术无需编写C++代码,仅通过节点连接即可实现游戏逻辑的高效沟通,极大缩短了原型制作与迭代的周期。
值得注意的是,我们见到的《Clair Obscur: Expedition 33》是基于UE5引擎,但是在项目之初,团队采用的是UE4引擎。对于仅有4名程序员的小团队而言,升级是一个艰难的抉择。
对任何团队来说,引擎版本升级都意味着不小的风险,但UE5的技术红利仍然促使他们愿意承担开发期的阵痛,将项目一路迁移至UE5。
可以说,正是借助Nanite、Lumen、World Partition等新特性,他们才能得以在有限人力下实现近乎AAA的画面效果与更高效的开放世界构建能力。
在开发过程中,团队从Unreal Engine 4.21一路升级至5.4.4版本,切身经历了蓝图的诸多优缺点。
得益于蓝图,原型构建与迭代速度大幅提升:设计师无需等待程序员实现,即可自主完成具体测试。程序员也能更专注于核心系统与优化,其余细节系统则由其他成员协作开发,既降低了工作负荷,也促进了跨部门的高效协作。
此外,蓝图几乎不会引发C++中常见的空指针(Null Pointer)崩溃,稳定性显著更高。
蓝图是虚幻引擎的一个内部功能,它以这种方式连接节点以创建逻辑。
不过众所周知,Blueprint相较 C++ 也有明显劣势:执行速度更慢,优化与调试难度更高。其节点连接方式虽然直观,但随着系统复杂度增加,连线也会像“意大利面”一样错综复杂,导致维护难度上升。团队必须在引擎既有功能范围内工作,且Blueprint文件是二进制数据,无法支持多人同时编辑同一文件。
为此,团队采取了C++与蓝图混合的策略:在必要处使用C++,而大部分系统仍依托蓝图,从而在一定程度上平衡了两者的优劣。即便如此,游戏95%以上依旧是通过 Blueprint 制作完成的。这充分说明,开发团队认为Blueprint 的“优势”远大于其缺点。
C++只有在不得已的情况下才被程序员使用。其他部门的人员,如游戏设计师和美术人员,使用蓝图来反映他们的意见,减轻彼此的负担。
开发团队的三项核心原则
1.避免重复造轮子(Do not reinvent the wheel):团队充分利用引擎已有功能,而非执着于自研系统,专注创造性应用现有工具,大幅缩短开发周期。例如UI选用“Common UI”替代UMG构建基础UI,采用“Metasound”代替Wwise处理音频。
2.以少博多(Make more with less):这是团队最重要的信念。在仅有4名程序员的极限条件下,每位成员都需承担“开发者”的角色。蓝图相当于给了设计师和美术一双“编码的翅膀”,让他们能在逻辑实现层面独立完成测试和内容搭建,极大提升了整体生产效率。
3.明智选择战场(Choose your battles):对小团队而言,必然无法面面俱到,关键在于选择与聚焦。他们把有限的开发力集中在与核心乐趣直连的部分,也就是《33号远征队》所独有的玩法体验。次要环节则尽量依托引擎现有功能或简化实现。
那么具体是如何实践的呢?
以战斗增益系统(Buff System)为例,程序员只需提供诸如“回合开始”“受到伤害”等事件条件作为底层框架,设计师便能在此基础上通过蓝图扩展具体效果(如“灼烧”),并编写“扣减生命值”“禁止行动”等逻辑脚本。这样的环境让设计师能够轻松将自己的设想转化为实际流程。
另一个典型做法是共享式条件检查器(Condition Checker)。程序员将几乎所有可能发生的情境整理为带复选框的条件选项,设计师只需勾选(如“是否完成某任务”),即可直接触发“播放过场动画”“开始战斗”等行为。仅通过简单的组合,就能快速构建出完整的事件流程。当然,搭建这种环境的初期开发工作量并不小。
“复选框”
随着开发自由度的提升,调试与维护的安全措施也变得尤为关键。一旦逻辑开始纠缠混乱,后期修复就会变得十分困难。
因此,团队最初会在日志文件中以不同颜色标记问题部分,并在屏幕上输出文字警告。但由于常常被其他UI遮挡而错过,他们最终不得不针对严重错误采用阻塞式弹窗警告,直接让程序暂时中断。
此外,蓝图的一个特性是即便遇到Null Pointer(空指针)也不会停下运行,这反而使得错误排查更加困难。为此,团队启用了在访问空对象时强制中止执行的选项,以此确保程序员之外的设计师、美术、QA 等成员遇到问题时同样无法绕过,必须立即处理,避免“带病推进”。
开发调试过程像游戏一样可视化
尽管为克服这些缺点投入了相当的时间与经济成本,但最终,这支小团队在有限的资源下成功最大化发挥了成员能力,构建出许多大型团队也难以实现的自由协作环境。
结语
正如Torres在演讲中总结所言:“我们信任游戏设计师,而他们总能在我们搭建的系统框架之上,创造出超乎想象的精彩成果。”
《光与影:33号远征队》的开发历程,为同样身处资金与人力限制下的国内中小团队提供了一个极具参考价值的范本。
在3A大作成本水涨船高的时代,中小团队的破局之路正在于极致的聚焦策略和高效的团队协作,小体量团队同样能打造出令人惊叹的作品,在激烈的市场竞争中占据一席之地。Sandfall Interactive的经验,值得每一个致力于原创游戏的国内团队仔细研读。
参考:
招游戏产业编辑