Игровая индустрия
Пропатчить бы систему
Разработчики не разослали No Man's Sky обзорщикам, потому что игра была не готова. Однако No Man's Sky утекла из магазинов, нарушивших условленную дату релиза. Polygon, Kotaku и многочисленные стримеры получили копию невышедшей игры и сыграли в неё. Разработчик No Man's Sky и владелец платформы предупредили, что эта версия не итоговая. Разработчик продемонстрировал план изменений в патче 1-го дня, чтобы прекратить бессмысленные обсуждения утёкшей версии, не предназначенной для публики. Новости сообщили об "огромном" патче 1-го дня для No Man's Sky, который исправит множество ошибок.
На самом деле я хочу поговорить о патчах 1-го дня, а не о No Man's Sky. Поскольку сейчас тема скандальная, то хотелось бы подчеркнуть, что я не аффилирован с No Man's Sky. Я не критикую и не защищаю No Man's Sky. Я не говорю от их лица и не знаю деталей их производственного процесса. Это заметка даже не про No Man's Sky. Просто я использую эту игру как гипотетический пример, хотя всё то же можно сказать почти что про любую современную игру, цифровую или физическую. Следует также понимать, что многое из этой статьи никакой разработчик по тем или иным причинам не имеет права обсуждать во время самой разработки, в том числе из-за подписания договора, необходимого для выпуска игры. Вот почему я буду рассуждать крайне приблизительно, не упоминая конкретных производителей консолей или владельцев платформ, подразумевая как бы всех и никого. Большинство приведённых фактов уже упоминалось в той или иной форме публично. Я должен ещё раз подчеркнуть, что мои примеры не относятся ни к одному конкретному производителю консолей и могут быть гипотетическими или видоизменёнными во избежание специфики. Я не могу говорить яснее, не нарушив документы о неразглашении, подписанные мной ради права выпускать игры на ключевых консолях.
Вот что важно для рассматриваемого вопроса:
Консоли - это платформы и устройства с определённым ожиданием качества, поэтому для них учреждены системы, обеспечивающие это качество.
Разработчики - творческие личности, работающие по коммерческому графику, что послужило причиной древнего и нерушимого закона, согласно которому разработчик всегда опоздает к сроку на две недели - насколько бы жёстким или лояльным срок ни был.
Выпуская игру для консоли - какой бы то ни было - необходимо понимать, что системы, которыми пользуются разработчики и владельцы платформ, создавались не для 2016 года. Это устаревшие системы поверх устаревших систем поверх устаревших систем. Примерно как те системы, которыми вы, возможно, пользовались на основной работе, если вы работали в торговле, обслуживании или на любой кассе. Многие обсуждаемые системы переплетены с бюрократическим аппаратом и консольной технологией, поскольку вместо полного перелопачивания процедур и перезапуска всего с нуля с новым поколением, консоли обычно изо всех сил стараются не поломать ничего существующего. В результате системы становятся неповоротливыми, переусложнёнными, хрупкими и, по сути, предназначенными для коллективов, готовых нанять дополнительных сотрудников для штудирования инструкций и изучения системы. Всё это происходит из эпохи до независимой разработки, так что некоторые инструкции по-прежнему упоминают отсылку версии почтовой пересылкой. Несмотря на сказанное, создатели консолей и их команды стараются не покладая рук, чтобы облегчить процедуру для разработчиков, улучшая системы насколько возможно, не нарушая при этом их старого фундамента и способствуя выходу полноценных игр.
Самый показательный пример вышеописанного - так называемая сертификация. Компьютерные платформы, такие как Стим, Humble Bundle, GOG и itch.io, предоставляют разработчикам самим собирать шишки за выход некачественного продукта, позволяя выкладывать игру и патчи к ней когда угодно (хотя они всё же проверяют дорелизную страницу вашей игры). Консоли, напротив, движимы философией "Знака качества" [прим. пер.: эта практика была Нинтендо во времена 8-биток.] Чтобы обеспечить это качество, они используют систему "сертификации", она же FQA, она же TRC, она же TCR, она же любой подвернувшийся акроним, обозначающий техническую проверку и список требований. Разработчики обычно называют её просто "серт", и кого ни спроси, несмотря на предельное понимание назначения этой системы и тяжёлого труда со стороны платформы ради выдающегося качества игр, все ненавидят "серт". Если хотите представить серт, представьте талмуд со списком требований. Их совершенно абсурдное количество, причём различающихся не только по платформам, но также по территориям (например, версия для Европы проходит другую сертификацию, чем американская, что обуславливает различия между ними), а иногда и для патчей, DLC и релизной версии.
Некоторые из требований логичные (игра не должна вылетать), некоторые понятные (если главное меню открыто 24 часа, не начинает ли игра тормозить?), некоторые же звучат просто дико (если быстро-быстро вставлять и вынимать контроллер, адекватно ли реагирует игра?). Некоторые заставляют задумываться (игра должна определить, который контроллер держит игрок, поэтому ей нужен экран "Нажмите Старт", оставшийся только на консолях), а некоторые - сплошная головная боль (не помещайте интерфейс на внешние 10% экрана, кроме интерфейса для настройки ширины экрана). Некоторые юридические (включён ли родительский контроль и находится ли текущий профиль ниже установленной возрастной отметки? если да, заблокированы ли соответствующие функции?), а некоторые просто удар под дых (нельзя выпускать патч, если после релиза игры у консоли вышло обновление прошивки). Знаете ли вы, что консоли не сами ставят игру на паузу, когда игрок переключается на другой интерфейс? Это - забота разработчика.
В общем, сертификация - большая сложная вещь. И процедура сертификации - большая сложная вещь. В большинстве случаев нужно заполнить странную перегруженную форму о своей игре, затем "забронировать дату" или подождать, пока не придёт подтверждение. Поскольку персонал, проверяющий игры, не бесконечен, нужно заранее предупредить об отправке версии. Вы проверяете наличие свободных дат; обычно игру могут посмотреть уже через несколько дней. Если версия игры не готова за определённое количество времени до назначенной даты, бронь снимается, и нужно бронировать заново. Когда подходит время и начинается сертификация, то заполненная форма может быть отвергнута по любой из многочисленных причин, и бронь также снимается. Далее игру начинают тестировать и отчитываться о нарушениях требований сертификации. В большинстве случаев нарушения оцениваются по шкале от "Обязательно исправить" или "Исправьте" до "Пожелание" и "Да пускай". Если любое из нарушение превосходит определённую степень, заявка отклоняется, и нужно начинать заново - с заполнения формы, бронирования даты (или ожидания подтверждения) и отправки версии.
Некоторые нарушения сертификации неизбежны. От разработчиков не зависит, когда платформы получают новую версию прошивки или в какой степени используемые движки поддерживают прошивку. Иногда разработчики могут запросить исключение из правил. Это та ещё бюрократия, требующая переговоров, формального запроса и формального разрешения. Процесс небыстрый. Получив разрешение, необходимо повторно заполнить и отправить форму заявки, указав обстоятельства, при которых разрешение было получено.
Я упоминал качество документации? Одно поле называется "файл с ассетами". Но нигде не объясняется, что такое файл с ассетами и какие ассеты там должны быть. Если не добавить файл, форма не отправится. Если добавить файл, а он окажется "неправильным", сертификация не пройдёт. Вы потеряли неделю. Если вы пропустили где-то среди сотен, а то и тысяч замороченных правил единственную галочку, вы потеряли неделю. Если существует некая неуловимая разница между Европой и Америкой, вы потеряли неделю. Проще говоря, сертификация запросто занимает неделю, а в худшем случае - месяцы. И, говорю из личного опыта, она доводит разработчиков до слёз. Она приводит к задержкам релиза. В итоге, однако, вы поставите все галочки правильно. Вы получите свой "Знак качества". Вам позволено запуститься.
Переходя к No Man's Sky... Я не утверждаю, что их задержало именно это, однако разработчики с объявленной датой выпуска из кожи вон лезут, чтобы её соблюсти. Они сильно заранее начинают отправлять версии игры на сертификацию, надеясь, что одна из них пройдёт все проверки и получит разрешение "согласовывать дату релиза". Сертификация - вещь техническая, она не проверяет содержимое игры, только техническую работоспособность. Только простановку галочек. Вы можете объявить публике мрачную, чернушную игру под названием "Злые лошади", а отправить на проверку весёлую пони-ферму, и если название будет совпадать - никто слова не скажет.
Итак, если мы учтём хаотичность и непредсказуемость процесса разработки, то как только у вас образуется версия игры, которая "почти готова", которая работает и вы смогли пропихнуть её через сертификацию - то это хороший знак для вашей итоговой игры. Вы отправляете её, она проходит сертификацию, и вы подготавливаете её к выходу и распространению. Дисковые игры должны своевременно провести итоговую версию через сертификацию, чтобы успеть напечатать диски и коробки и донести их до магазинов. В этот момент до даты релиза обычно остаётся от одного до трёх месяцев, что означает, что игра была готова от полутора до трёх с половиной месяцев до даты релиза, и всё равно не следует забывать о непредсказуемой длительности сертификации. Патч 1-го дня в действительности отправляется на сертификацию за неделю до релиза, но пока процедура не завершится, он не попадёт к публике.
Зная это, легко понять, почему патчи 1-го дня часто "огромны". У дисковой игры "золотая" версия, прошедшая сертификацию, к моменту релиза устаревает на 1-3 месяца. Это даёт разработчикам от двух недель до двух с половиной месяцев, чтобы выполнить эквивалент полутора - трёх с половиной месяцев работы и довести игру до "идеала" к дате релиза с помощью патча. Если вы трудитесь в большой студии, скорее всего у вас есть внутренний отдел тестирования, который (оправданно) тормозит разработку, однако маленькие, проворные студии могут за этот срок перелопатить огромные части игры.
В нашем гипотетическом примере с No Man's Sky в день релиза благодаря патчу 1-го дня игра запустится именно такой, какой её хотели видеть разработчики. Эта версия будет максимально близка к тому, как авторы представляли игру в процессе разработки, пробуя и корректируя свои представления. Это настоящая No Man's Sky. Версия на дисках, напротив, устарела на многие месяцы. Единственный способ избежать подобного - не выпускаться на дисках.
Можно, конечно, возразить, что в таком случае разработчикам нужно довести игру до идеала до того, как они отправят её в печать. Вполне справедливое предложение. Просто непрактичное. Пока игра проходит сертификацию, у вас есть месяцы на доработку игры - неужели вы ими не воспользуетесь? Думаете, аудитория похвалит разработчика, который три месяца плевал в потолок? Представьте возмущение, если на Кикстартере разработчик за три месяца до релиза заявит "Ну всё, версия хорошая, оставшиеся три месяца до релиза мы её не тронем". Предложить заканчивать с игрой в момент, когда она отправляется в печать, может только застрявший в 90-х.
Разработчикам не безразличны их игры. Мы стараемся, чтобы до игроков они дошли наилучшими. Мы хватаемся за любую возможность обеспечить это. Если бы консоли действовали как Стим, No Man's Sky вышла бы без патча 1-го дня, потому имеющаяся версия была бы залита в магазин без суеты за три дня до релиза. Патчи 1-го дня не обязательно провал со стороны разработчика или платформы, они следствие заботы об игре, желания донести полноценную игру в назначенную дату релиза, помноженного на необходимость пользоваться устаревшими системами на некстгене. Все трудятся как могут. Никто не халтурит. Разработчик не ленится, платформы не вставляют палки в колёса. Патчи 1-го дня - это просто патч для старой и переусложнённой системы проверки игр.