Команда Overwatch приветствует вас. Все эти люди принимали участие в создании нового героя – ЭшПрезентация "Рождение героя Overwatch" на BlizzCon 2018 была великолепна. Мало того, что сама тема интересна: разработчики показали стадии создания нового персонажа игры, но к тому же ведущие постарались развлечь аудиторию и подавали материал не так как на соседних конференциях (не будет показывать пальцем), а с огоньком. Я надеюсь, вам тоже будет интересно обо всем этом почитать.
ПродакшнГлавный человек в любом проекте – это продюсер. Продюсер участвует в процессе с самого начала и до самого конца, его задача добиться того, чтобы разработка игры (или героя) все-таки завершилась успешно, несмотря на все препятствия.
Слева: разработка игры, как ее хотел бы видеть продюсер
Справа: разработка игры, как она происходит на самом деле
Продюсер работает с множеством людей, у каждого из которых есть свои блестящие идеи, и пытается заставить команду двигаться хотя бы примерно в одном и том же направлении.
Вы можете подумать, что если речь идет не о целой игре, а всего лишь об одном персонаже, то чтобы его сделать потребуется участие лишь немногих разработчиков. Давайте посмотрим на стадии, из которых состоит продакшн.
Разработка концептаВот с этого мы начинаем. Пять разработчиков, которые берут чью-то идею, после чего:
- придумывают, как будет выглядеть геймплей на новом персонаже
- придумывают как персонаж будет выглядеть
- придумывают в общих чертах его историю
Прототип герояРазработчиков становится больше, это уже примерно 10-15 человек. Они садятся за рабочие столы и делают героя, которого уже можно пощупать на внутреннем тестовом сервере. Процесс включает в себя:
- дизайн
- игровые механики
- звуковое сопровождение
- тестирование
Задача на этом этапе стоит такая: создать вчерне героя, которым было бы прикольно играть. Если фана нет, все переделывается заново.
Основной цикл разработкиКак вы можете заметить, участников становится уже много. В основном цикле разработке принимают участие более сорока человек. Они завершают работу над прототипом и создает такие необходимые для героя вещи как:
- облики
- эмоции
- лучшие моменты
- звуки
История персонажаПодключаются те, кто может представить нового персонажа игрокам: писатели, художники, аниматоры. Они создают:
- короткометражки
- комиксы
- книги
Релиз герояИ наконец, перед вами полная команда: более 150 человек из всех подразделений Blizzard. Они помогают нам довести наконец героя до ждущих игроков. Их задача:
- PTR
- трейлеры
- локализация
- вебсайт
- социальные сети
- взаимодействие с комьюнити
- и очень много всего другого!
Вот так вкратце можно описать продакшн. Вы могли бы подумать, что если речь идет не о разработке целой игры, а всего лишь об одном герое, то его можно сделать быстро. Но на самом деле, чтобы выпустить нового персонажа, требуется приложить невероятное количество усилий и потратить несколько месяцев.
Разумеется, невозможно в рамках одной панели подробно рассказать обо всех этапах процесса разработки. Но кое-что разработчики все же смогли показать.
Разработка способностей персонажаОдна из начальных стадий разработки: понять какие идеи работают, а какие нет. Если пустить в производство негодную идею, потом придется все переделывать и всем будет мучительно больно. Чтобы сделать прототип новой способности на скорую руку, в Blizzard используется специальный движок, который называется Statescript.
Предположим, у нового персонажа нужно сделать такую способность: пока игрок держит кнопку атаки, все враги вокруг получают урон, сам игрок лечится, скорость его передвижения замедляется, и к врагам протягиваются лучи смерти.
Берем любого другого героя, например, Жнеца, и убираем у него все способности и оружие. Теперь в Statescript программируем состояния и их связи: что должно происходить и в какой последовательности.
С первой попытки обычно не получается сделать все как надо, поэтому повторяем все снова и снова, пока не добьемся нужного результата. Допустим, приходит новая идея: чтобы враги не убегали, под воздействием лучей смерти они должны двигаться только крадучись. За несколько минут добавляем в игру и это.
Мы продолжаем экспериментировать снова и снова, пока не находим по-настоящему захватывающие механики.
3D моделированиеЗадача превращения обычного рисунка в 3D модель персонажа Overwatch очень сложна. Это не просто скульптурное моделирование и нанесение текстур, ведь мы делаем не статуэтки, а персонажей игры, которые должны иметь возможность двигаться. И не всегда эти персонажи – люди. Возможно, вам придется придумывать как передвигается гигантский робот, который существует только у вас в голове. Это очень сложно, но и очень захватывающе.
В качестве примера разработчики рассказали, как создавалась модель робота Тарана. Кому-то пришла идея создать робота, который умеет сворачиваться в шар и кататься по полю боя, однако временами он трансформируется в нечто вроде краба и бегает уже на ножках.
Отлично, скажете вы? Но как это сделать, вот вопрос. Для каждой частички модели нам нужно предусмотреть где она находится в форме шара, в форме краба и как она попадает из одного места в другое.
Было решено начать с формы шара, потому что проще взять шар, разломать его на части и составить краба, чем наоборот.
Имелся скетч, созданный художником. Имея его перед глазами, нужно нарисовать уже 3D шар и попытаться разбить его на мелкие части подходящей формы. После этого из этих частей нужно составить вторую форму робота.
Хорошо, получилось составить одно из другого, однако осталось еще много работы. Как двигаются отдельные узлы? Придется рассмотреть множество вариантов, чтобы выбрать из них лучший.
Итак, 3D художник берет простую модель и постепенно усложняет ее, добавляя все новые детали и небольшие анимации. Этот процесс повторяется снова и снова, пока наконец не выходит достойный результат.
Анимация герояСледующий этап создания героя: сделать действительно двигающуюся модель. Здесь как нельзя лучше подойдет пример с куклами на ниточках.
Если вы захотите сделать куклу для театра марионеток, вы начнете с обычной куклы. Потом вам придется определить какие части куклы будут двигаться и в каких местах они будут друг с другом соединены. И наконец, вы добавите ниточки – механизм, который позволит кукольнику движением руки вдохнуть в куклу жизнь.
То же самое проделывается и с героем Overwatch. Все, что есть в начале, – полигональная сетка. Она отлично выглядит, но это все что она пока умеет делать.
Как вы видите, здесь чертова куча точек – вершин. В модели одного лишь героя Overwatch может содержаться от 10 до 40 тысяч вершин. Мы можем вертеть героя как хотим, но его руки не двигаются, ноги не двигаются, это просто скульптурная фигурка.
Теперь нужно создать скелет. Скелет помещается внутри полигональной сетки, и он определяет какие части тела есть у персонажа и как эти части могут перемещаться друг относительно друга.
После того как скелет создан, необходимо привязать каждую вершину сети к той или иной части скелета. Наконец-то части тела героя могут начать двигаться!
И наконец наступает черед оснастки персонажа – механизма, который выполняет роль ниточек у куклы и позволяет аниматору легко делать свою работу. Аниматору уже не придется указывать куда точно должна идти та или иная кость в скелете, когда вы поднимаете руку Лусио. Он может просто двигать руку как ему надо, и все будет работать.
Оснастка персонажа прорабатывается очень тщательно, особенно на его лице. Но когда уже начнется анимация?
ДвижокЧто происходит дальше: нового героя нужно встроить в движок игры. Делается так, чтобы персонаж начал получать урон, мог умирать и так далее.
Теперь персонаж уже в игре и в него наконец можно пострелять. Давайте посмотрим, что произойдет с Лусио, когда он умрет.
Боже мой, что случилось? Мы добавили физику различным частям его тела, но забыли сообщить движку, что эти части не могут отрываться друг от друга. Поэтому у нас был Лусио, а после смерти стал спагетти монстр.
Но вот мы закончили и с этим, теперь Лусио может бегать и умирать правильно.
АнимацияНаконец в дело вступают аниматоры. И начинают они совсем не с программирования.
Аниматоры собираются и генерируют идеи, ищут вдохновение. Они обсуждают как живет этот герой в повседневной своей жизни. Какие у него хобби? Как он ест? Как он танцует? Нужно понимать, кто этот герой, чтобы сделать хорошую анимацию.
В этой части работы помогают любимые комиксы и фильмы, или просто случайные вещи из интернета. Вот, например, материалы по Мэй.
И вот, после обсуждения всего этого начинается работа над двумя вещами – видом от первого лица и видом от третьего лица. Вид от первого лица очень важен, ведь это то что созерцает игрок 90% игрового времени.
Вид от третьего лица предполагает создание узнаваемой ключевой позы персонажа. Эш использует винтовку, поэтому она сравнивается с другими героями, использующими то же оружие – Вдовой и Аной.
И уже самый завершающий период: анимация. Опять тяжелый труд: создается множество вариантов бега, прыжков и так далее, из них выбирается лучший.
ОзвучкаЗвуки, производимые героями в Overwatch, несут три основные функции:
- погружают игрока в мир игры, это относится к звукам стрельбы, бега и так далее
- дают игроку важную информацию о происходящих в игре событиях, как звуки, которые персонаж издает при критическом попадании в него
- добавляют герою узнаваемости и раскрывают его характер
Мы поговорим сейчас именно о последней функции, и в качестве примера возьмем Бастиона.
Бастион в начале процесса разработки назывался Gun Bot.
Это был просто пулемет, который умел передвигаться. С точки зрения аудио все было чрезвычайно просто: записываем несколько механических звуков, добавляем выстрелы и готово.
Все изменилось, когда для героя придумали друга – всем вам известную птичку. Это изменило вообще все: вместо холодной машины-убийцы появилась другая, которая уже хотела заботиться о других и внутри которой обнаружилась чувствительная натура. И вот тут потребовались эмоции.
В начале разработчики пробовали создать их на синтезаторе.
Это было не совсем безнадежно, но звукам недоставало эмоциональной окраски, и процесс шел очень туго. Тогда было решено пойти по другому пути. В самом деле, есть превосходный инструмент для кодирования эмоций – это человеческий голос. Всю свою жизнь мы слушаем голоса людей и можем точно сказать, когда человек злится, когда ему весело или грустно, даже если мы не можем понять слов.
Тогда был записан Крис Метцен, который на самом деле сам является готовым персонажем для любой игры, его попросили изобразить, как бы мог звучать грустный или веселый робот. И проблема была решена: после некоторой обработки, уже через час имелся полный набор звуков для Бастиона.
Оставался Ганимед. Птичке тоже нужны были эмоции, и здесь разработчики тоже вначале пошли по очевидному пути: записали обычных птиц и попробовали составить из этих звуков что-то похожее. И ничего не вышло.
Тогда был записан свист одного из наших аудио инженеров, который очень любит это дело. И – чудо! – все, что оставалось после этого, это увеличить скорость воспроизведения. Такими вы услышали Бастиона и Ганимеда в короткометражке, и непосредственно в игре.
На этом все. Спасибо что были с нами в этом путешествии за кулисы Overwatch!