技术:凯隐降临粒子城

blob.png

/技术是Nexus中探索英雄联盟技术支持的全新系列文章。如果你喜欢这篇故事,可以去Riot Games开发者博客中找寻更多复杂的深入内容。

镰刀不是用来割草的吗?对啊。把下路当草割。

开发一种像英雄联盟这种规模庞大且频繁推出新内容的游戏,最大挑战之一,就是在大改构建游戏的工具时,又不破害任何东西。大家好,我是John “Riot Jengles” Englund,负责制作我们的美术工具的技术美工,今天和大家分享一下,我们是如何赶在最新可穿墙而行还能上其他英雄身的打野刺客凯隐推出前,完成全新的视觉效果编辑工具的。(但绝对不要搞我的英雄!我都是玩短腿ADC的,所以选英雄的时候会严格遵守“必禁凯隐”的原则。)

一支恪尽职守的团队

在我们团队,大伙们的任务就是为Riot创造各种工具和技术,让Rioters能为玩家带来最棒的内容(“最棒”——我们指的是该团队根据他们的工作情况认为最棒的东西)。我们通过提供软件,使内容创建的迭代循环尽量更有效率来达到这一目的。这就是我们团队被亲切地成为“内容效率团队”的原因。我们负责的有英雄联盟中创建全部游戏数据的终端平台,以及设计师和美工们用来编辑英雄、皮肤、技能以及等等内容的工具。

去年年末,我们认为是时候推出一款全新的视觉效果编辑工具了。为什么呢?英雄联盟中有超过110,000种不同的视觉效果。为了让游戏中的动作活灵活现地展示出来,这起到了至关重要的作用,玩家们也经常表示视觉效果是他们能否从英雄、装备、地图效果等等内容中获得乐趣的决定性因素。

与动态的角色不同的是,视觉效果不是通过创作彼此衔接的姿势造型制作出来的。视觉效果是动态的程序,由游戏在一段时间内模拟而来。这些效果是由一个或多个粒子系统组成的 —— 粒子发生源的集合,它们的行为和表现是视觉效果美工通过材质、几何构图以及许多控制器确定的。如果你有兴趣进一步了解视觉效果的艺术,看看RiotPhoenix的这篇文章,这位负责凯隐视觉效果的美工也参与了这次新工具的开发与测试!

大家可以看出,高质量的视觉效果对于游戏来说是不可或缺的,但是我们创作视觉效果的工作流程已经有些上年纪了。那里没有“撤销”按钮,很难去尝试一些不同的变化。每次视觉效果美工想看看他们工作的成果时,都要一直开着游戏,保存他们的效果,然后等它重新载入。根本无法在游戏中实时看到。最后,所有的视觉效果数据都储存在旧版的文件系统中,需要对文件夹和文件名进行很多的手动处理才能使其正确工作,也没有什么简便的途径能找出游戏中的某个效果使用的是哪个文件。

没有说的那么简单

打造一款优秀的视觉效果工具并不简单,可意想不到的是这竟然不是其中最难缠的一环。在紧张的最后期限前将新的工具配置到生产环境中,再把老数据转换到新的系统内,还要确保美工们尽量顺利地完成过渡——则又是另一回事了。

我们要做的第一件事就是确保我们的视觉效果美工对此想法认同并感到兴奋,而且能够参与到开发的过程当中。没有他们的专业知识我们不可能做出合适的东西。视觉效果美工们早就对使用编辑现有的视觉效果工具有随遇而安的感觉了(尽管它存在着一些不足),所以为了将更好的东西带给他们,我们把标准制定得相当高。

另外,它还有个让人流口水的读取界面:

blob.png

是的,旧版的工具叫Syrup(糖浆),你没看错,这是一个早餐玉米卷上面站着一个卡通玉米卷。

现在问题来了,你要怎么超越它呢?开始我们想出了很多如何改进现有界面的点子——更加精美的图表、干净利落的新表格以及巧妙的简化措施——但是归根结底原来工作流程中的关键瓶颈与界面本身没什么关系,所以我们理应简单地把旧版工具中的多数功能移植到新的系统中。对于一款软件来说,即便是最佳的改善方式也存在着临时的效率成本(比如,大家需要重新学习使用这款工具),所以我们选择提供一个熟悉的界面,让过渡变得更加简单。

blob.png
blob.png

Syrup(糖浆)对比Particle Town(粒子城)。熟悉的界面,只是稍作清理,全新的预览窗口!噢对了,还有撤销功能!

我们把多数的开发精力都放在了旧版数据和视觉效果画师的顺利过渡上。除了受Syrup启发而打造的熟悉界面之外,我们还制作了能帮美工把旧版数据——那些构成视觉效果的材质、网格和粒子系统—— 转换到新系统中的工具。我们甚至还确保了美工们可以从旧版工具中复制数据,并将其粘贴到新的工具中。

所以,一款我们有信心让所有美工都能使用的新工具固然是很好的,但我们要如何进行配置并把它用在实实在在的地方呢?

欢迎来到粒子城,凯隐先生!

我们需要找一些酷炫的视觉效果数据,将其放到我们称之为“粒子城”的全新工具中。用一些已经在制作中的充实内容来测试数据转换,但它不能开发得太过深入,因为我们可能会影响到出品的最后期限。

因此我们和英雄团队聊了聊,他们手头只有这么个项目:一个有三种不同形态和极致视觉效果的英雄。

接手影流之镰,凯隐

听说你们喜欢全屏的视觉效果

现在,英雄团队要应对自己的最后期限,而我们并没有保证这款工具会立刻提高他们的制作效率。其实,这更有可能会略微拖慢他们的速度,这就是改变带来的痛苦!尽管我们当时有信心这款工具不需太久就会变得更具效率,但制定一个切合实际的期望并确保我们会尽自己所能让凯隐按时推出是非常重要的。

那么我们做了些什么呢?我们花了三个月的时间打造了一个MVP(最小化可用产品),在此期间我们整个团队都一心扑到了这款工具的制作上面。我们来来回回花了很多时间和视觉效果美工进行探讨,让我们保持充足的信心自己正在打造的是正确的东西。部分内容有所缩减(比如那个精美的图标编辑器)并不是因为设计不够出色,而是我们发现其他东西的优先度更高。我们知道在推出简化版本后会有时间来进行加工。先做一个可以迅速搭建出的最小化版本还有一个不错的理由是可以立刻获得这款工具的反馈意见。来自于专业人士的直接用户反馈对于未来的改进来说弥足珍贵,而且也能节省我们的时间,不必浪费在那些不太常用功能的制作上。

凯隐镰刀散发出的不祥光辉,由“粒子城”实时呈现

终于在三月底的时候,我们推出了这款工具...刚开始的时候确实有点让人苦恼!引入的数据都是损坏的,工具有时候慢得像在爬一样,甚至还会崩溃。在这次过渡期间,多亏了我们和美工们的良好关系还有随叫随到的技术支持。我们大概收到了100页的反馈意见以及150个以上的故障报告和功能需求,而且我们还没算上填写这些需求本身也会降低美工的效率!我们全力以赴尽快去解决问题;有时候不得不一天把工具修复个十多次。

还好没过多久,一切开始稳定了下来,我们能够观察到自己的劳动成果了。我们收到了各种各样的反馈,有的

美工利用撤销系统恢复了他们做了几个小时的内容,还有些家伙非常喜欢能在全新的预览窗口和游戏中实时看到自己所做的改动。最激动人心的是,美工们发现相比旧版的工具,有些东西能让他们能更快地完成凯隐的制作!

在左侧移动凯隐R技能的目标来测试方向元素;右侧是完整技能

凯隐的大招就是一个例子。这个技能可以向任意方向施放,也就是说每个方向的视觉质量都要进行测试。之前,美工们必须加载游戏,选择一个目标,对它使用R技能,移动目标,再次使用技能,不断重复这一过程直到观察完所有的角度。现在有了预览窗口,他们只需要来回移动目标,就可以实时看到任意方向上的效果。

没有鲜血效果的Q依然极具震慑力

还有一个有趣的例子是凯隐Q技能的攻击附带效果。由于不同地区的需求有所不同,我们必须推出两个版本,一个有鲜血效果的和一个没有的。一般来说,视觉效果美工一定要加载游戏才能看到这个效果;现在他们只需要在预览窗口中切换到“审查模式”就可以了。

粒子城就在你身边

“不!!!!不 不 不。”—烬

那么我们有什么收获呢?在繁忙的制作进度中推出如此复杂的一款工具是相当棘手的。但这是我们早就知道的。我们的收获是我们对此变得更加得心应手了。之前我们有过更加艰难的制作历程。这一次做得如此出色是因为我们让此工具能影响到的所有人(美工、开发者以及出品人)都参与到了制作的过程当中。可能我们花在沟通、制定期望以及从其他同事身上学习东西的时间,与我们制作工具所用的时间是差不多的。整个的过程尽管尚未结束,但希望能让我们有信心对美术制作流程持续进行大胆的改动,这样我们可以继续尽自己所能将最棒的内容带到大家面前。

只要我们能让创作视觉效果变得更简单,未来或许可以更自由地对其进行利用!大家怎么看?哪里需要更多闪亮的视觉效果?