Оббе Вермей, технический директор 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 листа дерева. Технически мусор выглядит как прямоугольники, которые двигаются по земле по определённому алгоритму. Каждая итерация состоит из:
-
Горизонтальное движение параллельно земле. Если погода ветреная, мусор будет лететь дальше.
-
Вертикальное движение вверх-вниз, высота варьируется по функции синусоиды.
-
Вращение прямоугольника.
Итерации анимации вызываются тем чаще, чем более ветренная погода. Для каждого типа погоды в игре указана различная интенсивность ветра.
Функция ветра от автомобилей была завязана не на объекты мусора, а на автомобили. Эта функция раз в несколько фреймов проверяла область за машиной на наличие мусора. Если таковой находился и не был занят в анимации, то он начинал двигаться за автомобилем, создавая иллюзию воздушных потоков. Такими же тривиальными хаками, без полноценной симуляции ветра, в трилогии реализованы движения частиц дыма.
С мусором связан визуальный баг. Поскольку проверять всю траекторию полёта вычислительно дорого, алгоритм выбирает высоту лишь в точке падения. Именно поэтому иногда газеты пролетают сквозь землю, утверждает Оббе.
Из 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 IV он написал уже более праводоподобную симуляцию полей ветра, но доработать до нужного качества не успевал, поэтому вновь её безвозвратно вырезал.
Впрочем, опыт всё равно пригодился. Некоторые из разработчиков GTA помогали доделывать игру Manhunt, и Оббе переиспользовал код мусора.
Источник: habr.com