Интервью с руководителем разработки Skyforge
Друзья!
Skyforge выйдет на Nintendo Switch уже совсем скоро — 4 февраля. Вам предстоят эпичные приключения в мире богов, магии и техники. А пока мы ждем релиза, почитайте интервью руководителя разработки игры Дмитрия Лисичкина порталу GameKult. Он поделился подробностями о разработке, а также рассказал о сложностях и интересных ситуациях, с которыми столкнулась команда во время портирования игры на Switch.
Скажите, были ли какие-то технические трудности при разработке версии Skyforge для Nintendo Switch?
Главной сложностью стала ограниченность ресурсов консоли: CPU, оперативной и видеопамяти. Например, на Nintendo Switch всего три ядра процессора. На первых этапах разработки одно из них было полностью занято обработкой звука. Конечно, это нерациональное использование ресурсов, поэтому мы изменили сам алгоритм сжатия звука. Проблема с процессором решилась, но появилась новая — теперь звук мог занимать до 9 ГБ памяти. В результате мы используем гибридную схему. Старый кодек с хорошим сжатием и высокой нагрузкой на процессор работает там, где в кадре нет большого числа персонажей, монстров и боев, например в игровых диалогах. Новый включается, когда ядра процессора нужны игре больше, чем свободная память. Это позволило соблюсти баланс между нагрузкой на систему и занимаемым местом.
Сложности были и с оперативной памятью. На консоли доступно чуть больше 3 ГБ, включая видеопамять — для современных игр это очень мало. Даже на 32-битных системах за счет отдельной видеопамяти можно позволить себе больше. Мы проделали серьезную работу по оптимизации расхода памяти, чтобы снизить риск вылетов игры при загрузке даже больших карт. Теперь памяти должно хватать с запасом.
Какие цели вы поставили перед собой в начале работы? Какого FPS, разрешения и качества изображения хотели достичь?
Первая — максимально быстро создать более или менее рабочую версию, которая запустится на консоли, чтобы снизить риски, если нам не удастся добиться приемлемого уровня производительности.
Следующая — получить уже полностью рабочую версию. Для этого было нужно портировать рендер изображения и интерфейс.
Затем мы приступили к оптимизации памяти и производительности: хотелось добиться стабильных 25–30 кадров в секунду при разрешении 720p.
На последнем этапе мы занимались уже интеграцией особенностей платформы: поддержали сенсорный экран, интеграцию магазина, список друзей и обработку ошибок.
Стало ли сложностью переключение между TV-режимом (1080p) и портативным (720p)?
Нет, это было несложно, так как интерфейс игры хорошо адаптирован к разным разрешениям.
Насколько хорошо показала себя игра, когда вы впервые запустили ее на консоли? Какое было разрешение и FPS?
В самой первой версии, запущенной на Switch, у нас не был реализован рендер изображения. Отсутствие рендера — это когда технически ты заходишь в игру, можешь управлять персонажем, использовать умения, слышать звук, но при этом картинки на экране нет. В таком варианте мы получили производительность около 25–30 кадров в секунду (хотя кадров в прямом смысле, конечно, там не было). Чтобы все-таки увидеть, как все работает, мы заходили на тот же сервер с ПК и со стороны смотрели, как обрабатываются действия игрока на Switch.
Этот этап был нужен, чтобы снять основные риски: нет смысла вкладывать много месяцев в работу над рендером и интерфейсом, если на облегченной версии мы упремся в производительность CPU и не сможем получить более 10 FPS.
В отличие от PC, консоль позволяет игре использовать практически все ресурсы. Помогло ли понимание ограничений Nintendo Switch максимально использовать возможности консоли?
Да, это приятная особенность консолей — разработчик точно знает, на каком железе играет пользователь и сколько ресурсов ему доступно.
Nintendo Switch стала золотой жилой для инди-игр и проектов сторонних разработчиков. Многим очень нравится SDK Switch, а что вы о нем думаете?
Мы выпустили Skyforge на нескольких платформах и работали с разными SDK. Все они имеют как преимущества, так и недостатки. В этом плане SDK Nintendo не очень сильно отличается.
Столкнулись ли вы с какими-то неприятными сюрпризами? Приходилось ли жертвовать чем-то во время разработки?
Сложнее всего было оптимизировать то, что уже оптимизировали несколько раз до этого, ведь такие работы проводились сначала перед выходом игры на PC, а потом перед запуском на PS4 и Xbox One. В какой-то момент идеи начинают заканчиваться.
В случае Switch для достижения нужных результатов пришлось уменьшить размер текстур, детализацию, а также убрать некоторые эффекты, делавшие картинку более привлекательной и глубокой, но требовавшие много ресурсов.
Например, мы упростили детализацию неба, и, к сожалению, картинка после этого стала заметно беднее. Чтобы это исправить, пришлось немного доработать движок, а затем вручную настроить туман и освещение для некоторых карт. Приятным бонусом всей этой работы было улучшение картинки на ПК-версии игры с низкими настройками графики.
Некоторые игры на Switch разряжают батарею за несколько часов, в то время как другие работают намного дольше. Какие шаги вы предприняли, чтобы гарантировать длительную работу?
Основной задачей нашей команды было соблюсти баланс между красивой графикой и производительностью. Вопрос экономии батареи не являлся первостепенным. Хотя грамотная оптимизация, конечно, положительно влияет на расход заряда.
У Nintendo Switch не очень хорошая репутация, когда речь заходит об онлайн-играх. Что вы как разработчик думаете об этом?
На мой взгляд, у онлайн-игр на Switch есть две основные проблемы: производительность и повышенная вероятность пропадания интернета во время игры. Это особенности, к которым надо адаптироваться.
Есть ли разница между разработкой онлайн-игры для PC, PS4, Xbox One и Switch?
Основная разница в производительности консоли. Онлайн-игра подразумевает взаимодействие игроков друг с другом, а в некоторых локациях или во время массовых PvP-сражений таких взаимодействий может быть очень много. Это вызов для любого железа. Skyforge смог преодолеть эти проблемы только благодаря игровому дизайну, ограничивающему количество персонажей на одной карте.
Какие уроки вы извлекли, работая над версией игры для Switch?
Портирование на Switch стало первым крупным проектом, работа над которым велась полностью в удаленном режиме. Так что — да, определенные уроки из этого опыта мы точно извлекли. Что же касается самого портирования, выводы делать рано, дождемся выхода игры и узнаем, насколько успешно покажут себя наши решения.
Обнаружили ли вы какие-то элементы, требующие улучшения на других платформах, когда работали над оптимизацией версии для Switch?
Процесс портирования помог нам найти несколько ошибок в коде клиента игры, и я уже рассказывал про улучшения графики на низких настройках. Однако основная часть оптимизационных работ была проведена только для этой платформы, так как многие системы приходилось просто переделывать, чтобы добиться желаемой производительности.
Но не только оптимизация требовала нашего внимания. Параллельно с портированием мы также улучшали геймплей и к выходу игры на Switch значительно доработали игровую кампанию. Теперь это полноценная сюжетная история, которая может быть интересна даже тем, кто обычно не играет в онлайн-игры. Надеемся, ее оценят наши новые игроки на всех платформах.
Были ли забавные моменты или приятные сюрпризы во время разработки?
Приятным сюрпризом стала хорошая производительность самых первых версий, которые запускались на приставке. Честно говоря, мы рассчитывали на 15 кадров в секунду на этом этапе, а получили почти в 2 раза больше.
Какое у вас отношение к консоли после портирования игры — плохое или хорошее?
Хорошее :)
Ранее игра разрабатывалась Allods Team и Obsidian Entertainment. Не могли бы вы рассказать немного о том, как работало сейчас это партнерство и кто за какие процессы отвечал?
Мы больше не сотрудничаем с Obsidian в рамках проекта Skyforge. Но нам помогали наши друзья из студии Owlcat Games. Они занимались портированием клиента, а студия Allods Team взяла на себя серверную часть, подключение сервисов платформы (друзья, магазин, родительский контроль), а также доработку интерфейса и контента.
Как долго разрабатывалась версия Skyforge для Switch?
Порядка 8 месяцев.
Будет ли версия для Switch как-то отличаться от версий для ПК и консолей? Будет ли доступна кросс-платформенная игра или прогресс?
У Switch будет собственный сервер, поэтому нельзя перенести прогресс с других платформ. Кросс-платформенной игры также не планируется. Что касается контента, то на Switch мы, скорее всего, не будем проводить массовые PvP-события, например, Противостояние пантеонов, так как гибридная консоль не подходит для таких мероприятий с точки зрения производительности.
Повлиял ли опыт запуска Warface на Switch на запуск Skyforge на этой платформе? Если да, то как?
Мы начали планировать выход Skyforge на Switch еще до релиза Warface. Рады, что коллеги запустились раньше — их пример показал, что Switch действительно перспективная и интересная платформа, и вдохновил нас на более активную разработку.
Есть ли какие-нибудь полезные советы для тех, кто впервые начнет играть в Skyforge на Switch (лучшие классы для новичков, эффективная тактика или что-то подобное)?
На старте игры вам будет доступно три класса: паладин, хранитель света и криомант. И хотя паладин с хранителем света не считаются DPS-классами, не стоит недооценивать их урон! Ими будет очень комфортно проходить стартовую кампанию.
Что ждет Skyforge и Allods Team в 2021 году?
Мы бы хотели выпустить несколько крупных контентных обновлений для всех платформ. Многое уже находится в разработке, и я надеюсь, скоро мы сможем рассказать об этом подробнее ;)
Предварительная загрузка Skyforge уже доступна! Откройте Nintendo eShop на вашей консоли, введите Skyforge в строку поиска и установите игру. А если хотите присоединиться к игре одними из первых, обратите внимание на наборы основателя. Приобретя одиниз них, вы не только получите полезные игровые предметы, но также сможете начать играть со 2 февраля!