Большой разбор VGTimes: что лежит в утечке исходников GTA 5
18 сентября в открытый доступ выложили 192 гигабайта исходников GTA 5, украденных у Rockstar в 2022 году. В них лежит второй город — Майами.
Это рабочая ветка разработки GTA 5 из архива, похищенного во время знаменитого взлома, когда в сеть попали первые ролики GTA 6. Отдельные файлы из неё публично разбирают с 2023 года, но целиком архив выложили только сейчас. В нём сохранились уровни, записи багтрекера, звук сцен и код разных лет — от разработки основной игры до обновлений GTA Online.
Одна из главных находок VGTimes — ранний уровень, воспроизводящий Майами. Город стал прототипом Вайс-Сити из GTA: Vice City — мегаполиса, который появится и в GTA 6. Однако найденный нами уровень относится к материалам 2014–2015 годов: его связь с разработкой GTA 6 по проверенным файлам не установлена. В найденном уровне отели Оушен-драйв обозначены настоящими названиями и расположены почти в том же порядке, что и на реальной улице. У города есть геометрия столкновений и транспортные маршруты: по нему можно было ходить и ездить. Ни в одной вышедшей игре Rockstar мы этот уровень не встретили.
В архиве нашлись и следы другого города — Либерти-Сити, а также отменённой кампании на 47 миссий со снятыми сценами и вырезанного ограбления с записанными диалогами. Рядом лежит код обновления, которое вышло через 3 месяца после кражи. VGTimes разбирает, что осталось в планах, а что Rockstar успела собрать, записать и протестировать. Игровых материалов GTA 6 в проверенной нами части архива не нашлось — только ссылки на соседнюю ветку и общие рабочие программы.
Целый город, который никто не увидел
Уровень называется env_test — «испытательный». Название обманывает: испытательные уровни обычно выглядят как серые коробки на пустой плоскости. Здесь 140 229 размещённых объектов, и они складываются в город.
То, что этот уровень воспроизводит именно Майами, особенно хорошо видно по Оушен-драйв. Девять объектов уровня названы по настоящим отелям этой улицы: Majestic, Avalon, Park Central, Beacon, Johnny Rockets, Colony, Starlite, Leslie и Cavalier. В файлах они записаны сокращённо — colonyhotel, starlitehotel и так далее, — но за каждым стоит настоящее здание Саут-Бич со своим адресом.
VGTimes сравнил координаты 9 объектов уровня с адресами на Оушен-драйв. Четыре расположены подряд в том же порядке, что и на настоящей улице: Beacon — дом 720, Johnny Rockets — 728, Colony — 736, Starlite — 750. Расстояния между ними в уровне — 24, 14 и 21 м — соответствуют ширине реальных зданий. Есть и перестановки: Park Central оказался после Majestic, а Leslie и Cavalier поменялись местами. В целом порядок совпадает для 7 объектов из 9.
Совпадение подтверждают и черновые текстуры. Одна из них называется temp_ih_starliteproportions — «пропорции Starlite». Такая текстура служит ориентиром, когда художник задаёт размеры здания.
Детализация у зданий разная. Colony пока представляет собой простую форму с нишей и 2 крыльями: 3 500 треугольников и 3 материала. У Leslie уже есть балконы, окна, лестница и терраса на крыше — 10 000 треугольников и 25 материалов. Здания на улице прорабатывали по отдельности.
Узнаётся и расположение других частей Майами. Деловой центр находится у реки, порт — на Додж-Айленде. В уровне есть Фишер-Айленд, Вирджиния-Ки и Ки-Бискейн, а посреди залива — дома на сваях, похожие на Стилтсвилл.
Морской парк на Вирджиния-Ки тоже состоит из отдельных площадок. В списке объектов есть бассейны дельфинов и косатки, купол морских львов, акулий канал, коралловый аквариум и вольер крокодилов. Для них предусмотрены палубы, мостки, перила и таблички. По этим деталям можно узнать устройство настоящего парка.
Некоторые здания удалось опознать по внешнему виду. Башня из 7 частей повторяет характерные черты Jade Ocean в Санни-Айлс-Бич: 2 изогнутых «паруса» на крыше, ребро по центру фасада, балконы и тёмное остекление. Арена с 3 раздвижными панелями на крыше напоминает Marlins Park.
По крайней мере Jade Ocean построили почти в натуральную величину: основание здания в уровне — 67 на 79 м, высота — 162 м против 166 м у настоящей башни. Расстояния между районами при этом сократили.
Для города подготовили и уличные объекты. В архиве реквизита VGTimes насчитал 1 612 названий; 114 из них не нашлись в проверенной нами розничной версии GTA 5. Среди них — остановки, гидранты, электрощиты, фонари, скамейки и велопарковки. Это набор объектов для улиц, а не несколько случайных декораций.
Снимки карты в текстурах города
На текстурах земли видны изображения карты Майами с названиями улиц и элементами интерфейса картографического сервиса. Судя по этим следам, временной подложкой для уровня служили снимки карты с экрана.
VGTimes нашёл их на 10 наземных текстурах. На одной осталась белая панель с отмеченным пунктом «Show labels» («показывать подписи»), на другой — жёлтая метка «Hospital» прямо на крыше здания. На поверхности также видны названия улиц: «SW 264th St», «Bauer Dr», «Waldin Dr», «SW 280th St». Все они находятся в Редленде, на юге округа Майами-Дейд. На изображении воды сохранилась подпись «Atlantic Ocean».
Снимки с включёнными подписями использовали как временную подложку для земли. По файлам нельзя установить, как художники получили эти изображения и почему оставили подписи.
Даты экспорта показывают, что город строили в 2 этапа. С 19 мая по 4 июня 2014 года появилась разметка: крупные заготовки, названные по районам — Додж-Айленд, Фишер-Айленд, Вирджиния-Ки и Ки-Бискейн. Затем, с 25 ноября 2014-го по 13 мая 2015-го, на её основе создавали здания. Из 1 741 ранней заготовки 1 177 находятся менее чем в 120 м от более поздних построек. Ещё примерно у 20 крупных блоков есть поздние версии на том же месте, почти совпадающие с ними по размерам.
Поздние здания разместили поверх ранней разметки, а не начали город заново.
На чём остановились
Чтобы понять, был ли город только декорацией, VGTimes проверил геометрию столкновений — невидимые поверхности, которые не дают персонажу проходить сквозь здания. Она есть во всех районах: 6 849 файлов и, по нашему подсчёту, 50 100 244 полигона. По городу можно было ходить и ездить.
Для машин проложены маршруты, а вот собственных занятий для пешеходов в уровне не нашлось. Своей таблицы населения у него тоже нет: все 179 групп унаследованы от Лос-Сантоса. Это не значит, что улицы были бы пустыми — движок может населить их и без отдельных точек поведения. Но поведение пешеходов специально для этого города, судя по файлам, не настроили.
В городе предусмотрено и ночное освещение: 4 764 фонаря в 26 файлах. Они расположены цепочками вдоль дорог — речь об уличном свете, а не об освещённых окнах. Посчитать фонари по районам нельзя: прямоугольники, задающие их границы, сильно пересекаются.
В уровне есть и набор деталей для жилых интерьеров — всего 2 445 размещённых элементов. Среди них 1 498 частей комнат, 475 служебных и 209 жилых коридоров, 189 обычных дверей, 54 двери лифтов и 18 указателей. Ещё 2 элемента не вошли ни в одну группу. Из секций размером от 0,5 до 5 м собирали спальни, кухни, ванные и гостиные; панели-заполнители позволяли подогнать их под нужные размеры. Элементы встречаются на высоте до 163 м — в том числе на верхних этажах башен.
В вышедшей GTA 5 тоже есть интерьеры, которые видны через окна. Здесь же детали рассчитаны на сборку отдельных комнат. Можно ли было войти в них, по расстановке объектов определить нельзя.
Что из этого совпало с GTA 6
Ключевой вопрос: та же ли это работа, которая потом легла в основу GTA 6, или просто похожий город?
Сравнивать пришлось с чужим перечнем: своего списка мест из опубликованных роликов у нас нет, поэтому взяли двадцать настоящих майамских объектов, опознанных в материалах шестой части по интерактивной карте Miami New Times. Перечень этот не наш, не полный и составлен по тому, что успели разглядеть энтузиасты, — отсутствие чего-то в нём ничего не доказывает.
Слева — то, что в этом перечне опознано, справа — что стоит в раннем уровне.
Оушен-драйв — та же улица, и общих домов в двух списках не нашлось. В материалах шестой части опознаны номера 101, 940, 1144 и 1430. В раннем уровне — 640, 660, 700, 720, 728, 736, 750, плюс 1244 и 1320. Южные кварталы против северных.
Венецианская дамба — то же место. У нас сорок два куска насыпи Сан-Марино, будка дорожного сбора и мосты; в GTA 6 — Venetian Isle и 1000 Venetian Way.
Кис и мост — то же. Восемьдесят восемь отрезков дороги через острова и трёхчастный мост, который в шестой части опознан как Seven Mile Bridge.
Уинвуд — тот же тип района: заброшенный склад, магазины и три отдельные текстуры граффити.
Брикелл и Бискейн-бульвар — районы размечены, но названий конкретных зданий мы не нашли. В файлах встречаются стройплощадки, парковки и водные объекты. Силуэты зданий здесь не сверяли, поэтому нельзя исключить, что некоторые постройки присутствуют под другими названиями — как Jade Ocean, которую удалось опознать по внешнему виду.
А на Коллинз-авеню стоит один и тот же дом — та самая Jade Ocean.
А ещё есть три места, упоминаний которых в проверенных нами разборах опубликованных материалов GTA 6 не нашлось: морской парк на Вирджиния-Ки, разобранный по аттракционам, Стилтсвилл и частный остров с гольф-полем. Есть ли они в самой шестой части, по этому перечню не узнать.
Сверяли мы при этом имена объектов, а не силуэты. Поиск по всем 30 880 именам уровня по двум десяткам майамских топонимов даёт ноль: районы в уровне названы своими двухбуквенными кодами, а не по местности. Jade Ocean именно поэтому и опознана по силуэту — по имени её в уровне не найти. Значит, все строки «по именам нет» читаются как «по именам не нашлось, силуэты не сверялись».
Опознаётся при этом одна и та же реальная башня Jade Ocean, а не один и тот же игровой объект. Геометрию сравнивать не с чем: моделей шестой части у нас нет, есть только опубликованные материалы. Значит, тождество файла остаётся недоказанным.
Что можно сказать честно: карты GTA 6 в проверенной нами части архива не нашлось, а сравнение обнаруживает одну и ту же реальную местность — тот же город, ту же улицу, тот же мост и одно и то же реальное здание. Связаны ли между собой две разработки, по этим данным не устанавливается: совпадение натуры доказывает только то, что обе разработки изображали Майами.
И это был не единственный город
Помимо майамского уровня, в файлах остались следы работы над Либерти-Сити для GTA 5.
Самих данных уровня в архив не попало — утекла ветка gta5, а Либерти жила в своей, gta5_liberty. Но следы проекта остались по всему инструментарию, и они говорят больше, чем набор моделей.
У проекта была строка в реестре дополнений GTA 5 — именно так, «GTA5: LibertyV DLC», он и назывался в выпадающем списке у разработчиков. Была своя ветка в системе контроля версий, и из неё собиралась своя сборка. Был свой стандарт материалов в конвейере текстур: художник выбирал в списке тип документа «GTA V Liberty City» — наравне с «Растительностью» и «Кожей персонажа».
И была целая группа кнопок в меню разработчика — «GTA5 NG Liberty»: получить инструменты, получить сборку, запустить на PS4, на Xbox One, на PC. В сохранившейся редакции файла эта группа закомментирована целиком — то есть кнопки в меню не показываются. Работала ли она когда-нибудь раньше, по одному файлу без истории правок сказать нельзя; видно только, что её написали подробно и оставили выключенной.
Движок поддерживал загрузку дополнительных карт: согласно звуковому коду GTA 5, они поставляются с дополнениями и подгружают данные тем же способом, что и основная карта. Это согласуется с записью «GTA5: LibertyV DLC» в реестре: Либерти-Сити планировали как отдельную карту для дополнения.
Самое красноречивое — звук. В игровых архивах лежат 24 файла звуковых настроек либертийского дополнения, которых в розничной игре мы не нашли: 469 имён, из них 163 зоны звукового окружения, названные по районам, дорогам и другим участкам Либерти-Сити. Алгонквин с Даунтауном, Мидл-парком, Стар-Джанкшен, Пургаторием, Маленькой Италией и Вестминстером. Олдерни с доками и тремя промзонами. Дюкс с Бобо, Стейнвеем и Медоуз-парком. Отдельными зонами — девять эстакад и тридцать три дороги.
По этим же зонам мы восстановили, какой район Либерти-Сити где находился.
А рядом лежат описания береговой линии — ломаные по урезу воды. Контур Либерти-Сити по ним уже восстановил и выложил моддер TJGM, он же первым сказал, что карта заметно больше, чем в GTA 4. VGTimes перепроверил это по своей копии и посчитал точнее.
Записей береговой линии девяносто три, точек в них 1798. Берег тянется на 9,5 на 10,2 километра, а вместе со звуковыми зонами занятая область выходит 10,3 на 11,9 километра. Для сравнения: область съёмки карты GTA 5 — 9,2 на 12,5 километра. То есть регион Либерти по этому следу сопоставим со всей картой пятой части.
Сам город при этом занимает только южную треть: все 163 зоны ложатся в нижнюю часть контура. Севернее — крупный массив суши с длинными островами и характерным крючковатым мысом наверху. А имена береговых линий это подтверждают: север и юго-восток штата, Лонг-Айленд, берег Нью-Джерси и Провинстаун. Крючок наверху по форме похож на Кейп-Код, на оконечности которого настоящий Провинстаун и стоит.
Это след по звуковым данным, а не карта. Что именно было построено в северной части — и было ли построено вообще — по этим файлам не определяется.
Один список на всё невышедшее
Либерти-Сити при этом не был отдельной затеей. В реестре задач лежит внутренний список запланированных дополнений для сетевой игры — четырнадцать строк. В нём вперемешку то, что вышло, и то, что нет.
Вышедшее: Beach Bum, Business Pack, Hipster Pack, рождественские обновления, квартиры, спортивный пак, лоурайдеры. А рядом, в том же перечне и с такими же живыми номерами в багтрекере, — строки про карту Либерти-Сити, режим Cops'n'Crooks и пак про казино, шпионаж и подводное.
Все 3 проекта значатся в списке запланированных дополнений для GTA Online — рядом с теми, которые впоследствии вышли. Это показывает, что Либерти-Сити входил в общий план Rockstar. Но сам список не говорит, насколько далеко продвинулась работа над каждым проектом.
Последний пункт — про казино, шпионаж и подводную тематику — напоминает о материалах для одиночной игры: там тоже встречаются казино, шпионская линия и подводная база. Возможно, одни и те же идеи рассматривали для обоих дополнений. Однако сходство тем не доказывает, что это был один проект: прямой связи между ними в файлах мы не нашли.
Что осталось от отменённых пакетов
В архиве сохранились материалы о невышедших дополнениях, а один из внутренних справочников Rockstar перечисляет 5 пакетов для одиночной игры. Этим справочником пользуются инструменты компании на разных этапах сборки. В его заголовке сказано, что он содержит данные о загружаемых дополнениях GTA 5. В нём лежат пять одиночных пакетов: «Агент Тревор», пак про заказные убийства, пак про отношения и ещё два, названные внутренними словами — Manhunt и Norman.
Пять — это записи конкретно этого реестра. Публично известный по утечке исходников 2023 года список отменённых одиночных дополнений шире, в нём восемь позиций; а кроме одиночных были ещё и сетевые пакеты, о которых ниже. Так что числа тут разные и относятся к разным множествам.
Интереснее другое — насколько по-разному эти пакеты сохранились. От пакета остаться может что угодно: только строка в реестре, только звуковая опись, или полная кампания с кодом.
От пака Manhunt не нашлось ничего, кроме имени. В просмотренном нами дереве он больше нигде не встретился, а в записях багтрекера за 2010–2012 годы слово «manhunt» не попалось ни разу. Пакет завели в справочнике — и на этом след обрывается.
От пака про отношения осталась звуковая опись, и она неожиданная. В файле сорок имён, и все сорок — про одно: выступление комика. Выход на сцену, уход со сцены, пять номеров подряд, простой между выходами. А среди них — реакция на выкрик игрока из зала, отдельно в одиночной игре и отдельно в сетевой. И отдельная реакция на то, что зритель уходит.
Публично про этот пак известно только имя, и Kotaku в своё время предполагал, что он будет про свидания или женитьбу. Оказалось — про комедийный клуб, в котором комика можно было освистывать.
В GTA 4 игрок мог посетить клуб Split Sides и посмотреть выступления комиков. В GTA 5 такой возможности мы не нашли. Название клуба не встречается ни в одном из 1598 проверенных файлов субтитров; имён комиков там тоже нет. Единственная строка на эту тему — заглушка «посетить комедийный клуб». При этом здание и неиспользуемый интерьер сохранились, а в файлах описана система реакций комиков на выкрики из зала. Звуковых записей для этих реакций мы не нашли.
От пака про заказные убийства осталось 188 имён звука — и по ним восстанавливается устройство пакета. Заказы приходили по таксофону: звонок записан в трёх версиях — «до сцены», «во время сцены» и «вдалеке». А одно из убийств происходило в кабине канатной дороги — в описи лежат звуки разбитого стекла, выстрела из РПГ, обрушения и попаданий в машинное отделение.
Про саму миссию с канатной дорогой писали ещё в апреле 2015 года, но описывали её иначе: убийство в доме, с переодеванием в работника канатной дороги. Что оно происходило в самой кабине — из звуковой описи видно впервые. И рядом обнаруживается неиспользуемая команда движка GET_NEAREST_CABLE_CAR — «найти ближайшую кабину канатной дороги», — которая до этого выглядела курьёзом в списке.
От армейского пака осталось 105 имён. Две машины — армейский внедорожник и бронетранспортёр, с разгоном двигателя, выхлопом, запуском и остановкой, у бронетранспортёра свой клаксон. Самих записей к ним не нашлось ни в сборке, ни в розничном корпусе звука — только определения. А всё остальное в описи — музыкальные клаксоны: ноты целой октавы, плюс пауза и ноты ниже неё. То есть клаксон, на котором играют мелодию, задумали ещё тогда.
И отдельно — Cops'n'Crooks, сетевой режим из GTA 4, который собирали заново для пятой части. Здесь сохранность совсем другая: в реестре задач из 725 записей 89 помечены этим режимом, а в багтрекере — 844 разных дефекта с упоминанием режима, с июня 2011 по июль 2012. По месяцам виден пик: январь 2012-го — восемнадцать, февраль — сорок четыре, март — девяносто, апрель — триста семнадцать, май — сто пятьдесят пять. Это не заготовка, это месяцы тестирования.
Сам режим и его умения разобраны публично ещё по утечке исходников 2023 года — на GTAForums и в GTA Wiki. От нас здесь — счёт по трекеру и одна поправка: ролей в режиме шесть, а не восемь, как писали в 2023-м. У копов Officer, Tactical и Tech, у воров — Soldier, Enforcer и Hacker. Дерево скриптов даёт именно шесть.
От зомби-линии сохранились лишь ранние заготовки. В списках прохождения лежат три миссии — начальная, вторая и финальная, — и генератор такого списка. Дальше заготовки дело не пошло: под «Агента Тревора» в исходниках стоит 1868 условий сборки, под пак Norman — 1726, под зомби — ни одного не нашлось. Похоже, общий код под этот вариант не правили вовсе.
Обозначений, связанных с зомби, в файлах три: пак Norman в реестре, свой флаг в коде и своя ветка в списках прохождения. Это может быть одно и то же под разными именами на разных этапах, а может и не быть — прямой связи между ними мы не нашли. Поэтому правильно говорить «зомби-линия, доведённая до трёх заготовок», а не «ещё одно отменённое дополнение».
«Агент Тревор»: кампания целиком
«Агент Тревор» проходил под рабочим названием Clifford, а во внутренних документах — как T-SPY. Названия миссий, их порядок и финал с «Тревором в жидком азоте» стали известны в первые дни после публикации архива. Подробный список выложил DTF, об отменённых Либерти-Сити и «Агенте Треворе» писал PC Gamer. Но файлы позволяют оценить не только сюжет, а и масштаб разработки. Для дополнения предусмотрели отдельный блок сохранения с данными о ходе сюжета, точках возрождения, зданиях, магазинах, звонках и сообщениях, финансах, почте и покупаемом транспорте — как в основной игре. Перед нами была полноценная кампания, а не несколько разрозненных заданий.
Игра автоматически составила файл с порядком прохождения на 58 позиций: 47 разных миссий и повторяемое задание с реактивным ранцем, которое встречается между ними 11 раз. По этому порядку прослеживается развитие сюжета. Ограбление казино приходится на середину кампании; за ним следует линия с реактивным ранцем, беспилотниками и спутниками. Завершают список 3 миссии подряд с пометкой Space.
Стадию готовности видно по внутреннему реестру задач. По 53 записям T-SPY в четырёх счётчиках багов стоят 93, 159, 712 и 6 — в сумме 970. Что именно означают эти категории, по файлу не восстанавливается, и называть сумму «открытыми багами» было бы натяжкой. Но сам факт, что баги заводили сотнями, говорит о простом: миссии не были идеей на бумаге, их запускали и тестировали.
О чём была кампания. Тревор начинает работать на разведку и получает задания против разных групп. По противникам эти части истории можно условно назвать русской, корейской и арабской линиями. Это ветки одной кампании, а не отдельные дополнения.
Русская линия стартует в самолёте: Тревор летит с поддельными документами, дальше — угон шпионской машины, уничтожение конвоев, беспилотник, поиск горной базы, плен и побег с неё. Корейская — про подводные базы: их по сценарию несколько и по всей карте, а не одна. Есть спасение президента с борта номер один, упавшего в океан. Есть линия со спутниками — сбить их и добраться до трёх мест падения на реактивном ранце. Арабская линия и линия заказных убийств идут параллельно. Ограбление казино стоит посередине. А кончается всё тремя «космическими» миссиями подряд.

Миссию с корейской подводной базой готовили к показу. В сборке есть отдельное меню с четырнадцатью заданиями, отобранными для демонстрации. Эта миссия входит в список, но показывали ли её кому-либо, по файлам не установить. Всего в кампании сорок семь заданий; о готовности остальных это меню ничего не говорит.
Реактивный ранец при этом не был обещанием. Его код лежит в самом движке и известен по обновлениям 2014 года — то есть повторяемое задание с ранцем, вставленное в прохождение одиннадцать раз, опиралось на готовую систему движения, а не на строчку в плане.
Насколько далеко зашли сцены. Есть отдельный файл, где для каждой катсцены перечислено, что и кто в кадре — персонажи, предметы, машины. По нему видно, что сцены не просто задумывались, а расписывались до реквизита:
- В первой русской сцене у Тревора паспорт, посадочный талон, шпионские очки и Значок федерального маршала;
- Дальше салон самолёта из пяти секций, стюардесса, тридцать шесть пассажиров, задняя дверь и два парашюта;
- У Саймона сигареты, зажигалка, парашют и Stromberg — та самая шпионская машина, которую подхватывает Cargobob с магнитом;
- В машине русских — Василий, Кирил и Галина;
- В одной из сцен на пляже — два полотенца с именем «Michelle», дрон с пультом и Тигровая акула;
- В финальной сцене линии Тревор, Саймон, Карен и Agent 35 собираются на ночной штурм: четыре карабина, бронежилеты, бинокль, две ЭМИ-гранаты и четыре прибора ночного видения.
И самое показательное: в данных камер сохранились даты съёмки сцен: 1, 10, 11, 17 и 19 декабря 2014 года. При этом в реестре задач те же миссии числятся с нулевой готовностью. Что именно означал этот ноль, по файлам не восстанавливается — но сцены для таких заданий уже были сняты и датированы.
Финальная миссия русской линии осталась в списке прохождения, но её запись закомментирована, поэтому последовательность её пропускает. Почему это сделали, по файлам не видно.
Где это всё было собрано
Самое неожиданное — в отдельном тестовом уровне сохранились локации, похожие на места действия описанных миссий. Их связь с конкретными заданиями нужно проверять отдельно.
Уровень называется concept_test, весит сто мегабайт и лежит двумя архивами. Внутри 411 чертежей, и 406 из них расставлены по координатам — то есть это не склад заготовок, а выставленные на места сцены.
Что в них: подводная база — 147 кусков, с минным полем, трубопроводом и мачтой, уходящей до поверхности. База ЦРУ — 96 кусков, и в ней серверный зал длиной 383 метра, а вместо входа радарная станция. Космическая станция — 26 кусков, и рядом с ней шар Земли. Плюс 66 кусков мультиплеерных квартир двух классов и дома на сваях в семи вариантах.
И роскошный гостиничный номер, за окном которого — Париж.
Про него стоит сказать отдельно. 23 сентября IGN вышел с заголовком, что отменённое дополнение могло впервые за пятнадцать лет вывезти действие GTA из Америки — в Европу. Что в файлах на самом деле: два цилиндрических задника вокруг комнаты, обтянутых фотопанорамой города, и на них чётко читается Эйфелева башня. Это плоская картинка — вид из окна, а не место, куда можно выйти.
И сама текстура называется paris_backdrop_TEMP. Пометка TEMP в этом уровне означает времянку — ровно так же подписаны майамские отели раннего уровня, и там это значит «болванка под замену». То есть Париж может быть просто заглушкой под «какой-нибудь заграничный город».
А слов «Paris» и «Eiffel» VGTimes больше нигде в скриптовом слое утечки не нашёл — ни в одной миссии, ни в отладочных меню, ни в багтрекере. Линии дополнения названы по местам действия: русская, арабская, корейская, линия ЦРУ, казино, реактивного ранца и космоса. Европейской среди них не нашлось.
Так что заграничная часть дополнения — это один номер с картинкой в окне. Красиво, но на поездку в Париж не тянет.
Что связывает уровень с «Агентом Тревором», так это имена. Корейская подводная база, линия ЦРУ и космос из порядка прохождения дополнения ложатся на подводную базу, серверную ЦРУ и космическую станцию отсюда же. Совпадение существенное, но прямой ссылки одного на другое в файлах не нашлось: это вывод по именам, а не запись.
Многое отсюда уже разошлось по сети: картинки подводной базы и космической станции появились в сети через день-два после слива, про них писал PC Gamer, а про парижский номер, как уже упоминалось, IGN. VGTimes добавляет к этому само имя уровня, счёт чертежей, опись объектов и то, как всё это разложено. Разбора всего уровня целиком в проверенных нами публикациях не нашлось, а по нему видно главное: собрано всё это не как карта, а как витрина. Почти всё выставлено рядами на плоскости вокруг начала координат, и сам кадр назван говоряще — «витрина, ряд первый». Исключений два — подводная база и космическая станция: они вынесены в собственные точки, отдельно от рядов. Остальное разложено так, как раскладывают не уровень, в который заходит игрок, а показ для своих: вот серверная, вот номер, вот квартиры — смотрите, что получится.
Текстур на весь уровень сорок девять штук. Это стадия блокаута: объёмы есть, отделки нет. Точное время сборки уровня назвать нельзя, но верхняя граница есть: по штампам экспорта он не позже 25 ноября 2014 года — то есть старше майамского города, который доделывали ещё полгода после.
Куда делось отменённое
Дополнение отменили. А три года спустя в GTA Online вышло «Ограбление Судного дня» — и часть тем из отменённого блокаута обнаруживается в нём.
Мы сверяли имена и назначение объектов, а не геометрию моделей: у нас нет способа сказать, что в сетевом паке стоят те же самые модели. Поэтому всё ниже — совпадение тем и способа именования, а не доказанный перенос. Совпадений, впрочем, много, и они идут набором.
Серверная ЦРУ из блокаута — это зал на 383 метра с рядами стоек: в файлах они названы ct_02_cia_server, а в «Судном дне» — xm_base_cia_server. Дальше пара к паре: переговорная с рядами столов, палитра горной базы без самой локации, шахта, орбитальная пушка. У каждой вещи из блокаута находится тёзка в сетевом дополнении.
И сам Agent 14, персонаж «Судного дня» и хозяин Объекта, в отменённом дополнении уже фигурировал: три миссии линии убийств называются T-SPY Agent 14.
А вот подводной базы в релизных файлах найти не удалось. Мы искали и по именам из блокаута, и по общей пометке, которой помечен весь «Судный день»: спутники и оружие корейской линии находятся, а база под этими именами — не нашлась. Она может лежать там под другим именем: перебор всех возможных имён — отдельная работа.
Что проверяли на испытательных полигонах
Рядом с городами и дополнениями в архиве лежат четырнадцать служебных уровней. Звучит скучно, но именно они показывают, что Rockstar вообще пробовала — не задумывала, а проверяла в движке.
Находки тут трёх разных родов, и по доказательности они не равны. Расставленные стенды — это то, что действительно проверяли в движке. Библиотека реквизита просто лежит рядом. А код движка показывает написанное — но вызовов этих кусков из просмотренных нами скриптов не нашлось.
Главный полигон — это набор стендов из 297 расставленных кусков. По ним видно возможности, которых мы в вышедшей GTA 5 не встречали.
Свободное лазание по скале. Скала с зацепами, угол, карниз, блоки для перехватов, навесы — и стенки строго заданных размеров: 50 на 50, 50 на 500, 100 на 50, 100 на 500, 200 на 50, 200 на 500. Так проверяют потолок: на какую высоту персонаж способен забраться и какой ширины уступ ему нужен. В вышедшей игре свободного лазания нам не встречалось — персонаж подтягивается только на заранее размеченные уступы.
Горнолыжный спуск — трассы и повороты отдельными кусками.
И лестницы под лошадь. Это место лучшее во всём уровне. Есть обычный набор ступеней — 25 на 25, 25 на 28, 25 на 50, 30 на 30 сантиметров. И есть ровно такой же набор, но с пометкой «лошадь» в имени каждой ступени, плюс отдельная площадка для разворота. То есть под лошадь построили собственный стенд из ступеней разной высоты и проверяли, какие она берёт. В скриптах того же уровня лежит и отдельный испытательный сценарий для неё.
Плюс пейнтбол, трамплин, шумовая полоса, булыжная мостовая, барханы, плоскости земли на четыре и семь километров для проверки дальности прорисовки — и набор биомов: болото, побережье, лес, зелёные холмы, сухие холмы с пустыней, горы.
А в архивах реквизита того же полигона лежит целая библиотека, которой в игре не нашлось. 472 модели с общей пустынной приставкой в имени, и в лицензионной копии GTA 5, по которой сверялся VGTimes, не встретилась ни одна.
По именам видно, что это. Восточный базар: прилавки со специями, фруктами и зерном, навесы восемнадцати видов, тележки, ковры, кувшины, кофейники, весы, бельевые верёвки, лавка мясника, парикмахерская, вывеска «халяль», заклинатель змей и бедуинские шатры. И военная половина того же набора: мешки с песком, армейские палатки и койки, рации, вышки, колючая проволока, зенитка, зенитные ракеты, противотанковые мины со знаками минного поля, бункерные двери — и обломки танка Т-34, разобранные на башню, каток и топливный бак.
Рядом с пустынным биомом лежит второй слой — альпийский, и он смыкается с горнолыжным стендом из того же уровня. Есть и статисты обоих наборов. Вот это сочетание пустыни с Альпами и делает происхождение библиотеки открытым вопросом: под какую игру или какой режим её собирали, по файлам не определяется.
Расстановки этих 472 кусков не нашлось ни в одной карте уровня — как не нашлось и описаний, которыми модель заводят как объект игры. То есть это библиотека моделей, лежащая рядом, а не собранная сцена и не проверенная возможность.
Третий источник сведений — код движка. VGTimes насчитал в нём 402 команды с реализацией длиннее 8 строк. В просмотренных нами скриптах вызовов этих команд не нашлось. По коду можно понять, что делает часть из них, но нельзя установить, использовались ли они в GTA 5: движок мог вызывать их другим способом.
При этом «не используется» не значит «вырезали из GTA 5». Движок у Rockstar общий, часть кода унаследована от прежних игр — поезд с расписанием станций, например, скорее достался от GTA 4, где метро работало именно так.
Что там всё-таки любопытного: подвесить человека на мясницкий крюк — с физической связью тела и крюка и пределами вращения по трём осям. Полный набор для погрузчика с поддонами: поднять вилы, опустить, зафиксировать, прицепить поддон, отцепить. Расход топлива у машин, со скоростью расхода и отключением следов на земле — бензин в GTA 5 не тратится. Испачкать персонажа, поставить шрам, нанести ножевое ранение в заданную зону тела. Наручники и связанные щиколотки.
И та самая команда про ближайшую кабину канатной дороги — та, что объясняется вырезанным убийством. Вот она подпирается с двух сторон сразу: и звуковой описью пакета, и собственным существованием в коде.
Отдельный уровень — полигон физики и анимации, и в нём 244 машины. Сорок три имени из них в просмотренной части розничных архивов не нашлись.
Сверка шла по именам, а тождество моделей по именам не устанавливается: для этого надо сравнивать геометрию. И список частично старый: как минимум одиннадцать из этих сорока трёх имён уже перечислены на странице GTA Wiki «Beta Vehicles in Grand Theft Auto V».
И три позиции из сорока трёх — вообще не вырезанное, а переименования: «aurion» стал Asterope, «monster» — Liberator, «sabre» — Sabre Turbo. Машины вышли, сменилось внутреннее имя.
Ограбление, которое вырезали
В архиве сохранились материалы вырезанного из GTA 5 ограбления The Sharmoota Job, в том числе записанные реплики. По ним можно подробнее проследить, как должна была развиваться миссия.
О самом ограблении известно давно: ему посвящена отдельная страница в GTA Wiki, где описаны 3 подхода и напарники. Запись экскурсии по особняку лежит на YouTube с 2014–2015 годов. Давно известно и о планах добавить верховую езду. В файлах вышедшей игры сохранилась скомпилированная сеть анимаций прыжка, а карты аллюров и реакций удалось разобрать только по утечке.
Известны и цели ограбления: сейф, призовая лошадь, похищение жены. А вот зачем красть лошадь — объяснения этому в проверенных нами публикациях не нашлось.
В записанной, но не вышедшей сцене Лестер объясняет замысел вслух:
— Да.
— Он помешан на лошадях и хочет получить потомство от своей кобылы с призовым жеребцом. От Шармуты. Знаешь, тот конь, что выиграл Ocean Sweepstakes в Liberty Memorial в прошлом году?
— Да.
— Так вот, беда в том, что синдикат, который владеет Шармутой, не продаёт Амиру семя.
— Ага.
— Вот я и думаю: если одолжить Шармуту на пару дней, устроить фальшивое похищение, дать ему покрыть всех кобыл в конюшне, а потом просто вернуть — большого вреда нет и серьёзного преступления нет. Конокрадство — довольно мелкое правонарушение, кажется. Вообще-то понятия не имею. Сильные обезболивающие.
Шармута — кличка коня, а не название операции. И тут же, в той же сцене, авторы сами оценивают, что написали:
В той же сцене Лестер говорит, где искать коня: «за Vinewood Park Raceway, какое-то странное ранчо, записано на Патрисию Васкес». То, что ранчо из этого задания — La Fuente Blanca, владение Мартина Мадрасо, разбиралось публично и открытием не является. Известно и что Патрисия — его жена, которую Тревор увозит в «Caida Libre». VGTimes обнаружил в записи дополнительные детали: Лестер называет Патрисию Васкес человеком, на которого записано ранчо, и говорит, что лошадь стоит в её конюшне. Это не позволяет утверждать, что сюжет позднее переработали для вышедшей игры: совпадают место и персонаж, но по файлам не видно, как менялся замысел.
Название задания тоже уцелело: строка The Sharmoota Job лежит в текстовых файлах вышедшей игры. Единственным следом линии её называть нельзя — рядом живут ранее известные звуки, маршруты записи и отдельные модели. Но сама миссия не вышла.
Две сцены, которые стоит привести отдельно.
В одном из вариантов планёрки Лестер объясняет, в каких костюмах герои пойдут на дело:
— Мимы?
— Да, мимы. Они простые, и я уже нанял подсобных — подберём по дороге.
В другом варианте герои переодеваются клоунами. Сохранилась и запись их диалога во время ограбления. Её выложили вскоре после утечки, поэтому сама сцена уже известна — но вот дословный текст. Тревор с порога предлагает переиграть:
— Это не моё имя.
— Бобо! Это дурацкая затея. Надо войти, вырезать всю эту фиесту и вынести сейф.
— Мы сделаем по-моему, Хэппи. И ты будешь этому рад.
Дальше сцена держится на том, что хозяйка дома клоунов не заказывала.
Насколько далеко зашла работа над ограблением. Вот это, пожалуй, интереснее самого сюжета.
Самое убедительное — записи багтрекера. VGTimes насчитал их девяносто три, с октября 2011 по июль 2012 года. У ограбления есть собственная линия катсцен — наравне с линиями вышедших ограблений.
По записям видно, что миссию уже запускали и тестировали. Полностью записанные диалоги подготовительных этапов. Захват движений актёров — и жалобы на то, что после него персонажи застывают с раскинутыми руками. Отдельная модель персонажа, заказанная специально под сцены ограбления. Для финала — конюшня, загон, охрана, работники ранчо и сейф, который застревает за вывеской. Езда верхом прямо в налёте: в одном из багов Тревор застревает в позе посадки, «если игрок пытается поехать на Sharmoota».
В разведке герои приходят в дом под видом покупателей, которых водит по комнатам риелтор, и осматривают «элементы охраны» — под это заведены отдельные короткие катсцены. Есть даже отдельная кнопка-подсказка, чтобы изображать пару, которая смотрит дом. В отдельной записи багтрекера отмечено, что она конфликтует с кнопкой вызова телефона.
Рабочее имя ограбления было «Nice House Heist», и его сокращение осталось в поздних записях багтрекера рядом с новым названием. Схема у него полная, как у вышедших: две подготовительные миссии, доска планирования и три варианта финала вместо обычных двух. Запускать можно было всеми тремя героями.
В контрольных списках сдачи — тех, по которым команда отмечала, что делается к сроку, — идентификаторы ограбления стоят в ноябрьском наборе и один остаётся в декабрьском. Потом они пропадают, а в июньском и июльском появляются снова.
Надёжнее всего тут мартовский список: в нём перечислены все пять линий ограблений, дошедших до игры, а записей вырезанного в нём не нашлось. То есть список полный. Февральский для такого вывода не годится: он сам неполный, в нём не нашлось даже вышедшей ювелирной линии.
И это именно присутствие или отсутствие в сохранившихся наборах, а не доказанное решение команды отменить миссию и вернуть её обратно: состав файлов в папках разный, в июле их одиннадцать против шести в феврале.
И отдельно — лошадь. Для неё в сборке лежат три карты анимационных сетей, и собраны они подробно. Четыре аллюра расписаны каждый отдельно: шаг, рысь, кентер, галоп. Есть вставание на дыбы, резкая остановка с любого аллюра и с выбором опорной ноги, движение задом наперёд с поворотами, разворот на месте, подмешивание уклона. Прыжок разобран по аллюрам — отрыв и приземление отдельно для каждого, падение с каждого, приземление на корточки, масштабирование прыжка под препятствие и отдельная ветка на случай удара головой.
Шпоры сделаны отдельной машиной состояний, со своими клипами под каждый аллюр. И в сети предусмотрены узлы реакции на перебор со шпорами — на то, что лошадь пришпоривают слишком часто, заведены отдельные ветки. В записях багтрекера рядом лежит замечание, что при слишком резкой скачке седока сбрасывает.
Всё это — карты узлов анимации. Они показывают, что механику расписали; работала ли езда в игровой сборке, по ним не видно.
Похожая механика в Red Dead Redemption 2, однако это совпадение, а не доказанный перенос: связи между файлами мы не нашли.
В вышедшую GTA 5 из всего этого доехала только скомпилированная сеть прыжка. Разобранные имена узлов есть лишь в утечке.
Что ещё вырезали
Ограбление с конём — не единственная вырезанная линия. Вот остальное, что сохранилось в виде звуковых файлов.
Шестой погром Тревора. В игре их пять — сцен, где Тревор громит очередное место. В сборке звуковых банков шесть. У пяти первых в розничной игре есть всё: файлы катсцен, наборы анимаций. У шестого в просмотренном нами розничном корпусе не нашлось ни файла катсцены, ни анимаций.
А в сборке он есть, и не в виде заготовки: восемь версий, суммарно шесть минут девять секунд записанной речи.
Линия Соломона Ричардса — крупнейшая из оставшихся неразобранными звуковых линий, и VGTimes расшифровал её целиком. Девять банков, около 2400 несовпавших с игрой слов, и это целая переписанная сюжетная ветка.
В сохранившейся записи знакомство с Соломоном начинается так же, как в вышедшей игре: он зовёт Майкла войти, жалуется, что раньше у него было 3 секретарши, а теперь кофе приходится варить самому. Но дальше ранняя версия сцены отличается. Фильм здесь называется Subprime, а не Meltdown; проблемный актёр один, а не двое. Отличается и просьба Соломона к Майклу:
То есть Майкл становился продюсером, а не ассистентом, и речь шла о страховом мошенничестве. Соломон при этом боится, что убьют его самого: «Девин Уэстон просил тебя подсыпать мне в стакан? Подменить лекарство от простаты мышьяком?»
Развязка тоже другая. В игре это одна сцена, где план объявляет Девин. В сборке всё разыграно как линия Соломона: семья владельца студии скандалит на похоронах («я должен был тебя абортировать», «ты динозавр, старик, а к Земле летит комета»), сын продаёт студию под кондоминиумы, Майкла представляют новым главой производства, а Соломон через суд объявляет сына наркоманом и лишает права голоса, чтобы связать место тяжбой.
И в ту же сцену вшито объяснение давно известной вырезанной миссии. Соломон спрашивает, как снимать следующую картину — «Jump Jet», про двух пилотов истребителя, которые выясняют, кто лучше, на авианосце и борются с коммунизмом при помощи говорящей собаки. И заканчивает: «мне понадобится самолёт… из тех, с вертикальным взлётом… что-нибудь из восьмидесятых, британское».
Это «Харриер». Вырезанная миссия с ним описана в перечне удалённых миссий GTA Wiki, но объяснения, зачем он был нужен по сюжету, в проверенных нами публикациях не нашлось.
Лестер в сетевом шутере. Три банка, и в розничном корпусе звука им соответствия не нашлось. Вырезанное вступление миссии «Friend Request»: Лестер играет в онлайн-шутер и переругивается с противником-подростком. Сначала беззлобно — «отличный хедшот», «то же время на следующей неделе?». А когда тот переходит на оскорбления, Лестер отвечает тем, чем умеет: называет ему адрес, на котором тот живёт, и вспоминает, за что в прошлом году осудили его мать.
Агата и Бетани. Пять записанных сцен под пометкой «A против B»: Mrs. A — Агата Эндрюс, Mrs. B — Бетани из семьи Бёртон. Соседки, и одна увела у другой мужа. На вики эти буквы известны как имена — содержания за ними в проверенных публикациях не приводилось.
Там же — Дейл и Магента, и Брюси Киббутц: истории, от которых публично сохранились только имена в списках, а у нас лежат сами сцены.
Съёмка клипа. Сцена, которой в розничном звуке и субтитрах не нашлось: режиссёр орёт сразу на всех — «эта хрень пойдёт на ETV», «не трогайте мой звук», «мне нужен другой монтажёр, чтобы это вырезать».
Тревор в трейлере. Пять банков, и в розничном корпусе звука этой ветки не нашлось: Тревор измывается над жильцом, требует выпить и «покажи сиськи», получает ответ «сэр, у меня нет сисек». Сама сцена выложена звуком вскоре после слива, мы её только расшифровали текстом — находкой тут будет расшифровка, а не сцена.
И короткая сцена с Франклином, приехавшим к знакомому Тревора: «Опознайся, гражданский» — «я друг Тревора» — «у Тревора есть друзья? Я думал, у него есть люди, которых он ещё не убил».
Что переписывали между дублями
В архиве лежит звук — и по нему видно, как менялся сценарий уже после того, как его начали записывать.
В рабочей сборке 5671 звуковой банк. Если отбросить у имён пометки версий и сгруппировать, получается 353 сцены, у которых сохранилось больше одной версии — всего 1095 записей. У 192 сцен версий по две, у 80 — три, у 26 — четыре, дальше хвост до одиннадцати, и одна сцена с пятнадцатью.
Больше всего правили концовки. У всех трёх финалов игры — по девять версий, у «Смертельного желания» — одиннадцать. Одиннадцать же у вступления GTA Online.
Имена банков между рабочей сборкой и вышедшей игрой меняются, так что отсутствие имени в розничном перечне не значит отсутствия звука. Сверять можно только содержание.
Поэтому интереснее не счёт, а один разобранный случай. Вторая часть сеанса Майкла у психотерапевта записана четырьмя дублями. Сцена одна и та же от первой реплики до последней — а текст в дублях разный, и рядом с ним слышно, что в итоге вошло в игру.
Майкл в раннем дубле говорит: «я постоянно загоняю себя в положения, где трудно не умереть». В игре он говорит: «я постоянно загоняю свою задницу в положения, где не дать себя убить немного трудновато». Грубее и смешнее — и это ровно та правка, которую делают, когда реплика написана, но не звучит.
Про Мартина: в раннем дубле «жирный конченый спортсмен, который так и не смог уложить в голове», в игре — «который не может уложить». Прошедшее время стало настоящим: беда не в прошлом, беда продолжается.
Была реплика «единственное, в чём я состоятелен» — стала «единственное, в чём я доволен и состоятелен», и на добавленном слове теперь держится вся фраза. А «я ведь плачу тебе, чтобы ты слушал мои проблемы, верно?» превратилось в «я плачу тебе, чтобы ты слушал мои проблемы.» — из оправдания в отповедь, одним снятым вопросительным знаком.
И одну реплику вырезали целиком. В трёх дублях доктор начинает вторую часть словами «Что ж, та ещё история». В смонтированном дубле их уже нет — он начинается сразу со следующей фразы. В вышедшей игре этих слов тоже не нашлось: ни в субтитрах, ни в звуке роликов, ни в процедурной речи.
Реплики из релизной игры мы расшифровывали с помощью программы распознавания речи. Совпадение при таком методе доказывает, что фраза в игре есть; отсутствие — довод слабее, поэтому по каждому отрицанию проверялось, что соседние слова распознаются нормально.
То же самое с Девином Уэстоном. Сцена, где он вербует Франклина, в игре есть, но ранний дубль совсем другой. Там Девин под наркотиками: «прости, приятель, я тут закинулся, три штуки, меня несёт, я обычно не такой». Откупается от подружки чёрной картой. Жалуется на упадок преступного мира: «когда я был просто миллионером, я знал настоящих бандитов, а теперь они все гоняются за книжными контрактами и реалити-шоу». И называет сумму: «последний развод обошёлся мне в 135 миллионов. Дёшево за такое». В игре от всего этого осталась одна реплика про дарвиниста.
Премьера «Meltdown». Восемь банков ранних дублей сцены на красной дорожке, где интервьюер несёт околесицу про белого медведя и переработку презервативов, Майкл ждёт жену, а она не приходит. Сцена в игру вошла, но текст в дубле другой.
Переписанный приезд Тревора к Майклу. Сцена есть в игре, а реплики другие: Тревор задирает Фабиана и Джимми, вытягивает из заикающегося Джимми, что Трейси пошла на прослушивание. Слов «заикающийся урод», «отстань от парня» и «твой отец — сволочь, у меня от этого пищеварение портится» в рознице не нашлось ни в субтитрах, ни в звуке — при том что слово «прослушивание» в той же сцене звучит шесть раз.
Ранний Дрейфусс. В архиве сохранился другой вариант развязки «Тайны Леоноры Джонсон». Дрейфусс и в вышедшей игре зовёт охрану, но здесь это происходит позже. Сначала он пытается уговорить Франклина: «я отдал лучшие годы жизни этому месту», «а теперь какой-то уличный прощелыга не даёт старику последний раз взглянуть на радость». Охрану он зовёт после отказа, тогда как в игре — после фотографии.
Джек Хауитцер. Отдельная история, и по ней лучше всего видно, что такое «сняли и не показали». Дорожек передачи с ним записано 25,7 минуты, а в игру вошло 9,1 — почти втрое меньше.
И вырезанная реклама в устах судьи «Fame or Shame». В вышедшем выпуске ведущий обещает «ещё более тонкий продакт-плейсмент», и духовный судья Имран выдаёт притчу: «не всё белое — молоко». А в сборке на этом месте, в двух дублях, записано другое:
— Кто, я? Да я тут просто наслаждаюсь роскошным «Ап-н-Атом», тройным чизбургером с десятью ломтиками бекона…
То, что судья рекламирует эту закусочную, известно с 2014 года. Новое — дословный текст куска, который в эфир не попал.
А один из звуковых банков — вообще не сцена, и разницу между рабочей сборкой и игрой он показывает лучше всего. Это кусок смены в студии звукозаписи, попавший в файл целиком. Слышны команды режиссёра озвучания: «тихо на площадке, пишем звук», «пошли», «стоп», «ещё чуть больше шока». И следом — четыре подряд дубля одной и той же реплики Тревора.
В игру попадают смонтированные сцены. В рабочей сборке рядом с ними лежат сырые смены, с браком, переспросами и указаниями режиссёра.
Обновление, которое уже лежало в дереве
До сих пор речь шла о том, что построили и отложили, отменили или переписали. Но в архиве сохранились и файлы обновления, которое на момент кражи ещё готовили к выпуску.
В файле, где перечислены переключатели новых возможностей, есть такая пара строк. Флаг июльского обновления 2022 года — «The Criminal Enterprises», вышедшего за полтора месяца до взлома, — стоит включённым без всяких условий. А соседний переключатель, заведённый под второе обновление 2022 года, включён только во внутренней сборке. В той, что уходит игрокам, он выключен.
За этим флагом VGTimes насчитал около 31,9 тысячи строк кода в 142 файлах. Это приблизительный подсчёт: наш способ не во всех местах надёжно определяет границы вложенных условий. Поэтому увереннее можно говорить о списке из 142 файлов. Но масштаб понятен: за этим флагом кода больше, чем за любым другим в том же файле, включая Cops'n'Crooks с его 11 тысячами с лишним строк.
Названия файлов помогают понять, к чему относится код: кислотная лаборатория, убежище «Джаггало», многоэтажный гараж, уличные барыги, награды за вход и рождественский сценарий 2022 года. Всё перечисленное относится к циклу Los Santos Drug Wars, который начался 13 декабря 2022 года. Многоэтажный гараж и уличные торговцы добавлялись позже; наличие этих элементов в игре можно проверить и без утечки.
В шапке самого позднего из проверенных скриптов стоит дата 10 августа 2022 года, примерно за месяц до взлома. В файле многоэтажного гаража указана дата августа 2021-го. Эти отметки не позволяют установить, когда был написан весь код в сохранившихся версиях файлов.
Утечки обычно обсуждают ради того, что студия так и не выпустила. Здесь сохранился код обновления, которое вышло спустя 3 месяца после кражи, — с интерьерами, экономикой и рождественским сценарием.
Флаг отделял этот код от пользовательских сборок. Однако его наличие не означает, что обновление уже было готово к выпуску: с августа по декабрь его могли существенно изменить. Эти файлы показывают состояние кода в сохранившейся версии дерева, а не окончательный результат.
Сведения о содержании обновления появлялись до релиза и без этого архива. Находка VGTimes в другом: в сохранившейся версии дерева за переключателем находится около 31,9 тысячи строк в 142 файлах, и этот код отделён от пользовательских сборок.
Инструменты с путями к ветке следующей игры
Последние файлы архива показывают, над чем Rockstar работала дальше.
Rockstar использует общий набор рабочих программ для разных проектов. В их файлах сохранились пути к нескольким веткам разработки. VGTimes нашёл в дереве GTA 5 311 файлов, внутри которых упомянуты соседние ветки. Девяносто из них несут следы ветки americas — это рабочее название шестой части, о котором в 2022 году писал Bloomberg. Двести двенадцать — следы ветки rdr3, то есть Red Dead Redemption 2.
Оставшиеся девять в эти колонки не попали, и разбирать их пришлось поимённо. Устроены они наоборот: служебный путь у них ведёт не наружу, а в дерево самой пятой части, — наружу смотрит что-то другое внутри файла.
Редактор расцветок транспорта сохраняет журнал в каталоге ветки шестой части. Эта же ветка указана как источник данных по умолчанию в 2 инструментах карты, которые отправляют замеры производительности в поисковый индекс. Оба файла датированы 14 сентября 2022 года. Путь к описанию автоматизации в одной из библиотек настроек тоже ведёт в эту ветку. Инструмент отложенных изменений содержит таблицу путей сразу для 2 веток: americas и rdr3. В плагине для программы анимации нашлось более 20 путей к исходникам rdr3. Наконец, у самого старого файла, датированного 2015 годом, служебный путь указывает на третью ветку — wildwest, а внутри файла есть путь в rdr3. Чем была wildwest, по этим данным установить нельзя.
То есть колонок в таблице по-прежнему две. Девятка — про другое: наружу у этих файлов смотрит не служебный путь, а то, с чем они работают.
Во всём наборе из 311 файлов нашлось вот что: измерение производительности, просмотр и управление тестовыми консолями по сети, отладочная панель, работа с анимацией и переносом диалогов, редактор расцветок транспорта. Рабочие программы — не материалы игры и не её код.
Путь внутри файла говорит о том, под какой веткой он заведён, а не о том, где физически шла сборка. Поэтому корректно говорить «следы ветки», а не «собрано в ветке». И игровых материалов GTA 6 в проверенной части архива не нашлось — только ссылки и общие инструменты.
Датировать при этом можно не всё. Из девяноста файлов со следом этой ветки шестьдесят один — исполняемые, и только у двадцати двух из них штамп времени в заголовке можно считать настоящей датой: у остальных сборка воспроизводимая, и в этом поле лежит не дата, а кусок хеша — отсюда берутся «файлы 2049 года».
Вот по этим двадцати двум и выстраивается хронология: апрель 2019-го — мост к системе контроля версий, июнь 2019-го — звуковые библиотеки, март 2020-го — поддержка геймпадов PlayStation, сентябрь 2020-го — отладочная панель, ноябрь 2021-го — измерение производительности.
Самая свежая запись — 15 сентября 2022 года: диспетчер тестовых консолей и три его библиотеки. Через три дня, 18 сентября 2022-го, в сеть попали ролики GTA 6 из той самой утечки 2022 года, с которой началась история этого архива.
Что из этого следует
Архив на 192 гигабайта интересен не тем, что в нём лежит другая невышедшая игра. Игровых материалов GTA 6 в проверенной нами части не нашлось — только ссылки на соседнюю ветку и общие с ней рабочие программы.
Он интересен другим: по нему видно всю лестницу — от одного имени в справочнике до снятых сцен и игравшейся миссии.
На нижней ступени — одно имя. От пака Manhunt осталась строка в справочнике, и больше в просмотренном дереве он нигде не встретился. От зомби-линии — три записи в списке прохождения, а условий сборки под неё в коде не нашлось.
Ступенью выше — то, что лежит, но никуда не поставлено. 472 модели восточного базара и военного набора без единой расстановки: как объекты игры они не заведены. Четыреста две регистрации команд движка с непустыми телами длиннее восьми строк, вызовов к которым в просмотренных скриптах не нашлось, — и часть из них наверняка наследство прежних игр.
Ещё дальше продвинулись проекты, которые уже собирали и проверяли. Тестовые стенды с лестницами для лошади. Тестовый уровень, где серверная и другие объекты выставлены рядами, а подводная база и космическая станция размещены отдельно. Майамский уровень, по которому можно было ходить и ездить: для него проложили маршруты транспорта и настроили ночное освещение. Cops'n'Crooks с 844 записями о дефектах в багтрекере — результатом месяцев тестирования.
И на верхней ступени — то, что уже снимали. У «Агента Тревора» собственная система сохранения, порядок прохождения на сорок семь миссий, сцены, расписанные до реквизита, и даты съёмки — декабрь 2014 года. У вырезанного ограбления — записанные диалоги, захват движений, отдельная заказанная модель персонажа и три варианта финала.
Что из этого в итоге увидели игроки? Либерти-Сити, «Агент Тревор» и ограбление с конём не вышли. В проверенных нами файлах GTA 5 не нашлось подтверждения, что игрок мог посмотреть выступления в комедийном клубе. Сцены с Дрейфуссом, Девином и Соломоном вошли в игру, но их переписали. Часть машин появилась под другими названиями. А обновление, которого ещё не было на момент кражи, выпустили 3 месяца спустя.
Геймер играет лишь в финальный продукт. По нему трудно понять, какие варианты пробовали во время разработки, сколько работы в них вложили и на каком этапе от них отказались.
Сколько ещё замыслов Rockstar осталось за пределами вышедших игр, по этому архиву определить нельзя. Нам доступна одна рабочая ветка, охватывающая лишь часть истории разработки.
В ней смешались материалы разных лет: записи багтрекера относятся к 2010–2012 годам, майамский уровень — к 2014–2015-му, а скрипты доходят до августа 2022-го. Так рядом оказались давно отложенные проекты, код обновления, вышедшего через 3 месяца после кражи, и инструменты с путями к ветке следующей игры.
А что из этого вы хотели бы получить больше всего — Либерти-Сити в GTA 5, «Агента Тревора», ограбление с конём или Cops'n'Crooks? Пишите в комментариях.
Что из этого вы хотели бы получить больше всего?
Всё об утечке GTA 5
- Большой разбор VGTimes: что лежит в утечке исходников GTA 5
- Мобильное приложение GTA 5 вылетало, когда Чоп справлял нужду: VGTimes собрал самые смешные записи из известной утечки Rockstar
- Что разработчики GTA 5 предлагали добавить в игру: 197 пожеланий из багтрекера Rockstar
- Отменённый Либерти-Сити для GTA 5: VGTimes нашёл в файлах, какой район где
- В файлах GTA 5 до сих пор лежат остатки вырезанной верховой езды — VGTimes разобрал масштаб ее разработки
- Rockstar планировала добавить Liberty City в GTA 5: в сеть попал архив на 192 ГБ
-
Rockstar планировала добавить Liberty City в GTA 5: в сеть попал архив на 192 ГБ -
Как GTA 5 заработала больше любого фильма в истории -
В файлах GTA 5 до сих пор лежат остатки вырезанной верховой езды — VGTimes разобрал масштаб ее разработки -
Отменённый Либерти-Сити для GTA 5: VGTimes нашёл в файлах, какой район где -
Rockstar боялась, что Red Dead Redemption 2 покажется скучной на фоне GTA 5 с тремя героями -
Лучшие игры про супергероев на ПК, PS4/PS5 и Xbox: ТОП-33 -
Самые красивые мужские персонажи из игр — ТОП-50 горячих мужчин видеоигр -
20 игр, похожих на Atomic Heart (2026): от BioShock до шутеров про СССР -
Лучшие MOBA-игры всех времён: топ-14 от Dota 2 до Deadlock































