Была ли плохая разработка программного обеспечения причиной последней катастрофы в играх

Видеоигры по-прежнему продаются в специализированных обычных магазинах, их производство часто больше похоже на фильм, а разработчики избегают некоторых передовых методов разработки программного обеспечения. Однако разработчики игр создают программное обеспечение; программного обеспечения с мировым доходом в 165 миллиардов долларов [1]. В то время как отраслевые обозреватели часто обсуждают продукты с точки зрения повествования, игровых возможностей и дизайна, мы, как разработчики, могли бы чему-то научиться, размышляя об успехах и неудачах в игровой индустрии через призму разработки программного обеспечения. К счастью, 2020 год стал ярким примером последнего.

Отказ

10 декабря 2020 года польский разработчик игр CD Projekt Red (CDPR) выпустил Cyberpunk 2077. Киберпанк вызвал значительный ажиотаж с тех пор, как о нем было объявлено в 2013 году, получив награду «Самый ожидаемый» на премии «Золотой джойстик» и «Самый разыскиваемый» на премии «Золотой джойстик». Награды Gamescom в 2019 году [2, 3]. Однако, когда игроки получили в свои руки игру, они столкнулись с большим разочарованием. Ошибки варьировались от разрушающих погружение (персонажи ходят без штанов) до разочаровывающих (поврежденные файлы сохранения). Кроме того, в конечном продукте отсутствовали локации и функции, которые были показаны как в трейлерах компьютерной графики, так и в предыдущих демонстрациях игрового процесса. Игра прилично работала на ПК, но в нее практически невозможно было играть на PS4 и Xbox One. Совершив беспрецедентный шаг, Sony удалила игру из своего цифрового магазина [4].

Откусывая больше, чем вы можете прожевать

CDPR поставила перед собой серьезную техническую задачу. Для игры такого масштаба их команда из 400 разработчиков мала; Киберпанк продвигался как эволюция таких игр, как Red Dead Redemption 2 (2018 г.), в которой участвовало 1600 разработчиков, и Assassins Creed Valhalla (2020 г.), в которой работа была разделена между 15 студиями [5, 6, 7]. Это усугублялось релизной стратегией студии. Игра была разработана для консолей текущего поколения (PS4 и XB One), а также консолей следующего поколения (PS5 и XB Series X) и ПК. CDPR решила обеспечить глобальную локализацию при запуске, когда текст и аудио переводятся, а также вносятся корректировки с учетом культурных особенностей. Они также поддерживали синхронизацию губ персонажей по всему миру, что неслыханно. [8]

Выпуск такого количества версий создает проблему для эффективного тестирования QA. Во время разработки версии следующего поколения были отложены до 2021 года, а другие версии были отложены в последнюю минуту с 19 ноября по 10 декабря по причине тестирования [9]. Кроме того, сотрудники, разговаривающие с Bloomberg анонимно, утверждают, что разработчики имели доступ только к ПК, а руководство проигнорировало опасения, что игра слишком сложна для консолей 7-летней давности [10]. Эти сотрудники также сообщают, что вместо повторного использования игрового движка RED Engine 3, использовавшегося для предыдущей игры The Witcher 3 (2015), или стороннего движка, как это принято в небольших студиях, CDPR решила разработать новый движок одновременно с Киберпанк. Сотрудник описал это как «попытку вести поезд, пока перед вами прокладывают рельсы». Игровые движки предоставляют движки рендеринга, звука и физики, а также инструменты искусственного интеллекта; все эти аспекты Cyberpunk оказались ошибочными.

Погоня за водопадами

Исторически сложилось так, что большинство высокобюджетных игр, в том числе и в CDPR, разрабатывались с использованием (вариации) модели Waterfall. За обширным планированием следует длительный период разработки перед окончательной датой выпуска [11]. В других областях разработки программного обеспечения переход на Agile привел к улучшению качества программного обеспечения, гибкости и реакции пользователей; Можно сделать предположение, что игры отстали от времени и могут также получить значительные выгоды от перехода на agile.

Действительно, за последнее десятилетие было несколько историй успеха игр, в которых использовалась итеративная разработка. Minecraft, который регулярно выпускал новые обновления с улучшениями функциональности или производительности с момента своего прототипа, был продан тиражом более 200 миллионов копий [12]. Программа раннего доступа Steam включает в себя сотни играбельных игр, которые все еще находятся в разработке [13]. Разработчики многих известных релизов называют платформу и итеративную разработку причиной своего успеха. Разработчик UnknownWorlds позволяет игрокам голосовать за то, какая функция будет добавлена ​​в их игру Subnautica. Студия Introversion знала, что у них есть хорошая основная идея для «Prison Architect», но использовала вклад своего игрока, чтобы конкретизировать окончательную версию игры. [14]

Однако разработка таким образом накладывает ограничения на тип продукта, который может быть изготовлен. Текстуры и модели персонажей, созданные вручную, сложно создавать итеративно, и если игра представляет собой линейный опыт или историю, игрокам нужна окончательная версия. Перечисленные выше истории успеха имеют упрощенную графику (см. рис. 3) и элементы истории; они также в значительной степени относятся к жанру «выживания с открытым исходом», который многие считают перенасыщенным [15]. Кроме того, почти каждая игра, которая когда-либо выигрывала «Игру года» на Game Awards, была повествовательно-ориентированной, графически сложной игрой, такой как Cyberpunk [16]. CDPR не смогла бы сделать ту же игру, если бы они решили работать итеративно, и существует явное давление рынка, которое указывает, почему они не переключились.

Хаос управления

К сожалению, были и другие проблемы со стратегией развития CDPR. Функции были удалены, а затем восстановлены по приказу отдельных менеджеров без консультаций с командой или обоснования на основе данных. «Проектный документ», который обычно пишется в начале разработки для описания того, как игра будет выглядеть и ощущаться, обычно игнорировался. [11, 10]

Программное обеспечение разрабатывается людьми, и с людьми нужно хорошо обращаться, чтобы они выполняли свою работу наилучшим образом. По мере того, как проект развивался, разработчики в CDPR подвергались «кражу», отраслевой практике, состоящей из долгих часов и 6/7 рабочих недель в течение более года [17]. Кранч имеет хорошо задокументированные последствия для здоровья и приводит к высокому уровню увольнения талантов [18]. Многие в отрасли считают, что это приводит к ошибкам в коде, которых можно избежать, лучше контролируя область действия [19].

Тестирование или его отсутствие

Некоторые предполагают, что конечный продукт содержит ошибки из-за отсутствия акцента на тестировании во время разработки. В своем анализе провала автор CI/CD Дэйв Фарли указывает на отсутствие упоминаний о тестировании или качестве кода в рекламе программистов Engine и UI. Вместо этого CDPR предпочитает нанимать тестировщиков и разработчиков, обладающих навыками отладки. [20]

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

Сам по себе тот факт, что практика ограниченного тестирования распространена в разработке игр, не означает, что это хорошая идея. Однако за это выступает известный разработчик игр Джонатан Блоу. В прямом эфире 2013 года он объясняет свою веру в то, что TDD невозможен, когда пытается сделать что-то интересное, называя его сторонников «медленными и непродуктивными». Блоу выступает против написания модульных тестов, комментируя, что ошибки обычно возникают, когда что-то объединяется, и что модульные тесты увеличивают базу кода и ограничивают гибкость разработчиков; по его собственным словам, «сколько кода ты хочешь написать?» [22]. Другой разработчик, Джафар Солтани, ранее работавший в Rare, рассказывает о том, как последовательное выполнение больших наборов тестов быстро становится невозможным при разработке игры AAA, и выступает за то, чтобы отдавать приоритет наиболее изменчивым компонентам [23].

Кому поможет демо?

Существенный вклад в создание ажиотажа вокруг игры внесла 48-минутная демоверсия 2018 года, выпущенная во время выставки Electronic Entertainment Expo того года. За последние годы эти большие демоверсии, которые часто делаются как минимум за год до выхода игры, стали неотъемлемой частью игрового маркетинга. И это несмотря на то, что такие демонстрации чрезвычайно мешают разработке. Разработчики часто отвлекаются от полезной работы над игрой на несколько месяцев, чтобы создать демоверсию. Бывший разработчик Rare сказал мне, что работа над этими демонстрациями выполнялась в отдельной ветке, которая затем была удалена после соответствующей конференции. Потребители также ожидают, что эти демоверсии будут представлять окончательный проект, включая текстуры, озвучку и другие компоненты игры, которые обычно не нужно завершать до более поздних этапов разработки. В беседе с Bloomberg разработчики CDPR подтвердили, что Cyberpunk не стал исключением. Однако они также утверждают, что демо было полностью фальшивым; часть маркетинговой кампании больше, чем часть разработки [10].

Эти демо в индустрии называют «вертикальным срезом», но в своем выступлении «Вызов вертикального среза» Грег Донован, старший продюсер Volition, показывает, насколько они являются искажением первоначальной идеи. Volition создала вертикальный срез для своей игры Saints Row 2006 года. Как и Cyberpunk, Saints Row была игрой с обширным открытым миром, и, как и CDPR, Volition столкнулась с серьезной технической задачей. Однако Volition создала свой вертикальный срез еще до начала разработки. Цель состояла в том, чтобы оценить осуществимость проекта, предсказать любые проблемы и убедить издателя поддержать разработку. Прототип был сделан быстро и не предназначался для показа потребителям; соответственно, он работает с низкой частотой кадров, имеет незавершенные текстуры, а также нет ни музыки, ни диалогов. Разработка началась с четкого определения препятствий и представления о времени и ресурсах, необходимых для выполнения предстоящих задач [24]. Вместо того, чтобы следовать шагам Volition и создавать инструмент, помогающий лучше планировать игру, CDPR отвлек столь необходимые усилия разработчиков на создание маркетинговой части.

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

Во время разработки Metal Gear Solid V (2015) было принято решение выпустить пролог, короткую часть игры с небольшой исследуемой областью и ограниченным набором игровых функций, отдельно. Это дало разработчикам возможность завершить проект с использованием нового Fox Engine и получить отзывы о производительности и механике. Решение монетизировать «Ground Zeroes» подверглось критике, но сам контент был хорошо принят [25, 26].

Для своей последней игры, Sea of ​​Thieves (2018), Rare разрешила пользователям программы предварительной оценки играть в некоторые ранние сборки игры. Важно отметить, что это были снимки игры в определенное время, а не работа над отдельной веткой. Игроки в программе могли транслировать игровой процесс в прямом эфире и напрямую общаться с разработчиками [27]. Sea of ​​Thieves была многопользовательской игрой, в которой использовалась новаторская физика воды; программа дала возможность протестировать оба в масштабе.

Помогает ли стриминг?

В хаосе запуска Cyberpunk появилось представление о том, как игры могут избежать этих проблем. Cyberpunk был запущен на облачном игровом сервисе Google Stadia. На Stadia Google использует свою инфраструктуру, чтобы предоставить игрокам эквивалент высококлассного ПК по стоимости игры. Игроки сообщают о стабильном опыте, с которым я согласен после того, как лично изучил, как игра работает на платформе. Многие видят будущее игр в так называемых платформах «игры как услуга». Если бы они были нормой, разработка игр, которые хорошо работали бы для всех, была бы значительно проще, и без необходимости запуска на маломощных компьютерах общая графическая точность и техническая сложность игр могли бы быть выше. Вполне возможно, что без привязки к 5-летним циклам выпуска консолей скорость графических инноваций также может увеличиться. Однако для такого игрового ландшафта потребуется уровень инфраструктуры, которого в настоящее время нет во всем мире. Даже в США у многих пользователей недостаточно пропускной способности широкополосного доступа для использования Stadia. На данный момент коммерческий успех высокобюджетной игры связан с физическими аппаратными ограничениями.

Заключительные мысли

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

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

Джо Рэкхем

использованная литература

[1] Cyberpunk 2077 должна была стать крупнейшей видеоигрой года. что случилось? [Онлайн]. Доступно по ссылке: https://www.nytimes.com/2020/12/19/style/cyberpunk-2077-video-game-disaster.html. [По состоянию на 12 января 2021 г.].

[2] Cyberpunk 2077 претендует на золотой джойстик этого года как самая разыскиваемая игра. [Онлайн]. Доступно по адресу: https://archive.vn/20191116063337/https://www.gamasutra.com/view/pressreleases/354155/Cyberpunk_2077_claims_this_years_Golden_Joystick_for_Most_Wanted_Game.php. [По состоянию на 12 января 2021 г.].

[3] Награда gamescom 2020 достается ночному городу. [Онлайн]. Доступно по адресу: https://www.gamescom.global/gamescom-now/gamescom-award, [Проверено 12 января 2021 г.].

[4] Sony удаляет Cyberpunk 2077 из магазина Playstation, предлагает возмещение. [Онлайн]. Доступно по адресу: https://www.vulture.com/2020/12/sony-removes-cyberpunk-2077-from-playstation-store.html. [Проверено 12 января 2021 г.].

[5] Сила разработчиков Cyberpunk 2077 — ведьмак 3 + 60%. [Онлайн]. Доступно по адресу: https://variety.com/2018/gaming/features/red-dead-redemption-2-narrative-interview-1202992401/, [Проверено 12 января 2021 г.].

[6] История создания Red Dead Redemption 2. [Онлайн]. Доступно по адресу: https://variety.com/2018/gaming/features/red-dead-redemption-2-narrative-interview-1202992401/. [По состоянию на 12 января 2021 г.].

[7] Над Assassin's Creed Valhalla работало 15 студий. [Онлайн]. Доступно по адресу: https://www.kotaku.com.au/2020/05/a-staggering-15-studios-worked-on-assassins-creed-valhalla/, [Проверено 12 января 2021 г.].

[8] Cyberpunk 2077 будет относиться ко всем языкам одинаково, предлагая полную синхронизацию губ для каждого дубляжа. [Онлайн]. Доступно по адресу: https://www.vg247.com/2020/10/20/cyberpunk-2077-full-lip-sync-dubbed-languages-localisation/. [Проверено 12 января 2021 г.].

[9] Выход Cyberpunk 2077 отложен до декабря. [Онлайн]. Доступно по адресу: https://www.pcgamer.com/cyberpunk-2077-has-been-delayed [Проверено 12 января 2021 г.].

[10] Внутри провального развертывания Cyberpunk 2077. [Онлайн]. Доступно по ссылке: https://www.bloomberg.com/news/articles/2021-01-16/cyberpunk-2077-what-caused-the-video-game-s-disastrous-rollout. [По состоянию на 12 января 2021 г.].

[11] Фабио Петрилло и Марсело Пимента. Существует ли ловкость? Agile-практики в разработке игр. Страницы 9–15, 01 2010 г. doi: 10.1145/1878450.1878453.

[12] Minecraft по-прежнему невероятно популярен, так как продажи превышают 200 миллионов и 126 миллионов игр в месяц [Онлайн]. Доступно по адресу: https://www.theverge.com/2020/5/18/21262045/minecraft-sales-monthly-players-statistics-youtube. [По состоянию на 12 января 2021 г.].

[13] Ранний доступ в Steam.[Онлайн]. Доступно по адресу: https://store.steampowered.com/genre/Early%20Access/, [Проверено 12 января 2021 г.].

[14] 7 успешных игр с ранним доступом, которые должны изучить все разработчики. [Онлайн]. Доступно по адресу: https://www.gamasutra.com/view/news/275719/7_successful_Early_Access_games_that_all_developers_should_study.php, [Проверено 12 января 2021 г.].

[15] Исчерпал ли себя жанр выживания в открытом мире? [Онлайн]. Доступно по адресу: https://www.pcgamer.com/uk/face-off-has-the-open-world-survival-genre-run-its-course/. [Проверено 12 января 2021 г.].

[16] Игровые награды: История. [Онлайн]. Доступно по адресу: https://thegameawards.com/history [По состоянию на 12 января 2021 г.].

[17] Несмотря на прошлые обещания, работа над Cyberpunk 2077 длилась несколько месяцев. [В сети]. Доступно по адресу: https://www.polygon.com/2020/12/4/21575914/cyberpunk-2077-release-crunch-labor-delays-cd-projekt-red [По состоянию на 12 января 2021 г.] .

[18] Темная сторона индустрии видеоигр — патриотическая акция с Хасаном Минхаджем — netflix. [В сети]. Доступно по адресу: https://www.youtube.com/watch?v=pLAi_cmly6Q [По состоянию на 12 января 2021 г.].

[19] Как избежать кризиса разработки видеоигр. [Онлайн]. Доступно по адресу: https://www.gamesindustry.biz/articles/2018-10-19-how-to-avoid-video-game-development-crunch [Проверено 12 января 2021 г.].

[20] Плохая инженерия программного обеспечения убила релиз Cyberpunk 2077. [Онлайн]. Доступно по адресу: https://www.youtube.com/watch?v=E-jGEtqB4wU. [По состоянию на 12 января 2021 г.].

[21] Тестирование видеоигр может быть забавным, но требует много тяжелой работы: Готовы ли вы к работе? [В сети]. Доступно по адресу: https://www.gamedesigning.org/video-game-tester/ [Проверено 12 января 2021 г.].

[22] Джонатан Бьюк о модульном тестировании и тд. [Онлайн]. Доступно по адресу: https://www.youtube.com/watch?v=21JlBOxgGwY [Проверено 12 января 2021 г.].

[23] Джафар Солтани — внедрение непрерывной доставки в видеоиграх ААА — Конференция по конвейеру 2018 г. [Онлайн]. Доступно по адресу: https://www.youtube.com/watch?v=8hXRvvFDztg [Проверено 12 января 2021 г.].

[24] Проблема с вертикальным срезом. [Онлайн]. Доступно по адресу: https://www.youtube.com/watch?v=1h4M7zDPg1Y [Проверено 12 января 2021 г.].

[25] Metal Gear Solid v: Ground Zeroes — демо за 40 долларов. [Онлайн]. Ground-Zeroes-40-Demo» [По состоянию на 12 января 2021 г.].

[26] Metal Gear Solid: Ground Zeroes — лучшая и самая дорогая демоверсия из когда-либо созданных. [В сети]. Доступно по адресу: https://www.eurogamer.net/articles/2014-03-05-metal-gear-solid-ground-zeroes-preview. [По состоянию на 12 января 2021 г.].

[27] Инсайдерская программа Seaofthieves предлагает возможность тестирования ранних сборок. [Онлайн]. Доступно по адресу: https://www.eurogamer.net/articles/2016-11-22-sea-of-thieves-insider-programme-offers-chance-at-testing-early-builds. [По состоянию на 12 января 2021 г.].