Дневники разработчиков: октябрьское повышение производительности

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

Цена обновлений

За этот год игра Quake Champions серьёзно изменилась. С каждым обновлением мы добавляли новые карты, режимы и возможности.

Самыми богатыми на новшества месяцами для Quake были июнь и август: в игре появились боты, система насилия и несколько новых карт. Мы также доработали и систему подбора игроков. Но все эти новшества повышают расход системных ресурсов.

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

Оптимизация и улучшения

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

Больше никакой потери сетевой синхронизации

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

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

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

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

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

Решение проблем с системой отображения

Ранее мы уже упоминали, что игра Quake очень требовательна к ресурсам центрального процессора и видеокарты. Всё-таки при игре на таких скоростях обрабатывать в режиме реального времени все ракеты, физику тел и сцены насилия и расчленения непросто.

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

В октябре мы сосредоточились на решении ряда проблем со скоростью отрисовки кадров, которые встречаются достаточно часто — например, потеря плавности в самом начале каждого матча. Мы снизили расход ресурсов как клиента, так и сервера на отрисовку нескольких видов оружия (например, дробовика) и некоторых наших чемпионов, на которых «навешена» целая куча спецэффектов. А на сложных картах вроде The Longest Yard мы вдобавок снизили количество видимой сложной геометрии.

Всё только начинается

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

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

Спасибо за внимание! Мы с нетерпением ждём, когда вы сможете опробовать в деле новый облик Athena, режим «Червоточина» и те улучшения и доработки, про которые мы вам только что рассказали. Увидимся 11 октября после выхода обновления!