Слон в посудной лавке, или как сохранить сроки производства в эпоху перемен

image-loader.svg

В геймдеве только и разговоров, что о ремастерах. Уже на протяжении долгого времени мы рассказываем о том, как они создаются, на примере своего опыта с War Robots: о разных аспектах от препродакшна до внешних тестов и нового пайплайна разработки карт. Логично предположить, что изменение в стеке технологий требует совершенствования и внутренних процессов. 

Именно на тему организации рабочего процесса внутри команды я и хочу сегодня поговорить: о том, как мы меняли подход к процессам на стыке начала работ над ремастером и уходом на удаленку. И поскольку я сам являюсь 3D-художником окружения, то и речь пойдет преимущественно о том, что происходило в это время с левел-дизайном в нашей компании.

И прежде, чем начать, для простоты понимания введем три термина:

  • Легаси — оригинальное техническое и визуальное состояние карт;

  • Рефреш — переходная, частичная переработка карт; в этом случае происходит улучшение их внешнего вида, но они не ставятся на новые рельсы ремастера;

  • Ремастер — понятие более широкое, чем рефреш, и объединяющее собой все последующие итерации графических и технических изменений.

Городская зона на карте Springfield в легаси качествеГородская зона на карте Springfield в легаси качествеГородская зона на карте Springfield, работа над ремастеромГородская зона на карте Springfield, работа над ремастером

О процессах

Исторически главным действующим лицом при разработке легаси карт выступал старший 3D-художник окружения, а состав команды в зависимости от ситуации в отделе и приоритета задач мог меняться от одного до двух, а иногда и трех человек. Ниже показан график изменения численности команды с течением времени и помесячной разбивкой работы над каждой новой картой при условии, что в среднем на производство одной легаси карты уходило четыре месяца.

image-loader.svg

Прежний процесс взаимодействия внутри команды был намного проще, чем он сейчас. Пайплайн был несложным, как и точка входа в продакшен для расширения команды: в любой момент можно было заводить задачи на любого художника в отделе и привлекать его как на локальные таски, требующие быстрого решения, так и на постоянной основе.

К тому моменту, когда технические рельсы ремастера были налажены, возникла необходимость делать новую карту — Abyss. Тогда и стало очевидно, что технические изменения неизбежно тянут за собой и организационные. Производство карты силами одного художника с учетом новых требований увеличилось с 4 месяцев до 6–7. Нам нужен был новый, более осмысленный подход к организации производства и более профессиональная командная работа: нужно было уйти от увеличения сроков разработки в сторону четкого структурирования процессов и их оптимизации. 

Одним из ключевых решений было сосредоточить сборку карт в одних руках. Если раньше каждый художник самостоятельно добавлял в проект изменения и потенциально генерировал ошибки, то теперь этот процесс стал «бутылочным горлышком» и фильтром на пути к сборке сцены. Намеренно созданное узкое место взаимодействия между командой, генерирующей ассеты, и лидом, собирающим игровую сцену, помогло снизить количество входящих ошибок и конфликтов в системе контроля версий. 

Каждая карта — это большой объем разнородных объектов, имеющих коллизии, лоды, декали и дополнительные маски. Проверить каждую единицу контента при приемке означало бы полностью закупорить и остановить работу со сценой. Поэтому мы решили внедрить в свои процессы регулярную кросс-проверку контента.

Что это такое? Этот процесс предполагает самостоятельную проверку ассетов среди команды и работает на упреждение: так можно предупредить всевозможные косяки, связанные с банально «замылившимся» глазом, от которого не застрахован никто. Корни этого явления исключительно психологические и обусловлены особенностями работы человеческого мозга: продолжительная работа с однотипными объектами и сущностями на длинных дистанциях зашоривает визуальное восприятие и размывает точку фокусировки на деталях. 

Организация специального дня для кросс-проверки внутри команды хотя бы раз в две недели создает положительный результат с точки зрения переключения внимания и эмоциональной разгрузки. Такая практика позволяет проводить пассивный анализ работы своих коллег как лиду, так и исполнителям. Кроме того, наряду с процессом поиска ошибок создается прецедент для обмена опытом в вопросах подхода к моделированию, текстурированию и использованию внутреннего инструментария. 

Особенно успешные модели и их элементы впоследствии можно переиспользовать — ведь зачем каждому новому исполнителю моделировать уникальную дверь или колесо, если того не требует задача? Наиболее удачный вариант окна или вентиляционных люков можно расшарить на всю команду в виде кит-набора. Надо ли говорить о том, что при интеграции готовых элементов, как правило, они уже застрахованы от локальных ошибок. Так происходит унификация базовых частей моделей, повышается скорость производства.

Использование объектов из кит-набораИспользование объектов из кит-набораМногообразие элементов кит-набораМногообразие элементов кит-набораИспользуемое текстурное пространство для кит-набораИспользуемое текстурное пространство для кит-набора

Большим плюсом в процессе кросс-проверки выступает возможность анализа сильных и слабых сторон коллег: это отличное подспорье при планировании дальнейшей работы, и, как результат, более точного прогнозирования рисков при определении сроков для крупных задач.

Работа в команде и артборд

Вообще говоря, ремастер не был единственным фактором для инициализации изменений. Одномоментно у нас возникла потребность не только в технических изменениях — поменялась общая парадигма в связи с необходимостью перехода команды на удаленку.   

Изменились и приоритеты относительно обновления карт. Подготовка ремастера — более сложный в техническом плане процесс, связанный с необходимостью внедрения asset bundles и разделением сцен на качества. Пайплайн не просто усложнился и потребовал изменений — он запустил производственный маховик и цепочку взаимосвязанных неразрывных задач. 

Работа по картам разделилась на два потока: ремастер и рефреш легаси карт. Переделать сразу все карты не представлялось возможным, но перевести все на новые шейдеры было жизненно необходимо. Это стало серьезным вызовом для разработчиков: нужен был пересмотр всей производственной цепочки от концепта до технического ревью.

Тут-то мы и подходим к сути. Для команды творческих людей жизненно необходима визуальная коммуникация и обмен опытом, особенно в текущих реалиях  удаленной работы. Так, наряду с таск-менеджерами и рефбордами одним из наиболее удачных инструментов микроменеджмента для нас выступил артборд

В чем отличия с рефбордами? Если рефборд представляет собой многообразие референсных изображений, описывающих основную концепцию и идею, то артборд выступает в качестве инструмента обобщения как реф-борда, так и фактического процесса разработки.

В качестве основного инструмента мы выбрали Miro: с одной стороны, он прост и интуитивно понятен, но в то же время позволяет объединить в одном месте и упорядочить единый командный реф-борд, формализовать и декомпозировать задачи, а также усилить командное взаимодействие. 

Рефборд. Пространство идей и концептуальных решенийРефборд. Пространство идей и концептуальных решенийАртборд. Пространство микроменеджмента командыАртборд. Пространство микроменеджмента команды

С помощью таких артбордов каждый исполнитель более активно вовлекается в обсуждение и анализ информации, а общий процесс и нагрузка каждого отдельного члена команды становятся прозрачными для всех. И поскольку это реально удобно, как мне кажется, появление в будущем такой профессии, как board manager, не за горами. 

Грамотный микроменеджмент с использованием артбордов эффективен при планировании и усиливает командную работу. Благодаря этому сроки производства ремастер карт увеличились в среднем на один месяц — до пяти в противовес предыдущим прогнозам о 6–7.

Выше показан пример такого артборда. Чтобы было понятнее, ниже приведу схему, из каких блоков он состоит:

image-loader.svg

Ежедневная командная встреча, неразрывно сопутствующая нашей работе с артбордом, — еще одна важная ступень в организации взаимодействия команды. Такие встречи обычно проводятся следующим образом:  

  • Приветствие и обозначение повестки встречи;

  • Анализ нового на артборде;

  • Фиксация проделанной работы;

  • Объективная оценка рисков и приоритезация задач;

  • Составление фоллоу-апа и фиксация договоренностей;

  • Неформальное общение, если остается время.

Возможны разные сценарии проведения таких встреч — например, с ведущим или в порядке живой очереди. Ведущий может быть нужен в тех случаях, когда встречи начинают выходить за рамки обозначенного времени или же развиваются в эмоциональном ключе.

Сама по себе встреча выступает маркером происходящих процессов, помогает оценить загруженность коллег и — в идеале — служит помощником для равномерного и целевого распределения задач, если ее проводит лид. А характер встреч может помочь в отслеживании каких-то внутренних и неочевидных вещей, выступая своеобразным инструментом для психологического анализа. Если баланс неформального общения перевешивает обсуждение ключевых задач — это сигнал к тому, что сотрудники не сильно загружены и чувствуют себя расслабленно. Если на неформальное общение не остается времени, а встреча выходит за рамки одного часа — говорит скорее об обратном. На таких встречах, как правило, нет места для излишних эмоциональных всплесков. Если такие ситуации возникают в принципе, то это повод для поиска конфликтов внутри команды и фундаментального анализа происходящих процессов. Нередко это повод и для пересмотра приоритетов, сроков и оптимизации решений.

По итогу мы имеем следующую схему взаимодействия:

  • Артборд и единое пространство для коммуникации команды;

  • Ежедневная командная встреча и анализ артборда, шаринг ресурсов;

  • Фундаментальный анализ микроклимата внутри команды и встречи 1-на-1;

  • Кросс-проверка и внутрикомандный обмен опытом и инструментарием;

  • Приемка работы по результатам кросс-проверки.

Важно отметить, что описанные процессы вовсе не исключают, но дополняют привычные модели управления и взаимодействия с менеджерами проекта — для этого есть все необходимые инструменты интеграции, будь то Jira или Slack.

Для сравнения приведу схемы наших прежнего легаси и текущего ремастер-пайплайнов:

image-loader.svg

  • В случае с ремастером возник постоянный процесс внутрикомандного микроменеджмента, ядром которого стал артборд. Внешний контроль сократился до фиксирования статуса от команды разработки с шагом в две недели.

image-loader.svg

Обе схемы обусловлены единой точкой старта рабочего процесса — наличием прототипа сцены

Прототип сцены Springfield на базе черновой геометрииПрототип сцены Springfield на базе черновой геометрии

Как правило, он представляет собой эскизную collision-модель уровня, дающую понимание о характере рельефа, ключевых игровых точках (маяках), укрытиях и основных объектах. Такая модель создается отделом левел-дизайна, а итоговый результат выступает в качестве основы для заказа работ по производству новой игровой локации. В случае с переделкой старых карт в качестве прототипа сцены целиком выступает легаси карта.

Дальнейшие шаги предполагают создание атмосферных концептов и эскизов. В новой системе для производства ремастер карт появилась необходимость более детально и подробно прорабатывать концептуальную часть. В прежней же системе все текстурное многообразие сводилось к компоновке общего текстурного атласа и давало пространство для маневра, но качество текстур было хуже. 

image-loader.svg

Новая система базируется на текстурных массивах, включающих в себя тримы и тайлы с привязкой к текселю:

  • Тримы — это бесшовные текстуры в одной оси координат;

  • Тайлы — текстуры, не имеющие швов во всех направлениях. 

С одной стороны, благодаря этому возрастает визуальное качество, с другой — появляются ограничения по количеству используемых текстур. В этой ситуации уместно оперировать ограниченной цветовой палитрой еще при создании концептуальных решений. Я не буду углубляться в технические особенности, о которых уже писали ранее, — только отмечу, что такая привязка к палитре упрощает дальнейшую работу и сокращает сроки производства. Подготовка итогового набора текстур может и должна начинаться на упреждение.

Компоновка общей текстурной палитры до этапов создания геометрииКомпоновка общей текстурной палитры до этапов создания геометрии

Идельно, когда задачи на производство чистовых моделей для уровня основываются на готовой палитре текстур. В среднем две разных тайловых текстуры нуждаются в одной универсальной трим-текстуре. При проектировании таких текстур мы исходим из утверждения, что все, что имеет произвольную длину, а по высоте больше 3–4 метров, является тайлом. Чем раньше и точнее определена эта палитра, тем меньше поводов для корректировки моделей в процессе. Важно разобраться в этих вопросах еще на стадиях подготовки концепта.

Таким оборазом, работа над концептом уровня перестала быть обособленным подготовительным этапом разработки и теперь работает на упреждение, но с активным участием команды. Концепт стал опираться на технические и художественные ограничения, а итоговые модели стали ближе к концептам. 

image-loader.svgimage-loader.svg

На примерах выше заметна разница в художественной ценности, важности концепта и его детальной проработке:

  • Общий атмосферный концепт отлично передает основную идею и настроение карты;  

  • Второй пример показывает более глубокий подход в виде уточняющих концептов, которые несут в себе фактическое техническое задание для исполнителя. При таком подходе уже не возникает вопросов, где использовать бетон, а где — металл, нет необходимости тратить время на анализ входящей информации — художник может сосредоточиться на более важных технических моментах.

Смещение точки принятия решений с процесса производства на подготовительный этап позволило нам лучше структурировать работу и открыть возможность для привлечения аутсорса. При разработке легаси карт это было сделать сложнее: внезапная необходимость изменений в процессе продакшена обходилась намного дороже, а острой необходимости что-либо делегировать просто не было.

Новый пайплайн предполагает наличие базиса в виде текстурной палитры и текселя, что создает возможность независимого оперирования палитрой и геометрией. Как следствие, в любой момент времени можно вносить изменения в текстуры, не блокируя и не производя доработок со стороны геометрии. Сама геометрия при этом довольно просто и быстро текстурируется тримами и тайлами, допуская пересечения разверток (overlap). Исключение составляет канал для использования дополнительных масок и освещения.

Более точные и жесткие требования к моделям создают возможность для формирования  более четкого технического задания. При очевидном усложнении технической части одновременно возникает и окно возможностей для распределения задач как внутри команды, так и делегирования их аутсорсу.

Чек-листы и гайды

Краеугольным камнем в реализации новых процессов всегда становится техническая документация. Без простой и понятной базы знаний сильно осложняется процесс масштабирования команды и делегирования задач. В данный момент у нас на проекте есть вся необходимая база технических знаний, однако идет планомерная работа по созданию гайдов и чек-листов.

На мой взгляд, как бы подробно и хорошо не была написана документация, как правило, она представляет собой «хрестоматийный труд». Это не плохо —, но даже если такой документ имеет безупречную структуру, часто он лишен необходимой мобильности. 

Что касается темы этого блока, она во многом завязана на описанные ранее процессы. Если говорить о чек-листах, то это очень важная часть кросс-проверки. Этот механизм должен быть прост в оперировании и наиболее удобен для применения на практике в сжатом виде. Более того, наиболее полезным будет чек-лист, выработанный во времени. Следует ориентировать его на наиболее часто возникающие ошибки и слабые места внутри команды. 

В отличие от проектной документации и чек-листов, гайды носят иной характер: я бы позиционировал их как отдельную сущность, являющуюся необходимым дополнением. 

На изображениях показаны рекомендации при работе с масками в Substance PainterНа изображениях показаны рекомендации при работе с масками в Substance Painter

Основная задача гайдов — шаринг успешных и рациональных кейсов, предлагающих оптимальные пути решения задач внутри проектного инструментария. Хорошо, когда эта информация есть под рукой. Еще лучше, когда она подкреплена визуальным рядом. А если текст и иллюстрации разбавлены аудиофайлами — это высший пилотаж. Ставка тут, опять же, на доступность информации и задействование разных каналов восприятия. Но мы и сами на данный момент работаем над этим. Здесь же я просто делюсь своим опытом, который постоянно меняется и развивается.

Заключение

Жизнь не статична и постоянно меняется, как и все вокруг. Изменения неизбежны в работе, целях и привычных шаблонах. Проект War Robots не является исключением — и, как живой организм, реагирует на внешние вызовы. 

Чуть больше года назад разработка карт была довольно планомерным и спокойным процессом, не требующим к себе повышенного внимания. Но однажды проекту необходимо было повзрослеть и перестроиться вслед за всей остальной индустрией. 

Изменились и условия функционирования всей команды. Не без участия новых руководителей команда справилась и адаптировалась к новым условиям дистанционной работы и выстроила процессы. Пускай на данном этапе они не идеальны, но это определенная точка роста и вектор движения вперед.

© Habrahabr.ru