«Что-то обязательно пойдёт не так»: как авторы Dauntless справились со сложностями кроссплея в первый день релиза

И почему превентивный перенос серверов в облако — это полезно.

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

Разработчики мультиплеерной RPG Dauntless же ещё до релиза объявили, что кроссплей будет доступен в первый же день — между PS4, Xbox One и ПК. Во время стрима на GDC Twitch они рассказали, с какими сложностями им пришлось столкнуться: за неделю игра привлекла более 2,5 миллионов человек, что стало настоящим стресс-тестом.

«Что-то обязательно пойдёт не так»: как авторы Dauntless справились со сложностями кроссплея в первый день релиза

По словам главы маркетинга Phoenix Labs Ника Клиффорда, как только студия получила первый «вертикальный срез» игры, её онлайн-составляющую сразу же перенесли в облако — чтобы не запускать сервера каждый раз с локального сервера в офисе.

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

Инвентарь, квесты, прогрессия, разные охоты на Бегемотов (чудовищ в мире Dauntless — DTF) — всё это обрабатывалось на серверах в облаке. Так что мы могли оперативно устранять все ошибки, даже не находясь в офисе.

Ник Клиффорд, глава маркетинга Phoenix Labs
«Что-то обязательно пойдёт не так»: как авторы Dauntless справились со сложностями кроссплея в первый день релиза

Для функционирования онлайн-компонентов разработчики использовали комбинацию разных облачных сервисов — вроде Google или Amazon. Также на серверы перенесли обработку матчмейкинга, чтобы избежать проблем P2P. Благодаря тому, что все сетевые функции оказались «снаружи» ещё на ранних этапах производства, создателям удалось правильно выстроить онлайн-инфраструктуру игры.

Главный недостаток [собственных] дата-центров заключается в том, что все в итоге приходят к тебе. Мы же хотели сделать так, чтобы игра сама «приходила» к игрокам. У нас есть сервера в Северной Америке, Южной Америке, Западной и Восточной Европе, Австралии — все они правильно разбросаны по миру, так что вне зависимости от того, где вы находитесь, подключение всегда будет хорошее.

Ник Клиффорд, глава маркетинга Phoenix Labs

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

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

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

Ник Клиффорд, глава маркетинга Phoenix Labs

При этом зачастую проблемы случались не мгновенно, а незаметно копились со временем.

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

Ник Клиффорд, глава маркетинга Phoenix Labs

В офисе Phoenix Labs авторы устроили специальную «штаб-квартиру» для быстрого реагирования — Клиффорд даже сравнил её с командным центром из сериала «24».

У нас было огромное количество мониторов, где отслеживалось «здоровье» игры — и как только мы видели хоть какой-нибудь намёк на то, что что-то идёт не так, инженеры схватывали проблему и чинили её как можно быстрее.

Ник Клиффорд, глава маркетинга Phoenix Labs
«Что-то обязательно пойдёт не так»: как авторы Dauntless справились со сложностями кроссплея в первый день релиза

Как отметил ведущий геймдизайнер студии Хантер Хоу, даже такая простая вещь, как создание списка друзей, в рамках кроссплея оборачивается большими сложностями. Задача реализовать возможность добавлять кого-то в друзья переходит во множество вопросов: как работает система друзей в PSN? Как она будет интегрирована в твой список? А что насчёт остальных платформ, каждая из которых работает по-своему?

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

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

Хантер Хоу, ведущий геймдизайнер Phoenix Labs

По словам Клиффорда, чтобы кроссплей на релизе работал более-менее гладко, в студии начали готовиться к этому моменту заранее — почти за полгода. Были команды инженеров «быстрого реагирования» отдельно для кроссплея и отдельно — для каждой из платформ.

Аккуратное планирование, коллаборация — подобные слова это своего рода клише. Но мы потратили огромное количество времени, чтобы подготовиться к одному лишь релизу.

Ник Клиффорд, глава маркетинга Phoenix Labs
«Что-то обязательно пойдёт не так»: как авторы Dauntless справились со сложностями кроссплея в первый день релиза

Разработчики понимали, что проблемы обязательно случатся — поэтому пытались не просто предугадать их, но ещё и понять заранее, как от них избавиться.

Никогда не планируйте всё так, чтобы ничего плохого не случилось. Потому что просто обязательно что-то пойдёт не так. В первую очередь вам нужно думать: «Как мы будем реагировать, когда это произойдёт?» — потому что оно 100% произойдёт.

И если какой-то модуль упал, и куча людей не может загрузиться с главного меню, как мы можем с этим справиться? Будем ли мы готовы? Как мы сможем увидеть, что происходит, и оперативно заменить модуль? [...]

Сделать всё правильно у вас попросту не получится. Вы не можете предсказать всё, что случится, это невозможно.

Хантер Хоу, ведущий геймдизайнер Phoenix Labs
2828
30 комментариев

Комментарий недоступен

1

Оно вообще стоит смотреть или очередная бесплатная дрлчильня?

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

а как еще быть если они не разработчики у оперируемого проекта?

Статья, конечно, так себе. Что-то в последнее время эти доклады расстраивают.
'Ну, используйте облако, будьте готовы к проблемам. Никогда нельзя угадать поведение живых игроков. А ещё сложно подогнать игры под кроссплей'. И никакой конкретики, тьфу

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