1/3
2/3
3/3
为<守望先锋>的工具与引擎工作是怎样的体验?
制仗申精兵
2020年08月01日 23:14

这是一篇由暴雪娱乐官方于2020年7月20日发布在官网新闻区上的一篇文章,它并没有发布在《守望先锋》官方网站([https://playoverwatch.com/])上。 由于牵涉《守望先锋2》的内容且有招聘新工程师的作用,这篇文章看来是不会被网易暴雪翻译了,因此我便来翻译了。 值得注意的是,这是第一篇透露《守望先锋》地图编辑器名称与界面样貌的文章,而这一信息在此前从未被团队透露过。 原文地址:[https://news.blizzard.com/en-us/overwatch/23453344/what-it-s-like-to-work-on-overwatch-s-tools-and-engine]

The world needs heroes now more than ever, it seems. And digital heroes need quite a lot to exist: dramatic motivations, iconic aesthetics, deep designs. But they need code in far greater quantities. Over 2.7 million lines of evolving code power the tools that support Overwatch today. 看来,现在的世界比以往任何时候都更需要英雄。而数字世界的虚拟英雄则需要依附大量资源来存在着:戏剧性的动机,标志性的美术,深刻的设计。但是他们更需要的则是大量的代码。正是这超过270万行且不断演进着的代码为今日支持着《守望先锋》的工具注入了动力。 The Architechs on Overwatch’s engine and tools teams are the keepers of that legacy, and there’s no game without their work. 《守望先锋》的引擎与工具团队中的缔造者们正是这种传承的存续者,而没有他们的工作,什么游戏都是做不出来的。

The Engine Team 引擎团队 Overwatch’s engine team builds the technical infrastructure of the game’s many systems, among them graphics, visual effects, gameplay physics, and audio—the “building blocks” that enable development. Lead Software Engineer Phil Teschner, who worked on the Halo series and Kingdoms of Amalur: Reckoning before joining Blizzard, is the engine team’s chief block wrangler. 《守望先锋》的引擎团队为游戏的许多系统建立了技术基础建设,其中包括图形,视觉效果,游戏物理效果和音频——这些是实现开发的“基石”。首席软件工程师Phil Teschner是引擎团队的掌舵人,他在加入暴雪之前曾为《光环》系列和《阿玛拉王国:惩罚》工作过。 Teschner racked up what he says were “way too many hours” in his journey to play every single Blizzard title before his background in multi-platform and graphics development led him to accept a job here in 2012, working on a new MMO with the codename “Project Titan.” Though Titan was ultimately cancelled, he’s since helped recombine some of its building blocks to ensure that its DNA lives on in Overwatch. Teschner声称他曾耗去了“太多太多的时间”来游玩每一款暴雪游戏,之后他在多平台和图形开发方面的背景使他在2012年接下了这处职位,并为代号为“泰坦计划”的全新多人在线游戏工作。尽管“泰坦”最终被取消了,但他后来协助重组了它的一些组成部分,以确保其DNA能够继续存留于《守望先锋》之中。 Phil and the rest of the engine team enable Overwatch to run on different platforms (like PC, PlayStation 4, Xbox One, and Nintendo Switch) at the best framerate possible. Their work on the code complexities of each piece of hardware lets other Overwatch engineers focus more on development of game features than the engineering implications of various platforms. Like nearly all work on the Overwatch team, this is a thoroughly collaborative effort; Phil notes he “can’t think of any problem where we don’t get together as a group and try to find the way forward.” Phil和引擎团队的其余成员使《守望先锋》能够以可能达到的最佳帧率在不同平台(例如PC,PlayStation 4,Xbox One和任天堂Switch)上运行。而他们在每种硬件的代码复杂性方面的工作使得其他《守望先锋》工程师能够更加专注于游戏特色的开发而不会被迫连带着考虑在不同平台的工程问题。就像《守望先锋》团队的几乎所有工作一样,这是一次非常全面的协作。Phil指出“如果我们不团结在一起努力寻找前进的方向,自己就不会想到任何问题。” Another of the engine team’s responsibilities is tracking and improving performance statistics, memory consumption, patch sizes, and load times, not only for their own sake but also to make room for new features. For example, artists who want to make characters’ skin more realistic, or add new ways to simulate the movement of clothes, work with the engine team to alter those fundamental building blocks without needing to rearchitect the game from the ground up. 引擎团队的另一项职责是追踪和改善性能统计信息,内存消耗,补丁大小和加载时间,这不仅是为了他们自己,更是为了给新特色腾出空间。例如,那些想要使角色的皮肤更加逼真的美术师,或者是想添加新的方法来模拟衣服运动的美术师,都可以与引擎团队合作来改变那些基本的构建块,而无需从头开始重新构建游戏结构。 Of course, new building blocks still need to be presented to designers, artists and other engineers on the Overwatch team in a usable and efficient way to produce a playable and fun game. That’s where development tools come in. 当然,仍然需要以一种可用且有效的方式向《守望先锋》团队的设计师,美术师和其他工程师展示新的构建块,以制作出可玩且有趣的游戏。那这便是开发工具的用武之地。 The Tools Team 工具团队 The charge of the Overwatch tools team is “TED,” the game’s editor, a visual interface where artists, designers, and other engineers can arrange and fine-tune those engine building blocks: crafting levels, writing scripts for heroes, adjusting cooldowns, creating the animations and sounds that bring those things to life, and linking it all together. They work with two questions in mind: 《守望先锋》工具团队的职责是“ TED”,也就是这款游戏的编辑器,它是一个可视化界面,美术师,设计师和其他工程师可以在其中安排和微调这些引擎构建块:制作关卡,为英雄编写脚本,调整冷却时间,创建使这些事物栩栩如生并将它们链接在一起的动画和声音。他们在工作时考虑着两个问题: 1. Where are other members of the team spending most of their time making the game? 1.团队中的其他成员大部分时间都花在哪里? 2. Can we make that easier and more enjoyable? 2.我们可以使它变得更易行,更有趣吗? Lead Software Engineer Rowan Hamilton, who worked on the Killzone series (and, like Phil, Project Titan prior to Overwatch), made his first game in college. He describes it as “a Diablo clone” and, not coincidentally, blames at least one failed exam on the time he spent playing both Diablo and StarCraft. 曾负责过《杀戮地带》系列游戏(和Phil一样,在《守望先锋》之前是“泰坦计划”)的首席软件工程师Rowan Hamilton曾在大学制作出了他的第一款游戏。他将其描述为“一款《暗黑破坏神》的模仿品”,而且毫不意外的是他至少将一次挂科归咎于自己沉迷于《暗黑破坏神》和《星际争霸》。 Rowan’s guiding principle for the tools team is fitting and succinct: anybody making changes to Overwatch’s gameplay should be able to play through their changes, quickly and often. “The more you enjoy making your game,” Hamilton says, “the better a game you’re likely to make.” Rowan对工具团队的指导原则是恰当而简洁的:任何对《守望先锋》的游戏玩法进行更改的人都应该能够快速、经常地进行更改。Hamilton说:“越喜欢制作自己的游戏,就越可能制作出更好的游戏。” To that end, TED is tailored to the experiences of the developers making Overwatch, built on the lessons the team’s learned over the years. It includes unique processes for modifying content as specific as hero selection or Play of the Game generation, along with representations of Overwatch-specific concepts like skins and team colors. 为此,TED是根据开发人员制作《守望先锋》的经验量身定制的,它的基础是团队多年来的所获的教训。它包括用于修改例如英雄选择或全场最佳的生成等内容的独特进程,以及《守望先锋》特有设计(例如皮肤和团队颜色)的表示。 But TED’s not just for making Overwatch as we know it today; it’s also flexible enough to support creative experimentation around Overwatch’s tomorrows. “Whatever [developers] try,” Hamilton says, “they know we won’t let them break the game, and it’s easy for them to undo work, go back, and take a different approach.” TED’s visualization helps developers see how Overwatch’s 3 million assets and terabytes of source data fit together, enabling them to quickly pull from existing Overwatch components to riff on something familiar… or prototype completely new ideas. 但是TED不仅要制作我们今天所知的《守望先锋》,它也足够灵活到支持有关《守望先锋》未来面貌的创造性实验。Hamilton说:“无论(开发人员们)如何尝试,他们都知道我们不会让他们把游戏弄坏,而且他们很容易撤消,返回并采用其他的不同方法。” TED的可视化功能能帮助开发人员了解《守望先锋》的300万资料和数TB的源数据是如何组合在一起的,从而使他们能够快速地从《守望先锋》的现有组件中提取东西来复现已有的熟悉内容……或为全新的想法制作出原型。

Explosive Horizons 爆炸性的视界 Work on the features that make Overwatch possible isn’t just a process of refining and updating. New tests abound every day, some of them daunting in scope. Development tools and the engine need to support new advances in hardware for Overwatch, and fresh gameplay experiences in Overwatch 2. 开发使《守望先锋》成为可能的功能不仅仅是完善和更新的进程。每天都会产生很多新的测试,而其中一些测试令人生畏。开发工具和引擎需要为《守望先锋》支持硬件上的新进展,以及《守望先锋2》中全新的游戏体验。 At BlizzCon 2019, the team showcased the first playable build of an Overwatch 2 map—Rio—shared widely outside of Blizzard. But, before Rio appeared on the BlizzCon floor, Phil Teschner and the engine team found themselves at the vanguard of a deceptively straightforward-sounding challenge: the designers wanted to blow up a ship. 在2019年的暴雪嘉年华上,团队展示了《守望先锋2》地图的第一个可游玩版本——里约——并在暴雪之外广为流传。但是,在里约出现在暴雪嘉年华的舞台上前,Phil Teschner和引擎团队发现自己需要带头迎接一个看似直截了当的挑战:设计师需要炸毁一艘船。 This wouldn’t be a tiny setpiece explosion in the sky, but the inside-out destruction of a massive omnic command carrier with Overwatch agents fighting and fires erupting in its belly. Pushing the engine even further, lighting would change throughout the map as the ship’s reactor went critical. 这不是那种事先预定好的微小的空中爆炸,而是一艘大型智械指挥运输舰从内至外的彻底破坏,守望先锋特工在其中战斗,而战火在其腹部爆发。进一步推进引擎的性能,随着舰船反应堆愈来愈不稳定,游戏光照还将在整个地图上发生变化。 When parts of a level detonate, we expect the way they’re lit to change. In the real world, lighting changes happen over time as visibility shifts and our eyes adjust. The impact of those changes is more apparent closer to light sources, and less evident further away, and a change to lighting in one room can affect lighting in a nearby room. 当关卡的各部分引爆时,我们希望它们的光照方式会发生变化。在现实世界中,光照会随着时间的推移发生变化,因为能见度会发生变化而且我们的眼睛会相应调整。这些变化的影响在靠近光源时更明显,而在较远的地方则不那么明显,并且一个空间的光照发生变化还会影响附近空间的光照。

“Dynamic” real-time lighting like this can be performance-intensive, and transforming lighting across an entire map especially so. Overwatch is built to be played on a variety of systems, so the engine team had to come up with a solution that could enable a big event without hurting the game’s performance. 这样的“动态”实时光照可能会极度耗费性能,在整个地图上改变光照效果时尤为如此。《守望先锋》被设计成可以在各种系统上进行,因此引擎团队必须想出一种解决方案,该解决方案可以在不影响游戏性能的情况下实现一次大型事件的发生。

First, they isolated those dynamic lighting changes to specific parts of the Rio map. Lighting artists placed small probes throughout the in-progress level to identify surfaces that should be “significantly” affected by lighting changes (like a structure fire). Then, the engineers wrote a script to enable dynamic illumination on just those affected surfaces when the ship started exploding, and deactivate it after the event was over. 首先,他们将那些动态光照的更改分立放置到了里约地图的特定部分。光照美术师在整个关卡流程中放置了小型探针,以识别应当受光照变化(例如建筑物火灾)“显着”影响的表面。然后,工程师编写了一个脚本以在舰船开始爆炸时在那些受影响的表面上启用动态光照,并在事件结束后将其停用。 Overwatch 2’s PvE (Player vs. Environment) maps are larger and more complex than Overwatch maps like Retribution and Storm Rising. That doesn’t just mean more distance to cover, but also longer missions involving more kinds of foes and more elaborate encounters. Adding enemy types leads to complex ability interactions between enemies and heroesbut also between the enemies themselves, like short-range and long-range units that coordinate their attacks. 《守望先锋2》的PvE(玩家vs环境)地图比《守望先锋》的《威尼斯行动》和《哈瓦那行动》等地图更大,更复杂。那不仅意味着涵盖距离更广,而且还需要更长的任务,涉及更多种类的敌人和更多复杂的遭遇。添加敌人类型不但会引发敌人和英雄之间复杂的技能交互,而且还包括各种敌人自身间的交互,比如近距离单位会和远距离单位在进攻时展开协同。 Designers working in Overwatch’s development tools need a way to visualize a multi-wave encounter that takes place over several minutes. To craft something exciting, they need to be able to preview where an enemy will spawn, and how it will path (move through the level) before an enterprising Overwatch agent takes it out of commission. And, of course, that added complexity needs to carefully manage its impact on the game’s performance. 使用《守望先锋》开发工具工作的设计师需要一种方法来可视化几分钟内发生的多波遭遇。为了制作出令人兴奋的东西,他们需要能够在进取的守望先锋特工将其在任务中打到之前,预览敌人将在何处生成,以及他们将如何行进(即整个关卡中的移动)。而且当然,所增加的复杂性需要仔细管理它对游戏性能的影响。 It’s not a challenge the tools team has completely solved yet, but it’s exactly the kind of problem they assembled to tackle. 工具团队还没有完全解决这一挑战,但这恰恰是分配给他们去解决的那种问题。 How They Work 他们是如何工作的 Tools and engine developers collaborate with other members of the Overwatch team to bring new gameplay elements to life. Crafting any major feature, like the addition of new unit-spawning techniques, starts with a kickoff meeting between gameplay engineering and the designers working on Overwatch’s levels, heroes and abilities to understand both what they’re trying to achieve and how to achieve it. Throughout, the tools team aims to find aspects of those gameplay elements that are painful to build, and prototype until they can make it “trivially easy” to build dozens or hundreds. 工具和引擎开发人员与《守望先锋》团队的其他成员协作以让新的游戏元素成为现实。制作任何主要功能(如添加新的单位生成技术),都始于游戏工程与负责《守望先锋》中关卡,英雄和能力的设计师之间的启动会议,以了解他们想要达到的目标以及如何实现。在整个过程中,工具团队的目标是发现那些难以构建的游戏元素,并进行原型设计,直到可以“相当轻松”地构建数十个或数百个。 Changes to existing features can have huge ramifications, too. When the design team set out to rework Symmetra’s ultimate ability, swapping Teleporter for the present-day Photon Barrier, they knew the projected barrier would need to extend through the entire level to feel like it was powerfully impacting gameplay. Members of the engine team and effects artists worked together to fine-tune the barrier’s look and behavior without introducing unsightly visual problems or performance issues. 对现有功能的更改也会产生巨大的影响。当设计团队着手重新设计秩序之光的终极技能时,将传送面板换成如今的光子屏障,他们知道这种投射出的屏障将需要延伸到整个地图,以至于感觉到它在极大地影响游戏玩法。引擎团队的成员和特效美术师共同努力,既没有引出视觉上的不美观问题也没有造成性能问题,很好地调整了屏障的外观与行为特性。 The engine team even helps artists and designers refine and enable “crazy ideas” like cloning a hero as an ultimate. They figure out how to make the seemingly impossible possible while working within the constraints of every supported platform, such as defining Echo’s Duplicate ability so that cloned heroes who are eliminated can’t select a new hero (which would require the game to load a 13th). 引擎团队甚至帮助美术师和设计师完善和实现“疯狂的想法”,例如将英雄复制设计为终极技能。他们弄清楚了如何在每个受支持的平台的约束下工作,使看似不可能的事情成为可能,例如为回声的人格复制定稿,以使被击杀的被复制英雄无法选择新英雄(因为这将要求游戏加载第13名英雄)。 At the time of writing, the tools and engine teams, like many of us, are working from home—and finding that, despite the distance from their co-workers, they’re closer in some ways. They’re getting together multiple times a week to blow off steam in development playtests, chatting enthusiastically about everything that’s changed or been added since the week before, and using those discussions to refine what they’re doing next. 在撰写本文时,与我们许多人一样,工具和引擎团队也在家里工作,并且发现,尽管与同事们距离很远,但他们在某些方面却更加接近。他们每周会聚在一起,在开发游戏测试中热情无比,激情地谈论自上周以来已更改或添加的所有内容,并利用这些讨论来完善下一步的工作。 Phil and Rowan have familiar lists of reasons to like the work they do. Their co-workers are talented and enthusiastic. Everyone on the team has input into significant decisions. They get to contribute to a game that they enjoy playing and building. Phil和Rowan喜欢自己工作的理由是相似的。他们的同事都很有才华和热情。团队中的每个人都参与了重大决策。他们可以为自己喜欢游玩和构建的游戏做出贡献。 But both agree that there’s something particularly special about Overwatch. 但双方都同意,《守望先锋》是有一些专属的特别之处的。 Teschner chalks it up to Overwatch’s players. “I’ve worked on a ton of different games, and the way the fan community has responded to the world of Overwatch has been a highlight of my career. The excitement around the game, the fan art we receive, seeing cosplay of our characters—they’ve all been totally new experiences for me.&#34; Teschner将其归因于《守望先锋》的玩家。 “我曾为许多不同的游戏工作过,而粉丝社区对《守望先锋》世界的回应方式是我职业生涯的一大亮点。 对于游戏的激动,我们收到的饭制艺术品,看到自家角色的cosplay——对我来说,这些都是全新的体验。” For Hamilton, who came to Irvine, CA from the Netherlands 7 years ago, the team has become like a family. “I moved across the world to work on this game,” he says. “You develop really close bonds when you’re working on a single product with a close-knit group for that long.” 而对于7年前从荷兰来到加利福尼亚州尔湾市的Hamilton来说,团队则已经变得像一个家庭。 他说:“我横跨世界来这款游戏工作。” “当与一个紧密联系的团队长期从事单个产品的开发时,你是会建立起非常紧密的联系的。” “I can’t imagine doing anything else with my time.” “我无法想象我会用我的时间去做别的事情。” The Overwatch team is looking for smart, driven engineers to join the team. [Check the career page for more details!] 守望先锋团队正在寻找聪明有干劲的工程师加入团队。查看职位页面以获取更多详细信息! https://careers.blizzard.com/global/en?blzcmp=blizzard-news 

TiberiumVinifera 是本文的译者,原载于艾泽拉斯国家地理 守望先锋专区。感谢他的怒力。