Пространство игрового уровня подобно живому организму — это единое целое, которое состоит из многочисленных составных частей, тесно взаимодействующих друг с другом. И если врач, не разбирающийся в строении человеческого тела, способен только навредить своему пациенту, то и дизайнер, не смыслящий в анатомии игрового пространства, никогда не сможет построить полноценный уровень.
Независимо от того, какой вы выбрали игровой движок, структура любого уровня почти всегда представляет собой один и тот же набор элементов. Ниже мы познакомимся со строением типичного уровня, а также детально рассмотрим каждую его составляющую без привязки к какому-либо движку.
Структурная геометрия
Одним из самых важных и образующих элементов любого игрового пространства является основная геометрия уровня. В английской терминологии её называют «структурной геометрией» (от англ. «structural geometry»). К ней можно причислить все объекты, которые формируют «тело» уровня.
Если вы выбрали локацию, действие которой происходит в городе, то к её структурной геометрии можно отнести любые архитектурные формы, такие как здания, сеть дорог, площади, парки, мосты, подземные переходы, тоннели, шахты и т.д.
В качестве примера можно привести уровни из игры Left 4 Dead (2008, Valve) с ярко выраженным городским пейзажем. Мысленно убираем все уличные детали (столбы, скамейки, знаки, машины, мусорные контейнеры) — и у нас остается голая структурная геометрия, формирующая «тело» уровня.
Роль структурной геометрии также могут играть любые элементы ландшафта созданные природой — такие как скалы, пещеры, поля, овраги и т.п. Основную геометрию, формирующую рельеф местности, часто называют «террейном» (от англ. «terrain» — местность) или «лэндскейпом» (от англ. «landscape» — ландшафт).
Уровень «Afghan» из Call of Duty: Modern Warfare 2 (2009, Infinity Ward) служит отличным примером использования террейна (или природного ландшафта) в качестве структурной геометрии. Компонентами, формирующими тело уровня, здесь будут скалы, сквозная сеть пещер, небольшой бункер, и центральный элемент — упавший военный самолет.
Детали игрового окружения
Как правило, структурная геометрия не обладает большим количеством деталей по причине различных технических ограничений, поэтому для её детализации используются дополнительные объекты.
Такие объекты в дизайне уровней называют «пропсами» (от англ. «props» — реквизит). Они выполняют роль бутафорского реквизита на съемочной площадке и помогают зрителю в полной мере прочувствовать обстановку места действия.
Обычно при планировании нового уровня выделяют три группы пропсов:
- Крупногабаритные объекты (массивные конструкции, павильоны, ограждения, автомобили, грузовики, деревья и т.д.)
- Среднегабаритные объекты (домашняя и уличная мебель, рекламные вывески, антенны, мачты освещения, контейнеры и т.п.)
- Малогабаритные объекты (мелкие детали интерьера и экстерьера — бутылки, камни, трава, листья и т.д.)
Каким образом детали преображают уровень? За примером давайте снова обратимся к Left 4 Dead (2008, Valve), где недетализированная структурная геометрия выглядит вот так:
Добавляем на уровень пропсы самых различных габаритов:
И получаем полноценное детализированное игровое окружение:
Чем ближе игрок сможет рассматривать объекты первого плана, тем качественнее должен быть уровень их детализации. Обычно это выражается в количестве полигонов, разрешении текстур, качестве и комплексности материалов.
Помимо пропсов для детализации уровней также используют так называемые «декали» (от англ. «decal» — клеймо, наклейка). Декали — это проекция специального изображения на поверхность, которая позволяет добавить дополнительные детали.
Например, при помощи декалей в Left 4 Dead (2008, Valve) на стены добавлено множество трещин, потеков, граффити и имитаций всевозможных вентиляционных решеток, окон и рекламных объявлений. Для детализации дорожной поверхности используется автомобильная разметка, бумажный мусор, лужи, ливневые стоки и т.д.
Еще один пример грамотного использования декалей можно подсмотреть в Fallout 3 (2008, Bethesda Game Studios). Практически все детали на любых поврежденных бетонных поверхностях выполнены при помощи декалей в виде разломов и трещин, создающих эффект сложной и детализированной геометрии.
Задний план
Игровое окружение не заканчивается за пределами геймплейного пространства. Для создания иллюзии большого, впечатляющего и реалистичного мира в играх принято уделять большое внимание тому, что происходит на заднем плане. Поэтому, помимо структурной геометрии и многочисленных деталей, очень важным элементом в строении уровня является задний план. В английской терминологии его часто называют «бэкграунд» (от англ. «background» — задний план, фон).
Вместе с развитием технологий и увеличением детализации свой путь эволюции прошел и задний план. Изначально он представлял собой фотопанораму либо трехмерную визуализацию, где все детали были частью статичного двухмерного изображения. Например, вот так в Half-Life (1998, Valve) выглядит статичная панорама каньона:
Со временем задний план оброс дополнительными элементами, добавляющими реалистичности. Например, на небесном своде появились анимированные облака, а все статичные объекты (силуэт города, леса, горы) перекочевали в трехмерное пространство.
На уровне «Vertigo» в Counter-Strike: Global Offensive (2012, Valve) сравнительно простая архитектура игровой части уровня сбалансирована впечатляющей и богатой городской панорамой. Большинство объектов заднего плана выполнены в виде низкополигональных трехмерных зданий, которые через дымку тумана, плавно переходят в панораму неба.
Основной принцип при создании заднего плана строится на том, что ни в коем случае не нужно показывать то, что игрок всё равно не увидит в силу удаленности объекта. Художник по игровому окружению, который уделяет слишком много времени на детализацию каждого объекта на заднем плане, во-первых, занимается вредительством, тратя своё время и ресурсы впустую, во-вторых, захламляет задний план высокодетализированными объектами, не заботясь о технических ограничениях.
Как правило, качество детализации напрямую зависит от дистанции, на которой игрок увидит тот или иной участок уровня. Следовательно, самыми высокодетализированными ассетами на уровне будут пропсы и декали (т.к. их ближе всего видит игрок), потом идет структурная геометрия, а уже затем задний план. Обычно все фоновые объекты делаются максимально дешевыми и примитивными, но за счет их большой концентрации достигается ощущение богатого заднего плана.
Отличным примером создания технологически правильной и впечатляющей панорамы ночного города служит финальный уровень из Mirror’s Edge (2008, DICE). Здесь задний план создан из большого количества низкополигональных моделей, которые плавно переходят в двухмерное панорамное изображение городского силуэта и неба. Таким образом, благодаря концентрации громадного количества низкополигональных объектов создается иллюзия насыщенного открытого пространства без потерь в производительности.
Освещение
Еще одним важным элементом в строении полноценного уровня является освещение. Правильно настроенные и размещенные источники света — это мощный инструмент для создания нужной атмосферы, а также отличный способ, используя игру света и тени, привлечь внимание игрока и направить его в нужном направлении.
Вне зависимости от выбранной технологии для настройки освещения на уровне обычно используются четыре типа базовых источников света: направленный свет, глобальное освещение, точечный свет и прожектор.
Направленный свет (англ. «directional light») — это любой небесный источник света (вроде солнца или луны), равномерно освещающий сцену с нужного нам направления. Пример дневного освещения с направленным светом на уровне «Safehouse» в Counter-Strike: Global Offensive (2012, Valve):
Глобальное освещение (англ. «global illumination» или «sky light») позволяет настроить количество света, отраженного от различных поверхностей. Таким типом освещения можно создать облачный день без солнца либо темную ночь без луны с мягким рассеянным светом.
Точечный свет (англ. «point light») излучает свет во все стороны и позволяет создать простейший источник света вроде обычной лампочки.
Прожектор (англ. «spot light») представляет собой направленный световой поток подобный фонарику или автомобильной фаре. Пример игры света и тени при помощи прожектора в BioShock (2007, Irrational Games):
Важно помнить о том, что свет не берется из пустоты и при размещении источников света нужно обязательно дублировать их объектами, объясняющими физическое появление света, такими как лампы, свечи, факелы, костры и т.д.
Аудио и визуальные эффекты
Специальные эффекты — это еще одна важная составляющая уровня, которая сделает игровое окружение более атмосферным, реалистичным и живым.
Чтобы придать особый шарм визуальному ряду, очень часто используют цветокоррекцию и различные постфильтры (эффект зернистости, виньетинг, HDR). Для этого дизайнер размещает на уровне вольюмы (от англ. «volume» — ёмкость) со специальными настройками, которыми можно обозначить, в какой именно локации необходимо использовать тот или иной фильтр для цветокоррекции. Например, в Left 4 Dead (2008, Valve) для придания эффекта кинематографичности используют цветокоррекцию вместе с постфильтром зернистости.
Визуальные эффекты привносят в игровое окружение большое количество полезных мелочей, копирующих поведение объектов в реальной жизни. Например, для создания иллюзии ветра — листья деревьев, трава, а также волосы и одежда персонажей обязательно должны находиться в легком движении. Для эффекта старого и заброшенного помещения можно добавить летающие в воздухе частички пыли и паутину. А для имитации дождя желательно конечно же показать падающие капли, брызги, туман и многочисленные влажные поверхности и т.д.
Звуковые эффекты позволяют создать иллюзию реалистичного игрового мира, наполненного многообразием различных звуков. Как правило, это основной звуковой фон, включающий в себя целый букет звуков (шум города, морской прибой, шелест листьев и т.д.), а также локальные звуковые события объектов, находящихся в непосредственной близости к игроку (капающая вода, гул вентилятора, треск костра и т.д.). Помимо размещения звуковых эффектов на уровень, добавляют специальные маркеры, или вольюмы, искажающие звук и создающее эхо в зависимости от типа и размера помещения.
Игровой функционал
Последним важным элементом в строении уровня является игровой функционал. К нему можно отнести всю комплексную систему настроек, которые помогают организовать геймплей на уровне.
Во-первых, это любые настройки, связанные с полноценным прохождением уровня. Сюда можно отнести всю игровую логику — условия победы и поражения, точки появления игроков, систему триггеров (от англ. «trigger» — курок), запускающую запланированные события на уровне, такие как скриптовые сцены (в англ. «scripted scene») или заставки (в англ. «cutscene»), места автоматического сохранения игры, музыкальные события и т.д.
На изображении ниже можно видеть пример триггера из Half-Life 2 (2004, Valve), который привязан к двум событиям на уровне. Стоит только игроку зайти в оранжевую область, как полицейский тут же начинает преследование нарушителя. В случае, если игрок покидает пределы триггера, то персонаж мгновенно прекращает преследование и возвращается на свою исходную позицию.
Во-вторых, это настройка поведения персонажей, управляемых искусственным интеллектом. Для этого используют систему навигационных меток (маркеров, нодов, вейпоинтов, мешей), которые помогают им правильно ориентироваться на уровне, использовать укрытия и выполнять любые запланированные действия.
В-третьих, это настройка всех интерактивных объектов, с которыми взаимодействует игрок. Сюда относятся любые двери, лифты, ловушки, подбираемые предметы и бонусы, разрушаемые объекты, настройка поведения физики и т.д.
В-четвертых, это настройки физической оболочки уровня (коллизия, прокси), которая не дает игроку выпасть за пределы уровня или застрять в его геометрии в процессе игры.
Обычно настройки игрового функционала скрыты от глаз обычного игрока и видны только в редакторе уровней. Например, настройки геймплейной части уровня в Bulletstorm (2011, Epic Games, People Can Fly) выглядят вот так:
Итак, мы рассмотрели строение типичного игрового уровня, базовая структура которого состоит из следующих элементов — структурная геометрия, детализация в виде пропсов и декалей, освещение, аудио- и видеоэффекты, а также игровой функционал.