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

Введение

Работая над уровнем, дизайнерам и художникам необходимо учитывать, что их игровые ресурсы должны одновременно помещаться в памяти. Тогда как престарелые игры времён Wolfenstein 3-D и Doom загружали уровень целиком, демонстрируя загрузочный экран, во поры Half-Life началась тенденция подгружать их небольшими кусочками – таким манером в них можно вместить больше деталей, вместе с этим основывая у игроков ощущение непрерывного приключения.

В Half-Life перемещение из одной районы в другую сопровождалось секундной задержкой и надписью «Loading». Игроков об этом не предупреждали, однако дизайнеры Valve грамотно размещали такие переходы в покойных моментах между перестрелками и в местах, где темп игрока снижался природным образом. Позже компьютеры стали быстрее и загрузки сократились до утилитарны мгновенных.

Сообщение о загрузке в Half-Life.

В наши дни в блокбастерах вроде Gears of War и Uncharted переходы сделались по-настоящему бесшовными. После длительной первоначальной загрузки новоиспеченной главы в абсолютно другой локации (с другой графикой) – порой во время пререндеренного ролика – используются зоны подгрузки, этакие «буферы», позволяющие на ходу выгружать и подгружать соседние кусы уровня. Поскольку большая часть глобальной графики загружена заблаговременно, а окружение почти не меняется, общие ассеты в соседних районах значительно ускоряют такую загрузку в сравнении с изначальной загрузкой степени.

По большому счёту, эти игры убирают экраны/полоски загрузки, наблюдаемые в чересчур обширных уровнях Half-Life, Portal 2 или Fallout 4, и игрок попросту проводит время загрузки в игре. При должном творческом подходе он и вовсе ничего не приметит. Отведённое на загрузку время можно даже сделать по-своему увлекательным – в Last of Us для этого введены головоломки и эпизоды общения между персонажами.

Схематичное понятие

Большинство экшенов соединяют несколько крупных областей небольшими промежуточными поясами подгрузки:

streaming-action-overview

Зона A – обширное пространство со множеством сражений, пояс C – ещё одно такое же пространство. Игроки в зоне подгрузки B не могут видать обе больших области одновременно. Именно здесь из памяти удаляется пояс A и загружается B. Выгружаемая область не должна попадать в поле зрения игрока, так что если игра не предполагает возвратного движения, лучше гарантировать, что он не сможет вернуться. Сразу после выгрузки пояса A может загружаться B. Новая область должна успеть загрузиться к моменту прихода игрока, потому перед ней стоит разместить преграду, блокирующую быстрое продвижение.

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

Выгрузка и преграды на обратном пути

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

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

В Last of Us великое множество упомянутых преград с проработанной анимацией.

В Last of Us великое множество упомянутых преград с отработанной анимацией.

Кат-сцена тоже может служить неплохой преградой, если она не выглядит вырванной из контекста и/или сюжета и, разумеется, если она укладывается в бюджет разработки!

Одноразовые спуски/падения выступают отличной преградой, хранящей плавность игрового процесса. Достаточно сохранять в памяти участок степени с поворотом сразу перед спуском, и, когда игрок очутится внизу без возможности подняться, предыдущая область уже может выгружаться. Один-единственный недостаток таких моментов – их бросающаяся в глаза искусственность, за исключением случаев, когда они поддерживаются стилистикой вселенной и окружением (особенно пригодятся здесь разрушенные постройки и природные склоны). К тому же, в кооперативе игроков приходится телепортировать товарищ к другу, чтобы последний не оставался в выгружаемой зоне.

Замедление игрока в поясу подгрузки

Поскольку зоны подгрузки расположены между двумя крупными районами, они сами по себе способствуют небольшому отдыху от непрерывного экшена. Нам необходимо поспеть загрузить зону B, так что продвижение игрока нужно замедлить. Вероятно, напрямую – как в моментах со злосчастной принудительной ходьбой в Gears of War – или же косвенно, переключив внимание на головоломки. В любом случае это эффективнее и увлекательнее обычного длинного пути, требующего, скажем, 30-секундной пробежки.

Даже когда игрок торопится, этот паззл с доской из The Last of Us занимает достаточно времени и выступает неплохой передышкой.

Даже когда игрок торопится, этот паззл с доской из The Last of Us занимает довольно времени и выступает неплохой передышкой.

Внезапные стычки с одним-двумя противниками – отличная ухищрение для замедления игрока. К тому же, это не даёт игроку расслабляться и варьирует темп, не зацикливаясь на монотонной схеме «бой-паззл-бой».

Время могут выиграть интерактивные объекты, вроде медлительно поворачивающихся вентилей в Killzone 2 и Gears of War, или особенности окружения, когда необходимо прыгать или ждать, пока напарник спустит лестницу (ещё это недурная преграда перед новой областью).

Медленный поворот вентиля, вроде этого из Gears of War, помогает сбавить темп и служит хорошей преградой перед новой областью.

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

Можно объединять указанные приёмы, так чтобы это вписывалось в дух игры – так, как в первой Gears of War, когда дрон запирает игрока в горнице и тому приходится отбиваться от толпы врагов.

Batman: Arkham Asylum пять справляется с «мягким» замедлением игрока при помощи отлично обставленных джокерских подколок или исследованием окружения, к которому располагают загадки Загадочника, особенные для любой локации, или же сбором уймы коллекционных предметов.

Выход из пояса подгрузки

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

Многие игры, от серии Call of Duty до Killzone 2 и The Last of Us, доверяют открытие входа дружественным персонажам: они мастерят прорези в сетке, распахивают двери, поднимают деревянные балки. Новоиспеченные волны врагов тоже способны открывать проходы – немало того, благодаря пальбе и шуму они манят игроков за собой, как морковка на палочке, в сторонку новоявленного пути. В экшенах полно отличных примеров появления неприятелей, когда они выжигают двери лазером или же монстр пробивается сквозь стену. Это не попросту круто выглядит – зачастую такой эффектный вход для противника оборачивается отчетливо обозначенным выходом для игрока.

Закрытые ранее двери в Halo светятся и шумят, когда враги открывают их с другой стороны.

Закрытые ранее двери в Halo светятся и шумят, когда неприятели открывают их с другой стороны.

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

Главная проблема таких мест – их сложно вписать в окружение степени и стилистику игры; двери и узкие коридоры не смогут спасать вас непреходяще. Другой проблемой является повторяемость – если открытие двери сопровождается персоной анимацией, потребуется очень много разных анимаций!

Тут поможет одна хитрость, если преграду на входе видать только в самом конце зоны подгрузки – можно заблаговременно выполнить проверку на завершение загрузки новой области. Если пояс C успешно загружена, проход можно открывать до приближения игрока – это освободит от очередной однообразной анимации, а в случае быстрого движения игрока преграда исправно сработает.

Есть увлекательный пример преграды на входе в тюремный блок из Batman: Arkham Asylum – камера безопасности сканирует Бэтмена перед тем, как отворить дверь. Учитывая повторное использование локаций область за дверью может и не поспеть прогрузиться. В таком случае анимация сканирования будет продолжаться, пока новоиспеченная зона не будет загружена. Это отличный компромисс, идеально вписывающийся во вселенную игры, а на излишние секунды сканирования игроки, возможно, и не обратят внимания.

Batman: Arkham Asylum – Дверь в тюремный блок открывается только после подгрузки локации.

Batman: Arkham Asylum – Дверь в тюремный блок открывается лишь после подгрузки локации.

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

Заточение

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