В геймдеве только и разговоров, что о ремастерах. Уже на протяжении долгого времени мы рассказываем о том, как они создаются, на примере своего опыта с War Robots: о разных аспектах от препродакшна до внешних тестов и нового пайплайна разработки карт. Логично предположить, что изменение в стеке технологий требует совершенствования и внутренних процессов.
Именно на тему организации рабочего процесса внутри команды я и хочу сегодня поговорить: о том, как мы меняли подход к процессам на стыке начала работ над ремастером и уходом на удаленку. И поскольку я сам являюсь 3D-художником окружения, то и речь пойдет преимущественно о том, что происходило в это время с левел-дизайном в нашей компании.
И прежде, чем начать, для простоты понимания введем три термина:
Легаси — оригинальное техническое и визуальное состояние карт;
Рефреш — переходная, частичная переработка карт; в этом случае происходит улучшение их внешнего вида, но они не ставятся на новые рельсы ремастера;
Ремастер — понятие более широкое, чем рефреш, и объединяющее собой все последующие итерации графических и технических изменений.
О процессах
Исторически главным действующим лицом при разработке легаси карт выступал старший 3D-художник окружения, а состав команды в зависимости от ситуации в отделе и приоритета задач мог меняться от одного до двух, а иногда и трех человек. Ниже показан график изменения численности команды с течением времени и помесячной разбивкой работы над каждой новой картой при условии, что в среднем на производство одной легаси карты уходило четыре месяца.
Прежний процесс взаимодействия внутри команды был намного проще, чем он сейчас. Пайплайн был несложным, как и точка входа в продакшен для расширения команды: в любой момент можно было заводить задачи на любого художника в отделе и привлекать его как на локальные таски, требующие быстрого решения, так и на постоянной основе.
К тому моменту, когда технические рельсы ремастера были налажены, возникла необходимость делать новую карту — Abyss. Тогда и стало очевидно, что технические изменения неизбежно тянут за собой и организационные. Производство карты силами одного художника с учетом новых требований увеличилось с 4 месяцев до 6-7. Нам нужен был новый, более осмысленный подход к организации производства и более профессиональная командная работа: нужно было уйти от увеличения сроков разработки в сторону четкого структурирования процессов и их оптимизации.
Одним из ключевых решений было сосредоточить сборку карт в одних руках. Если раньше каждый художник самостоятельно добавлял в проект изменения и потенциально генерировал ошибки, то теперь этот процесс стал «бутылочным горлышком» и фильтром на пути к сборке сцены. Намеренно созданное узкое место взаимодействия между командой, генерирующей ассеты, и лидом, собирающим игровую сцену, помогло снизить количество входящих ошибок и конфликтов в системе контроля версий.
Каждая карта — это большой объем разнородных объектов, имеющих коллизии, лоды, декали и дополнительные маски. Проверить каждую единицу контента при приемке означало бы полностью закупорить и остановить работу со сценой. Поэтому мы решили внедрить в свои процессы регулярную кросс-проверку контента.
Что это такое? Этот процесс предполагает самостоятельную проверку ассетов среди команды и работает на упреждение: так можно предупредить всевозможные косяки, связанные с банально «замылившимся» глазом, от которого не застрахован никто. Корни этого явления исключительно психологические и обусловлены особенностями работы человеческого мозга: продолжительная работа с однотипными объектами и сущностями на длинных дистанциях зашоривает визуальное восприятие и размывает точку фокусировки на деталях.
Организация специального дня для кросс-проверки внутри команды хотя бы раз в две недели создает положительный результат с точки зрения переключения внимания и эмоциональной разгрузки. Такая практика позволяет проводить пассивный анализ работы своих коллег как лиду, так и исполнителям. Кроме того, наряду с процессом поиска ошибок создается прецедент для обмена опытом в вопросах подхода к моделированию, текстурированию и использованию внутреннего инструментария.
Особенно успешные модели и их элементы впоследствии можно переиспользовать — ведь зачем каждому новому исполнителю моделировать уникальную дверь или колесо, если того не требует задача? Наиболее удачный вариант окна или вентиляционных люков можно расшарить на всю команду в виде кит-набора. Надо ли говорить о том, что при интеграции готовых элементов, как правило, они уже застрахованы от локальных ошибок. Так происходит унификация базовых частей моделей, повышается скорость производства.
Большим плюсом в процессе кросс-проверки выступает возможность анализа сильных и слабых сторон коллег: это отличное подспорье при планировании дальнейшей работы, и, как результат, более точного прогнозирования рисков при определении сроков для крупных задач.
Работа в команде и артборд
Вообще говоря, ремастер не был единственным фактором для инициализации изменений. Одномоментно у нас возникла потребность не только в технических изменениях — поменялась общая парадигма в связи с необходимостью перехода команды на удаленку.
Изменились и приоритеты относительно обновления карт. Подготовка ремастера — более сложный в техническом плане процесс, связанный с необходимостью внедрения asset bundles и разделением сцен на качества. Пайплайн не просто усложнился и потребовал изменений — он запустил производственный маховик и цепочку взаимосвязанных неразрывных задач.
Работа по картам разделилась на два потока: ремастер и рефреш легаси карт. Переделать сразу все карты не представлялось возможным, но перевести все на новые шейдеры было жизненно необходимо. Это стало серьезным вызовом для разработчиков: нужен был пересмотр всей производственной цепочки от концепта до технического ревью.
Тут-то мы и подходим к сути. Для команды творческих людей жизненно необходима визуальная коммуникация и обмен опытом, особенно в текущих реалиях удаленной работы. Так, наряду с таск-менеджерами и рефбордами одним из наиболее удачных инструментов микроменеджмента для нас выступил артборд.
В чем отличия с рефбордами? Если рефборд представляет собой многообразие референсных изображений, описывающих основную концепцию и идею, то артборд выступает в качестве инструмента обобщения как реф-борда, так и фактического процесса разработки.
В качестве основного инструмента мы выбрали Miro: с одной стороны, он прост и интуитивно понятен, но в то же время позволяет объединить в одном месте и упорядочить единый командный реф-борд, формализовать и декомпозировать задачи, а также усилить командное взаимодействие.
С помощью таких артбордов каждый исполнитель более активно вовлекается в обсуждение и анализ информации, а общий процесс и нагрузка каждого отдельного члена команды становятся прозрачными для всех. И поскольку это реально удобно, как мне кажется, появление в будущем такой профессии, как board manager, не за горами.
Грамотный микроменеджмент с использованием артбордов эффективен при планировании и усиливает командную работу. Благодаря этому сроки производства ремастер карт увеличились в среднем на один месяц — до пяти в противовес предыдущим прогнозам о 6-7.
Выше показан пример такого артборда. Чтобы было понятнее, ниже приведу схему, из каких блоков он состоит:
Ежедневная командная встреча, неразрывно сопутствующая нашей работе с артбордом, — еще одна важная ступень в организации взаимодействия команды. Такие встречи обычно проводятся следующим образом:
Приветствие и обозначение повестки встречи;
Анализ нового на артборде;
Фиксация проделанной работы;
Объективная оценка рисков и приоритезация задач;
Составление фоллоу-апа и фиксация договоренностей;
Неформальное общение, если остается время.
Возможны разные сценарии проведения таких встреч — например, с ведущим или в порядке живой очереди. Ведущий может быть нужен в тех случаях, когда встречи начинают выходить за рамки обозначенного времени или же развиваются в эмоциональном ключе.
Сама по себе встреча выступает маркером происходящих процессов, помогает оценить загруженность коллег и — в идеале — служит помощником для равномерного и целевого распределения задач, если ее проводит лид. А характер встреч может помочь в отслеживании каких-то внутренних и неочевидных вещей, выступая своеобразным инструментом для психологического анализа. Если баланс неформального общения перевешивает обсуждение ключевых задач — это сигнал к тому, что сотрудники не сильно загружены и чувствуют себя расслабленно. Если на неформальное общение не остается времени, а встреча выходит за рамки одного часа — говорит скорее об обратном. На таких встречах, как правило, нет места для излишних эмоциональных всплесков. Если такие ситуации возникают в принципе, то это повод для поиска конфликтов внутри команды и фундаментального анализа происходящих процессов. Нередко это повод и для пересмотра приоритетов, сроков и оптимизации решений.
По итогу мы имеем следующую схему взаимодействия:
Артборд и единое пространство для коммуникации команды;
Ежедневная командная встреча и анализ артборда, шаринг ресурсов;
Фундаментальный анализ микроклимата внутри команды и встречи 1-на-1;
Кросс-проверка и внутрикомандный обмен опытом и инструментарием;
Приемка работы по результатам кросс-проверки.
Важно отметить, что описанные процессы вовсе не исключают, но дополняют привычные модели управления и взаимодействия с менеджерами проекта — для этого есть все необходимые инструменты интеграции, будь то Jira или Slack.
Для сравнения приведу схемы наших прежнего легаси и текущего ремастер-пайплайнов:
В первом случае спектр задач был намного проще, и нам хватало внешнего менеджмента и еженедельных встреч.
В случае с ремастером возник постоянный процесс внутрикомандного микроменеджмента, ядром которого стал артборд. Внешний контроль сократился до фиксирования статуса от команды разработки с шагом в две недели.
Обе схемы обусловлены единой точкой старта рабочего процесса — наличием прототипа сцены.
Как правило, он представляет собой эскизную collision-модель уровня, дающую понимание о характере рельефа, ключевых игровых точках (маяках), укрытиях и основных объектах. Такая модель создается отделом левел-дизайна, а итоговый результат выступает в качестве основы для заказа работ по производству новой игровой локации. В случае с переделкой старых карт в качестве прототипа сцены целиком выступает легаси карта.
Дальнейшие шаги предполагают создание атмосферных концептов и эскизов. В новой системе для производства ремастер карт появилась необходимость более детально и подробно прорабатывать концептуальную часть. В прежней же системе все текстурное многообразие сводилось к компоновке общего текстурного атласа и давало пространство для маневра, но качество текстур было хуже.
Новая система базируется на текстурных массивах, включающих в себя тримы и тайлы с привязкой к текселю:
Тримы — это бесшовные текстуры в одной оси координат;
Тайлы — текстуры, не имеющие швов во всех направлениях.
С одной стороны, благодаря этому возрастает визуальное качество, с другой — появляются ограничения по количеству используемых текстур. В этой ситуации уместно оперировать ограниченной цветовой палитрой еще при создании концептуальных решений. Я не буду углубляться в технические особенности, о которых уже писали ранее, — только отмечу, что такая привязка к палитре упрощает дальнейшую работу и сокращает сроки производства. Подготовка итогового набора текстур может и должна начинаться на упреждение.
Идеально, когда задачи на производство чистовых моделей для уровня основываются на готовой палитре текстур. В среднем две разных тайловых текстуры нуждаются в одной универсальной трим-текстуре. При проектировании таких текстур мы исходим из утверждения, что все, что имеет произвольную длину, а по высоте больше 3-4 метров, является тайлом. Чем раньше и точнее определена эта палитра, тем меньше поводов для корректировки моделей в процессе. Важно разобраться в этих вопросах еще на стадиях подготовки концепта.
Таким образом, работа над концептом уровня перестала быть обособленным подготовительным этапом разработки и теперь работает на упреждение, но с активным участием команды. Концепт стал опираться на технические и художественные ограничения, а итоговые модели стали ближе к концептам.
На примерах выше заметна разница в художественной ценности, важности концепта и его детальной проработке:
Общий атмосферный концепт отлично передает основную идею и настроение карты;
Второй пример показывает более глубокий подход в виде уточняющих концептов, которые несут в себе фактическое техническое задание для исполнителя. При таком подходе уже не возникает вопросов, где использовать бетон, а где — металл, нет необходимости тратить время на анализ входящей информации — художник может сосредоточиться на более важных технических моментах.
Смещение точки принятия решений с процесса производства на подготовительный этап позволило нам лучше структурировать работу и открыть возможность для привлечения аутсорса. При разработке легаси карт это было сделать сложнее: внезапная необходимость изменений в процессе продакшена обходилась намного дороже, а острой необходимости что-либо делегировать просто не было.
Новый пайплайн предполагает наличие базиса в виде текстурной палитры и текселя, что создает возможность независимого оперирования палитрой и геометрией. Как следствие, в любой момент времени можно вносить изменения в текстуры, не блокируя и не производя доработок со стороны геометрии. Сама геометрия при этом довольно просто и быстро текстурируется тримами и тайлами, допуская пересечения разверток (overlap). Исключение составляет канал для использования дополнительных масок и освещения.
Более точные и жесткие требования к моделям создают возможность для формирования более четкого технического задания. При очевидном усложнении технической части одновременно возникает и окно возможностей для распределения задач как внутри команды, так и делегирования их аутсорсу.
Чек-листы и гайды
Краеугольным камнем в реализации новых процессов всегда становится техническая документация. Без простой и понятной базы знаний сильно осложняется процесс масштабирования команды и делегирования задач. В данный момент у нас на проекте есть вся необходимая база технических знаний, однако идет планомерная работа по созданию гайдов и чек-листов.
На мой взгляд, как бы подробно и хорошо не была написана документация, как правило, она представляет собой «хрестоматийный труд». Это не плохо — но даже если такой документ имеет безупречную структуру, часто он лишен необходимой мобильности.
Что касается темы этого блока, она во многом завязана на описанные ранее процессы. Если говорить о чек-листах, то это очень важная часть кросс-проверки. Этот механизм должен быть прост в оперировании и наиболее удобен для применения на практике в сжатом виде. Более того, наиболее полезным будет чек-лист, выработанный во времени. Следует ориентировать его на наиболее часто возникающие ошибки и слабые места внутри команды.
В отличие от проектной документации и чек-листов, гайды носят иной характер: я бы позиционировал их как отдельную сущность, являющуюся необходимым дополнением.
Основная задача гайдов — шаринг успешных и рациональных кейсов, предлагающих оптимальные пути решения задач внутри проектного инструментария. Хорошо, когда эта информация есть под рукой. Еще лучше, когда она подкреплена визуальным рядом. А если текст и иллюстрации разбавлены аудиофайлами — это высший пилотаж. Ставка тут, опять же, на доступность информации и задействование разных каналов восприятия. Но мы и сами на данный момент работаем над этим. Здесь же я просто делюсь своим опытом, который постоянно меняется и развивается.
Заключение
Жизнь не статична и постоянно меняется, как и все вокруг. Изменения неизбежны в работе, целях и привычных шаблонах. Проект War Robots не является исключением — и, как живой организм, реагирует на внешние вызовы.
Чуть больше года назад разработка карт была довольно планомерным и спокойным процессом, не требующим к себе повышенного внимания. Но однажды проекту необходимо было повзрослеть и перестроиться вслед за всей остальной индустрией.
Изменились и условия функционирования всей команды. Не без участия новых руководителей команда справилась и адаптировалась к новым условиям дистанционной работы и выстроила процессы. Пускай на данном этапе они не идеальны, но это определенная точка роста и вектор движения вперед.