Лучшее  🚀
21.02.2021 в 19:15 Evernews

Трехмерная двухмерность: как работает Diablo 2 Resurrected

Игра может в любой момент переключиться на старую графику просто потому, что внутри у нее ничего не поменялось.

Кстати, на сайте читать удобнее

Diablo 2 Resurrected, доработанная версия оригинальной игры, получила улучшенную графику, обновленный интерфейс и ряд других улучшений, но по сути не слишком далеко ушла от Diablo 2. В основе игры лежит примерно тот же код, что и 20 лет назад — это обеспечивает аутентичность игровых механик.

Воскрешая Diablo: главное из интервью авторов Diablo 2 Resurrected

На панели BlizzCon, посвященной Diablo 2 Resurrected, ведущий художник Крис Амарал рассказывает, что специально для обновленной версии разработчики написали новый графический движок. Он понадобился, чтобы нормально перенести игру в трехмерное пространство.

Оригинальная Diablo 2 использовала спрайтовую графику и только имитировала трехмерность: на самом деле все объекты были двухмерными. Чтобы условный Варвар мог повернуться, разработчики создавали его модель, а затем «фотографировали» со всех сторон, создавай спрайты для поворотов.

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

Переделать 2D-изображение игры в 3D — очень трудная задача. Нам пришлось написать новый модуль рендеринга, физически корректного рендеринга, поверх старых кодов игры.

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

Крис Амарал

Из-за перехода к трехмерной графике переиспользовать старые ассеты было невозможно. Разработчикам пришлось воссоздать все объекты заново: над этим работали внешние студии-подрядчики, получившие от Blizzard архивные материалы.

Если об источниках вдохновения, то мы вдохновлялись старой документацией, которую нашли у Blizzard North. Это огромный документ Word, которым вдохновлялись художники при создании оригинала.

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

Крис Амарал

С референсами, вспоминает ведущий дизайнер Андре Абрахамян, было непросто. В архивах удалось найти сборник гайдлайнов, но самих исходных материалов оказалось не слишком много; в итоге их пришлось добывать через товарищей, некогда работавших в Blizzard.

Я спрашивал, какие файлы и архивные материалы у нас остались от Blizzard North. Мне дали материалы и сказали, что это все, но я засомневался, потому что люблю сам искать то, что мне нужно. Так что я покопался в архивах, обратился к разным командам.

Ну и в глубоко зарытых папках я нашел много старых исходников Diablo II, во всяких папках с названиями «Это нужно отправить в архив».

Андре Абрахамян

В итоге удалось найти не только оригинальные ассеты, созданные художниками Blizzard North, но и специальные инструменты, которыми они пользовались — например, генераторы спрайтов. Они очень пригодились, когда дело дошло до обновления графики.

Дело в том, что обновилась только видимая часть игры. У Diablo 2 Resurrected появилась современная графика со спецэффектами, но по сути это все еще двухмерный проект: ядро игры осталось старым. Именно поэтому она может в любой момент переключиться на оригинальную графику со старыми спрайтами.

Игровая логика, объясняет ведущий дизайнер Роб Галлерани, работает со скоростью 25 тиков в секунду — так же, как в оригинальной игре. Графический движок от нее отвязали: если раньше частота кадров и обсчет игрового мира были связаны напрямую, то теперь они не влияют друг на друга.

По сути, трехмерность в игре не совсем настоящая. В оригинальной Diablo 2 движок воспринимал мир как двухмерное пространство, в Resurrected подход не поменялся: разработчики подняли некоторые ограничения, чтобы взаимодействие с миром выглядело реалистичнее, но на самом деле они все еще на месте.

К примеру, с точки зрения движка в основе игрового мира по-прежнему лежит сетка, несколько ограничивающая свободу перемещения персонажа.

Персонаж отрисовывался с определенного набора углов, а монстры — с еще меньшего, но ходить можно было в большом количестве направлений. Насколько помню, вокруг было 64 квадрата, через которые мог проходить путь, поэтому иногда ноги проскальзывали. Мы увеличили число углов, так что теперь все выглядит плавнее.

Очевидно, в 3D персонаж может бежать в любом направлении, но в основе лежит игра, созданная тогда, когда вдохновением служили настольные игры, поэтому все основано на сетке, и мы ее по-прежнему придерживаемся.

Роб Галлерани, ведущий дизайнер

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

Анимацию было очень сложно делать, потому что у нас ограниченное число кадров. Это не как в современной игре с кучей ключевых кадров, которые позволяют сделать очень плавную анимацию. Нам нужно было сохранить все промежутки времени и ритм.

Крис Амарал

Интересный момент: хотя графика в Diablo 2 Resurrected полностью обновилась, в игре все-таки есть один ассет, импортированный из архива Blizzard North в неизменном виде. Это крылья Тираэля: оказалось, их до сих пор можно использовать без каких-либо доработок, просто вставив в игру.

Diablo 2 Resurrected выйдет до конца 2021 года на PC и консолях двух поколений.

Читать далее