Оббе Вермей, технический директор Grand Theft Auto 3, Grand Theft Auto: Vice City и Grand Theft Auto: San Andreas поделился рассказом о создании игр трилогии. Разработчик пояснил, почему одна из мелких визуальных деталей присутствовала в первых двух играх, но исчезла в третьей. Помимо художественного эффекта роль сыграло влияние на производительность игры.
В августе 1995 года нидерландского разработчика компьютерных игр по имени Оббе Вермей приняли на работу в DMA Design. На тот момент относительно взрослая (открылась в 1987 году) студия игровой разработки из города Данди в Шотландии успела хорошо зарекомедовать себя серией игр Lemmings. В недрах DMA уже готов диздок будущей Grand Theft Auto.
Сам Вермей в создании первых двух GTA роли не сыграл, поскольку ему выпало трудиться над Space Station Silicon Valley. Без участия Оббе GTA выходит в 1997 году, а в 1999 свет увидела GTA 2. Студия DMA между тем реструктуризировалась: её выкупила Gremlin Interactive, последнюю позднее поглотила Infogrames, а DMA продали Take-Two Interactive. Открыт новый офис в Эдинбурге, столице и крупнейшем городе Шотландии, куда переводят разработчиков из Данди.
Команда разработчиков GTA 3, фотография 2000 или 2001 года. ObbeVermeij
В итоге к моменту начала полноценных работ над GTA 3 сформировалась команда опытных разработчиков, у которых была как минимум одна изданная игра за плечами — необычно хорошо для молодой игровой индустрии той эпохи. Как вспоминает Оббе, также разработке помогало то, что из головного офиса Rockstar North в Нью-Йорке не мешали микроменджментом.
Все эти детали известны из блога Вермея insiderockstarnorth.blogspot.com. Однако в ноябре игроразработчик блог удалил, объяснив, что такие мемуары не понравились бывшим коллегам. Тем не менее Оббе продолжает периодически выкладывать интересные факты про разработку в личном микроблоге.
Офисное здание, в котором разрабатывали GTA 3 и Vice City. @ObbeVermeij
GTA 3, Vice City и San Andreas часто объединяют в трилогию, хотя они не продолжают сюжет друг друга и связаны слабо — на уровне камео или отсылок. Имя «Оббе Вермей» упоминается в качестве технического директора в титрах всех трёх игр. Вермей также работал над GTA IV и несколькими расширениями, а из Rockstar North ушёл лишь в июне 2009. Но в микроблоге он рассказывает почти только про трилогию GTA, а не так называемую HD-эру.
К примеру, в прошлом Оббе пояснил, почему в Grand Theft Auto: San Andreas самолёты иногда падают из неба. В San Andreas добавили новую фичу для создания эффекта погружения: над игроком иногда рассекают самолёты, которые летят в случайном направлении. Баг со случайными падениями связан либо с медлительностью стриминга игровых ресурсов с оптического носителя, либо с ошибкой функции проверки.
На этот раз Вермей рассказал, почему в San Andreas вырезали текстуры мусора. Речь идёт про газеты и флаеры, которые ветер и проезжающие мимо машины гоняют по грязным улицам города. Впервые такая графическая деталь появилась в GTA 3, первой из игр трилогии, и сохранилась в Vice City. Идея фичи родилась у самого Оббе — в те годы много экспериментировали.
Целевая платформа игр трилогии — PlayStation 2 с 32 МиБ ОЗУ и 4 МиБ видеопамяти. Во каждой из трёх игр с различной степенью эффективности реализована симулиция открытого мира: крупный город США с пешеходами и автомобилями. При этом на PlayStation 2 в базовой комплектации нет даже жёсткого диска, поэтому закэшировать данные на диск (как на Xbox) приложение не может.
Как рассказывает Вермей, реализация фичи была простой. Художники нарисовали 4 текстуры: 2 газеты и 2 листа дерева. Технически мусор выглядит как прямоугольники, которые двигаются по земле по определённому алгоритму. Каждая итерация состоит из:
Горизонтальное движение параллельно земле. Если погода ветреная, мусор будет лететь дальше.
Вертикальное движение вверх-вниз, высота варьируется по функции синусоиды.
Вращение прямоугольника.
Итерации анимации вызываются тем чаще, чем более ветреная погода. Для каждого типа погоды в игре указана различная интенсивность ветра.
Функция ветра от автомобилей была завязана не на объекты мусора, а на автомобили. Эта функция раз в несколько фреймов проверяла область за машиной на наличие мусора. Если таковой находился и не был занят в анимации, то он начинал двигаться за автомобилем, создавая иллюзию воздушных потоков. Такими же тривиальными хаками, без полноценной симуляции ветра, в трилогии реализованы движения частиц дыма.
Одна из текстур газет. Вермей предполагает, что упоминание зомби Элвиса — это проделка художника Алисдаира Вуда
Возможно, что современное «железо» способно на реалистичную обработку частиц. Сам Оббе пишет, что для вышедшей в 2008 году GTA IV он написал уже более праводоподобную симуляцию полей ветра, но доработать до нужного качества не успевал, поэтому вновь её безвозвратно вырезал.
С мусором связан визуальный баг. Поскольку проверять всю траекторию полёта вычислительно дорого, алгоритм выбирает высоту лишь в точке падения. Именно поэтому иногда газеты пролетают сквозь землю, утверждает Оббе.
Из Vice City фича не исчезла. Более того, после прохождения миссии Dildo Dodo (разбрасывание листовок с самолёта) одна из четырёх текстур навсегда заменялась на листовку. В остальном внимания фиче уделяли мало и даже пропустили баг: в порте Vice City на Windows используется текстура газет из GTA 3, а не уникальные, нарисованные для Vice City.
Однако в релизной San Andreas этот мусор отсутствует. Решение убрать листочки и газеты было продиктовано обычным спором внутри студии. Некоторым сотрудникам внешний вид мусора не нравился. Другой весомый довод — ресурсоёмкость: для отрисовки использовались полигоны режима immediate mode.
В итоге на ранних этапах разработки San Andreas Оббе просто закомментил код мусора.
Так могли бы выглядеть улицы Лос-Сантоса, если бы фича осталась. Мод Rubbish on streets для San Andreas добавляет в игру мусор из GTA 3
Впрочем, безвозвратно ничего потеряно не было. Когда разработчиков GTA привлекали помогать доделывать игру Manhunt, Оббе переиспользовал код мусора.
Источник: habr.com