各位《星球大战:旧共和国》的玩家们,大家好!我们是负责将《星球大战:旧共和国》迁移至DirectX 12的技术团队。我们注意到大家一直在询问相关进展,现在已临近今年第一季度末,我们觉得是时候和大家简单汇报一下情况了! 无论你是刚加入的新玩家,还是从游戏开服就一直支持我们的老玩家,可能都听说过我们提到的“现代化”计划。近年来,这项计划已通过多种形式推进,比如以视觉提升为重点的环境与角色更新,以及更偏向技术层面的64位客户端升级。展望《星球大战:旧共和国》的未来,现代化仍是团队的工作重点,而DirectX正是技术与视觉升级的核心所在。旅程的开端 当我们决定升级游戏的DirectX版本时,首要任务是创建一个基准版本,以便我们能尝试不同的方法来实现游戏的现代化。简而言之,我们制作了一个将渲染功能精简到最基本程度的游戏版本。例如,在这个阶段,所有物体都没有纹理进行绘制。这使我们能够移除引擎中特定于DirectX 9的部分,并确保我们能够顺利过渡到DirectX 12,同时不会引入根本性的性能问题。


(科里班在迁移至DirectX 12初期阶段的示例) 后续步骤 接下来,我们开始在DirectX 12中重新构建基础渲染功能。《星球大战:旧共和国》最初是基于HeroEngine开发的,但随着多年来对游戏的大量升级和修改,原始代码已所剩无几。现在它基本上可以称为SWTOR引擎,并且是我们游戏专用的引擎。因此,我们无法简单地获取引擎的升级版本,必须进行重建! 通过与Electronic Arts的合作团队协作,我们得以将Frostbite的渲染组件与SWTOR引擎进行整合。(我们只是使用部分组件,并非将游戏转换为Frostbite引擎。我们的游戏内容依赖于SWTOR引擎,与Frostbite不兼容。)在基础功能正常运行后,我们开始着手转换或替换所有不属于最小功能集的主要渲染特性。部分特性,例如【着色器】(为像素分配颜色的小型程序),由于差异巨大,必须从头重新开发;而其他一些特性只需稍作修改即可保留。

(渲染的最初阶段)

(渲染的最初阶段)

(额外纹理和可运行着色器示例)

(额外的纹理和着色器) 我们现在进展如何? 这项工作已经取得了很大进展!除了用户界面(UI)外,所有主要功能都已正常运行。我们都认为,UI是未来任何测试都必不可少的部分,而我们发现,转换这一组件是迄今为止最大的挑战。与渲染引擎升级类似,UI没有直接的升级路径,我们与EA内部有过类似工作经验的团队合作,自行完成了转换。 目前,我们正在努力使UI达到可用状态,以便能够进入公开测试阶段。除了一些其他需要收尾的工作外,一旦我们能够进一步沟通技术Alpha测试的相关事宜,我们将发布官方公告。目前,以下是我们取得的最新进展示例:


未来计划 当我们准备好发布基于DirectX 12的游戏技术Alpha版本时,玩家需要注意,首轮测试可能不会包含所有高级渲染功能。例如,阴影和泛光(明亮光源周围的眩光效果)等功能可能尚未实装。 市场上存在大量不同的处理器和显卡,我们无法在内部对所有硬件进行测试。因此,我们首先会重点收集玩家反馈的兼容性问题、故障等。这项测试虽暂未启动,但我们已在积极推进中!我们对DirectX 12的期待 迁移至DirectX 12的目标是确保用于维护游戏的技术得到支持,并为我们提供进一步实现游戏现代化的机会。随着技术不断发展,《星球大战:旧共和国》的技术基础也必须与时俱进。这一目标和理念与我们迁移至64位时类似。此外,迁移至DirectX 12还为我们未来进行各种图形改进打开了大门,而这些改进在DirectX 9环境下是无法实现的。




换一换 





























