Ускорение долгих загрузок в вашей игре с помощью лифтов

Перевод статьи:

Об авторе:

Doug Stewart
Front-end разработчик в команде дизайнеров Kongregate

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

Поговорим о лифтах

Стоп! какое отношение лифты имеют к видеоиграм? Загрузки! Поверьте мне, это имеет смысл. Решение проблемы долгих загрузок может быть сложной задачей, но лифты помогают думать о ней как о проблеме восприятия. Есть небольшая история под названием «Проблема лифта», которую я впервые прочитал в статье 37signals. Судя по всему, она существует уже длительное время, так что вы, возможно, слышали о ней. Краткая версия выглядит так:

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

В этой истории алгоритм решения проблемы следующий:

Время ожидания слишком велико → Почему это проблема? → Не люблю ждать → Почему бы и нет? → Потому что это скучно. Решение: избавиться от скуки.

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

Давайте поговорим об этом

Решение проблемы долгих загрузок

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

Начните с глобальных вещей, прежде чем переходить к мелочам

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

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

Хороший ориентир — анимация должна длиться 200–800 мс (в зависимости от ее сложности), если вы хотите, чтобы она была быстрой. Это правило работает для коротких анимаций, более сложные же анимации могут быть немного длиннее, чтобы обеспечить полное понимание того, что происходит. Если это длинная серия действий, вам следует разбить ее на составные части для определения таймингов. Убедитесь, что каждая часть анимации длится как можно меньше, чтобы сбалансировать общую длительность.

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

Нет четкого и простого решения, как этого избежать. Часто люди предлагают поддерживать средний FPS в вашей игре выше 60, но это не всегда правильный выбор. Cuphead может работать с 60+ FPS, но очевидно, что анимации в ней намного медленнее. Для них это был правильный выбор, так как он соответствует эстетическому стилю той эпохи, в которой они черпали вдохновение. Что бы вы ни выбрали, важно, чтобы все казалось естественным, а не притянутым за уши.

Cuphead
Cuphead

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

Кстати об этих небольших загрузках…

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

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

Когда нечего делать…

Иногда просто невозможно избежать долгой загрузки, и информация на шкале заполнения не помогает, так что же вы будете делать? Подумайте снова о проблеме лифта. Вы привлекли внимание игрока, что вы будете с ним делать?

Немного повеселитесь

Загрузочные экраны часто представляют собой не более чем простой арт и индикатор загрузки. Но вы можете довольно легко оживить эту сцену, немного изменив суть сообщений о ходе загрузки, которые отображаются на экране. Такие игры, как The Sims и World of Goo, достигают подобного эффекта, просто превращая загрузку в абсурд.

Экран загрузки World of Goo
Экран загрузки World of Goo

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

Расскажите игрокам о своей игре

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

Dishonored 2, экран загрузки Дануолла
Dishonored 2, экран загрузки Дануолла

Этот прием лучше всего использовать, когда время загрузки не очень большое (особенно если вы показываете лишь часть информации на каждом экране загрузки). Хороший совет — попробовать прочитать подсказки в три раза быстрее, чем вы можете (поверьте, вы сможете, ведь вы знаете их наперед). Если загрузка идет заметно дольше, вам нужно либо дать игрокам больше подсказок для чтения, либо отвлечь их каким-либо другим способом.

Дайте вашим игрокам поиграть

Не всегда нужно управлять ощущением времени игрока. Иногда достаточно дать им игровую площадку, чтобы развлечься. Серия Assassin’s Creed помещает игроков в пустую бесконечную арену, чтобы те носились вокруг, как болванчики. Это особенно хорошо сочетается с тем, что франшиза сосредоточена на событиях прошлого, происходящих в цифровой реконструкции.

Зона загрузки в Assassin's Creed IV
Зона загрузки в Assassin's Creed IV

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

Пусть игроки играют в другую игру

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

Промо мини-игры в Splatoon
Промо мини-игры в Splatoon

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

Смешивайте, сравнивайте и изменяйте!

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

Экран загрузки Bayonetta 2
Экран загрузки Bayonetta 2

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

Сделай сам

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

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

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

Все дело в восприятии

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

5959
23 комментария

Лифты...

15
Ответить

самое смешное, что лифты были лучше чем очень долгие загрузки в МЭ2, на которых по полторы минуты ничего не происходит.

5
Ответить

Загрузки зло и никакие подсказки, беготня по порталам в God of War этого не изменят

И тратить ресурсы на встраивание игры в загрузки тоже глобально ничего не меняет - у игроков наверняка есть лежащие рядом телефоны, где они найдут чем заняться сами

3
Ответить

Я помню у меня был комичный эффект связанный с загрузками. Решил дать второй раз инквизиции, поставил ее на ссд... И сгорел. Там действительно интересные лорные вставки и их очень здорово придумали размещать на экране загрузки. Но вот догадаться оканчивать загрузку по press any key они не додумались и я не успевал прочесть ни единой записи, приходилось тратить время внутри игры

3
Ответить

Надеюсь, это сарказм

2
Ответить

В первом Масс Эффекте хорошие лифта были

3
Ответить

Прикол в том что лифты в МЕ вели между соседними этажами - вот если бы они вели на противоположную сторону цитадели - вопросов ни у кого не было. 

Ответить