Дорожная карта на 2022
(Автор: Мэтью Скотт, генеральный директор компании Little Orbit)
Всем привет, это моя третья дорожная карта для APB.
Я заметил, что каждый год тяну с ними до последнего, потому что мне нужен почти целый месяц, чтобы проанализировать предыдущий год и найти время написать свои мысли.
Как и в прошлом году, в конце 2021-го я взял отпуск. На этот раз из-за свадьбы. После этого, я выделил несколько недель, чтобы посвятить себя APB и решить, как действовать дальше.
У Little Orbit был очень странный 2021-й год.
С одной стороны, наши внешние консалтинговые проекты шли довольно хорошо. Мы помогли другому издателю переделать их игру. Сейчас мы уже на полпути к созданию масштабной игры для другого партнёра. Скоро состоится несколько анонсов внутренних и внешних проектов, которые меня очень радуют. Хотя они напрямую не касаются APB, они позволяют нашей компании существовать, чтобы продолжать работать над APB.
С другой стороны, в APB в этом году был полный бардак.
В январе у нас была хорошая стратегия по переносу кода из 1.20 в 2.2. Мы нашли несколько человек с опытом работы на Unreal 3. Поработали с ними. Внесли некоторые изменения. Попробовали новых кандидатов. В переносе нескольких систем я участвовал лично.
В середине года я был воодушевлён прогрессом от заданной стратегии. Тогда казалось, что у нас почти ничего не отделяет от того, чтобы получить хорошие результаты производительности в Деловом районе. И тут мы начали натыкаться на мины. Прогресс остановился, всплыли неожиданные проблемы. Мы продолжали прикладывать все усилия к проекту, но дело продвигалось очень медленно.
В ноябре мы снова начали набирать обороты, и я надеялся, что к концу года мы сможем показать результат своей работы. Однако прошёл уже месяц 2022-го года, а мы всё ещё не достигли цели. Мы добились значительных успехов. Новая кодовая база 2.2 ближе к 1.20, чем любая предыдущие итерация. Мы можем перемещаться по игровым районам на менее оптимизированных Debug-сборках. Но перенести данные в релизную сборку оказалось невозможным.
Проблема в том, что код из 1.20 не хочет работать с нашими обновлениями в 2.2. В то время как половина пакетов проходит автоматический процесс обновления до 2.2, другая половина создана с нуля на 2.2, чтобы поддерживать новые функции движка Unreal. Каждый элемент должен быть идеально выровнен, иначе игра вылетает.
Сложность в том, чтобы определить, какие пакеты должны совместимы, а какие – нет. Представьте, что мы строите замок Lego из миллиона деталей. В идеале вы бы могли добавлять детали к своему замку блоками (например, набор разводного моста + набор турелей). Но есть загвоздка. Некоторые наборы не только не подходят друг к другу, но и неизвестное количество блоков из набора конфликтуют с другими и рушат всю конструкцию.
В этот момент, я решил сделать шаг назад и всё переосмыслить.
Похоже, мы провели весь год в попытках разобраться в огромной кодовой базе, чтобы выпустить новую игру. Пока существующая игра и база игроков шла под откос. Мы могли бы в этом году продолжить свою стратегию. И хотя мы можем преодолеть несколько препятствий, я чувствую, что впереди нас ждёт ещё больше неизвестных, которые замедлят нашу работу.
Поэтому мы меняем свою стратегию на 2022-й год:
Мы замораживаем кодовую базу 2.2 и возвращаемся к разработке 1.20.
Мы переводим кодовую базу 1.20 в новый репозиторий кода 1.30.
Обновляем кодовую базу 1.30, чтобы получить возможность использовать современные компиляторы, такие как Visual Studio 2019 вместо 2012.
Мы обновляем APB 1.30 до 64-бит путем обновления наших библиотек до тех же версий, что мы используем в APB 2.2.
Устраняем вылеты на RTX и падения частоты кадров, которые возникают на текущих 32-битных ограничениях памяти.
Это значит, что мы прекращаем гнаться за большим обновлением движка, которое остаётся недосягаемым и сосредотачиваемся на обновлениях для текущей базы игроков.
После этого я хочу несколько этапов, которые будут выпущены для игроков:
Перенести готовую систему пакетов в 1.30. Это значительно уменьшит время загрузок.
Перенести сетевой код из 2.2. Это позволит продолжить работу над кросс-мирами в 1.30.
Добавить поддержку DirectX 11 (и возможно даже DirectX 12).
Исправить плохую геометрию и коллизии, которые сейчас присутствуют в игре.
Добавить всё вышеперечисленное в консольные версии Xbox One, Xbox X, PS4 и PS5. Сделать минимальные изменения интерфейса.
По сути, мы потратили уйму времени, чтобы сделать шаг вперёд в кодовой базе, с которой мы боролись годами. Поскольку после наших усилий, кодовые базы очень схожи, мы будем выбирать и переносить кусочки в текущую игру, пока не получим все функции, которые планировали получить в 2.2.
Спасибо всем, кто продолжает оставаться с нами и насаждаться APB. У нас получится.
Мэтью Скотт
К сожалению, возможность оставлять комментарии доступна только зарегистрированным пользователям! Пожалуйста, авторизуйтесь сейчас или зарегистрируйтесь.
Если вы уже прошли процедуру авторизации, попробуйте обновить страницу.