Добро пожаловать, berk
Twitter Группа Steam Страница Вконтакте Группа C.O.R.E. Dragon Age Контакте Новостная лента RSS
/ Статьи / Игры и игровые серии / Deus Ex

[Deus Ex: Mankind Divided] Проектирование уровней

Автор: Artyom Sergeev | Добавил: m00n1ight, 18.01.2018 | Просмотры: 320

[Deus Ex: Mankind Divided] Проектирование уровней (13)

Представляем вам интервью с Юбером Корриво, который расскажет о создании игрового окружения с учётом сюжета и достоинств Dawn Engine, оптимизации игры и важных нюансах, влияющих на её восприятие.

Вступление

С программами для разработки компьютерных игр я познакомился в 1995 году, когда мне было 14 лет. Тогда я установил на компьютер Lightwave 3D, Truespace и 3DS третьей версии. Я восхищался трёхмерной графикой «Газонокосильщика». Помню, как рисовал самолёты и различные ландшафты, используя лишь треугольники. Для меня открылся целый мир треугольников.

В 18 я уже создавал трёхмерные модели зданий, а чуть позже началась моя карьера в игровой индустрии. Я устроился на работу в Microids, где работал над Post Mortem и Syberia II, был главным художником Still Life, хотя во всех этих играх не было по-настоящему трёхмерной графики. Позднее я перешёл в Gameloft, где работал над разными проектами для мобильных платформ, участвовал в разработке Rainbow Six Vegas и Prince of Persia (2008) от Ubisoft, и в конце концов осел в Eidos Montreal, занявшись разработкой Deus Ex: Human Revolution.

[Deus Ex: Mankind Divided] Проектирование уровней (1)

Deus Ex: Mankind Divided

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

Мне очень понравился мир Deus Ex и я могу задолбать кого угодно рассуждениями о будущем кибернетических улучшений. Когда я впервые приступил к работе над Deus Ex, мне пришлось как следует проникнуться его вселенной. На мой взгляд, это обязательный ритуал для каждого, кто хочет найти себя в игровой индустрии. Главный сценарист Мэри ДеМарль посоветовала мне несколько книг разных авторов, после чего я разом проглотил всю библиографию Уильяма Гибсона. Я прочитал практически все книги Рэя Курцвейла и множество произведений других авторов с единственной целью — полюбить мир Deus Ex. Что мне прекрасно удалось: из всех игр, над которыми я когда-либо работал, эта серия понравилась мне больше всего.

[Deus Ex: Mankind Divided] Проектирование уровней (2)

Производственный процесс

Для начала мы должны определиться со способами прохождения задания… что довольно сложно, учитывая тот факт, что два разных игрока никогда не пройдут Deus Ex одинаково. Впрочем, мы склонны полагать, что большинство игроков пойдёт по пути наименьшего сопротивления. То есть у нас получится что-то вроде: «Дженсен приземляется на крыше, спускается на несколько этажей, находит в кабинете банкира компромат, а затем покидает здание через парковку». Разумеется, это очень упрощённый пример. Для нас в первую очередь важно определиться с объёмом и тематической направленностью художественного оформления. В приведённом ранее примере нам потребуются одна игровая область под крышу, одна под офис и одна под парковку. Это самая общая информация, от которой уже можно отталкиваться.

[Deus Ex: Mankind Divided] Проектирование уровней (3)

На этом этапе мы начинаем закладывать основы будущего проекта. Разработчики уровней создают макет, определяющий возможные способы прохождения и развития миссии, в то время как художники занимаются тем, что мы называем «прототипом карты»: кусочком, по которому можно судить об общей тематической направленности её художественного оформления. Прототип карты создаётся на основе концептуальных рисунков. Если результат нас устраивает, мы применяем этот стиль ко всей карте.

[Deus Ex: Mankind Divided] Проектирование уровней (4)

Следующий шаг — подготовка альфа-версии. Мы заполняем необходимыми модулями каждую тематическую группу. На данном этапе крыша уже должна выглядеть как крыша, а офис как офис. Чтобы окружение не казалось излишне пустым и стерильным, разработчики уровней расставляют различные объекты, помогающие игроку сконцентрироваться на важных деталях (пустые пространства притягивают взгляд, отвлекая от всего остального).

Затем мы начинаем придавать игровым областям более «обжитой» и правдоподобный вид. На этом же этапе проводится тонкая настройка основного окружения. Изначально мы стараемся как можно быстрее подготовить архитектуру карты для альфа-тестирования и лишь затем приступаем к расстановке объектов и разделению игровых пространств.

Следующий этап можно назвать своего рода бета-фазой. Мы переходим к более мелким деталям. Например, решаем, стоит ли делать доступ к парковке из канализации и стоит ли возвести ещё один офисный этаж, отделяющий игрока от важной улики. Стараясь придерживаться установленного графика, мы изо всех сил стремимся сделать игровое окружение разнообразным. Если нам не хватает времени, может получиться что-то довольно скучное… но мы стараемся до этого не доводить.

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

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

[Deus Ex: Mankind Divided] Проектирование уровней (5)

Игровой движок Dawn Engine

Основное преимущество Dawn Engine — это способность одновременно обрабатывать практически неограниченное количество игровых ресурсов. Хотя ограничения, конечно имеются, и в какой-то момент мы с ними столкнулись, но тем не менее, это отличный движок для масштабных проектов. Кроме того, ресурсоориентированность движка расширила возможности художников, во времена разработки Human Revolution во многом уповавших на программистов. У нас даже есть отдельная команда, отвечающая за работу с «умными объектами» — теми, с которыми вы взаимодействуете в процессе игры. В её ведение попадают практически все игровые объекты, от оружия и всех связанных с ним механик до роботов, машин и книг, при попадании в которые в стороны летят клочья бумаги.

[Deus Ex: Mankind Divided] Проектирование уровней (6)

Прага, основное место действия Mankind Divided, наполнена множеством различных деталей, что стало возможным лишь благодаря Dawn Engine.

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

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

Вот, например, подход к системе укрытий и переключению с вида от первого лица к виду от третьего. В проектировании окружения Mankind Divided огромное количество нюансов, которых не было в других проектах, над которыми я работал. Представьте себе метровый куб свободного пространства, который должен быть у каждого угла, дивана, стола или машины. Представьте, каково художникам создавать модель машины, у которой такой куб должен быть как спереди, так и сзади. А ведь это обязательное условие для возможности использовать объект как укрытие. Но мы справились с этим.

[Deus Ex: Mankind Divided] Проектирование уровней (7)

Думаю, вентиляционные ходы знакомы каждому фанату серии Deus Ex. Мы так и не сумели сделать их архитектурно правдоподобными. Проектировщики окружения постоянно использовали их как альтернативный путь из пункта А в пункт Б, однако логически обосновать их наличие в каждом конкретном случае нам оказалось не по силам. Чтобы хоть как-то отойти от шаблонных вентиляционных ходов, мы воспользовались отверстиями в межкомнатных перегородках и техническими пространствами для прокладки кабелей.

Разработанные вами окружения в любое время суток выглядят отлично: хоть днём, хоть ночью. Как вам это удалось?

Ключевую роль здесь играет, конечно же, освещение. Однако не стоит забывать о ресурсоориентированности движка Dawn Engine, позволяющего задать свойства и сценарий поведения любому объекту на карте. В данном случае происходит проверка равенства переменной, например, 2 для ночи или 3 для дождливой погоды, и запуск присвоенного этому значению сценария обработки объектов. Благодаря Dawn Engine, мы можем на лету менять параметры стекла или, например, во время дождя применить к земле эффект сильной влажности. Для создания некоторых из таких эффектов потребовались немалые усилия, но мы справились. В конце концов всё упирается в сроки разработки.

[Deus Ex: Mankind Divided] Проектирование уровней (9)

Игровые сцены наполнены множеством едва заметных деталей и объектов. Это уникальный в своём роде уровень ручной проработки игрового мира. А сколько там «пасхалок»! Не могли бы вы рассказать, как вам удалось создать столь правдоподобные ландшафты?

Именно этому аспекту мы уделили особое внимание, в том числе и в разработке Human Revolution. С тех пор технологии шагнули вперёд и теперь подобный уровень детализации доступен практически всем… поэтому нам пришлось как следует постараться. Отдельной строкой я бы выделил Город Големов, впитавший в себя множество художественных образов жанра киберпанк. Приступив к его разработке, мы попросили главного художника Мишеля Ланоя разместить в игровой области как можно больше различных проводов и кабелей. Чем больше, тем лучше. Как оказалось, он большой фанат проводов и кабелей, так что разбросал он их действительно от души. Думаю, столько нет ни в одной другой игре. *смеётся*

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

[Deus Ex: Mankind Divided] Проектирование уровней (10)

Мир Deus Ex удивительно проработан, в нём так много уровней и игровых областей — и всё это без загрузочных экранов! Как вам удалось настолько оптимизировать игровое окружение? Mankind Divided отлично работает на любой платформе и при этом выглядит замечательно.

Благодарить за это стоит технических специалистов и всех тех, кто отвечал за движок Dawn Engine. Впрочем, и без нашей помощи не обошлось. Использование уникальных объектов с такой детализацией в масштабах тесной, в общем-то, Праги, быстро приводит к нехватке памяти. Если бы мы обжигали (запекали) хотя бы некоторые ресурсы игры на основе моделей высокого разрешения, вы бы никогда не смогли бы в неё поиграть. (Прим. пер. – Baking (дословно «обжиг, запекание») – процесс консолидации системы данных в упрощенной и более постоянной форме. В моделировании используется, например, для преобразования нескольких текстур сцены в одну текстуру или для «запекания» игры света и тени не на картинку, а на текстуру, что позволяет существенно экономить производительные ресурсы и время на обработку моделей). Всё потому, что для полигональной сетки с полной картой развёртки (которая делается для запекания) нужна большая текстура, покрывающая всю поверхность создаваемого объекта. В боевиках от первого лица требования к качеству текстур ещё выше, ведь здесь игрок будет довольно часто разглядывать их в упор, они будут прямо перед глазами персонажа, чего можно избежать в играх от третьего лица. Аж уж если мы говорим о боевике, где можно поставить несколько холодильников на крышу автомобиля и запрыгнуть на высоту четырёх метров или и вовсе ухватиться за конёк крыши с помощью телепортации… Нельзя сэкономить ни на чём, ведь игрок может забраться куда угодно.

Поэтому для всех наших объектов или, по крайней мере, всех, что побольше табуретки, мы делали две развёртки. Одна состояла из множества островков, каждый из которых отражал детали конкретной части полигональной сетки. Обычно это были всякие механические детали. Мы растягивали их насколько можно. В каком-то смысле мы сжимаем при этом текстуру вручную, растягивая её часть и укладывая в развёртку на очень тонком, детальном уровне. На это уходит много времени, да ещё и приходится вводить дополнительные вершины. Помимо первой развёртки мы использовали и вторую, которая создавалась обычным способом, более привычно и естественно, чтобы покрыть ту самую механическую основу текстурами материалов и плиточными текстурами. Естественно, что мы старались при этом для каждой текстуры втиснуть как можно больше текстур в канал RGB. Для этого мы ужимали текстуры в градациях серого в каждом канале с использованием формата BC1 или исключали синий канал из карты нормалей текстуры, выделяя его для иных целей.

[Deus Ex: Mankind Divided] Проектирование уровней (11)

Этот жилой барак «построен» Мишелем Лануа, дизайнером уровней, отвечавшим за проработку Города Големов. Его можно рассматривать в качестве хорошего примера того, как мы «оптимизировали» текстуру с помощью развертки. Все механические детали размещены на наборе текстур, представленном в виде файла с отражениями. Мы растягиваем развертку UV1 для каждой детали, для какой только можно.

[Deus Ex: Mankind Divided] Проектирование уровней (12)

Пример крайних мер, которых мы стараемся избегать по причине времязатратности – карта нормалей, которую мы использовали для всех архитектурных объектов в Хенгша (Deus Ex: Human Revolution). Такое сжатие мы больше не используем, но текстура демонстрирует, как мы в принципе растягиваем детали моделей. Эта карта нормалей использовалась для большей части зданий в нижних кварталах Хенгша.

[Deus Ex: Mankind Divided] Проектирование уровней (13)

Посмотрите на рисунок "stretched_uv_process” – мы взяли кусочек общей текстуры Хенгша и «растянули» его, добавив дополнительных вершин, причём весьма существенно. Таким образом сравнительно небольшой набор текстур можно применять для большого числа разнообразных объектов даже в очень высоком разрешении. Вот только приходится жертвовать временем – его на отработку и «обрезку» геометрии (такие элементы на рисунке отмечены тонкими серыми линиями) уходит очень много. Вообразите, что было бы, если бы тот барак из Города Голема мы моделировали с помощью этого метода. Полигональных сеток не напасёшься.

[Deus Ex: Mankind Divided] Проектирование уровней (14)

Мы отказались от таких крайностей, к которым прибегали в HR, и больше не используем описанный выше метод для зданий, но всё ещё применяем его для других объектов: оружия, машин, роботов, мебели и вообще всего крупнее табуретки, за исключением объектов, на которых мало отдельных деталей (например кусок скалы или железобетонные блок). Текстура с отражениями представляет собой очень хороший пример того, как уменьшить объём работы, требующийся для создания полигональных сеток, путем сохранения больших шаблонов механических деталей с последующим «растягиванием» групп деталей вместо того, чтобы проделывать это снова и снова с одной и той же деталью.

[Deus Ex: Mankind Divided] Проектирование уровней (14)

Для изображения скошенных краёв мы, по сути, разрывали нормаль вершины (Прим. пер. – это вектор, ассоциированный с вершиной, предназначенный для замены истинной геометрической нормали к поверхности. Обычно нормаль вычисляется как нормализованное среднее нормалей поверхности граней объекта, содержащих вершину). У нас не хватало объёмов памяти для того, чтобы проецировать нормаль вершины на текстуру, поэтому мы разработали инструмент, с помощью которого можно было задать, для каких вершин нужны скошенные нормали, причём эту информацию он навсегда сохранял в памяти для любой заданной полигональной сетки, так что даже при существенном изменении сетки информация о нормалях вершин сохранялась. Это важно, ведь разрыв нормалей вершин – дело рискованное, так как любое изменение сетки оказывает на нормали очень большое влияние. Так что мы просто сохраняли поверхности, которые нужно было скашивать, и автоматически обрабатывали нормали заново каждый раз при экспорте. На это уходило больше памяти, отведённой на обработку вершин, зато мы существенно экономили ресурсы, не помещая всю эту информацию непосредственно в текстуры.

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


Обсудить статью на форуме

Обновления форума

Копирайты

  • C.O.R.E. © 2009 – 2017
Система Orphus Creative Commons License
Войти на сайт?
Логин:
Пароль: