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

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

Главной проблемой производительности авторы считали периодические лаги, возникающие на стороне сервера. По их мнению, это было связано с сохранением состояния всех кораблей, включая тех, которые официально были «оффлайн», но на деле сервер их периодически обсчитывал и сохранял. Решено было перенести хранение этих кораблей на отдельный серверные мощности, чтобы разгрузить основные.

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

Worlds Adrift: Кладбище кораблей
На этом графике показан процесс удаления кораблей на основной серверной платформе и соответствующее падение количество обсчитываемых объектов.

Числа говорят сами за себя: количество объектов упало с трёх миллионов до сорока трёх тысяч. То есть почти на два порядка.

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

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

2 комментария

avatar
Зачем вообще сделали просчет кораблей, которые оффлайн? Очень странно.
  • 0
avatar
статус чекали. Бывают при проектировании такие вот глупые косяки, когда думаешь, что проще весь набор (список кораблей, как тут) проще хранить в одном месте и просто «отбирать по статусу, или проверять статус — т.к. одно поле же» Но потом, когда вдруг выясняется, что активных элементов в такой таблице — совсем чуть, а все остальное, по чему запросы бегают — огромная и бесконечная прорва бессмысленных в данный момент, но обрабатываемых данных (да еще ты их и на сервера распараллелить не можешь) — вот тут вот этот маленький чек флага вырастает в ужасного монстра…
  • +1
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.