Мы сократили время загрузки матча на 40 процентов | Новости | Калибр – командная онлайн-игра
Русский
Мы сократили время загрузки матча на 40 процентов

Среднее время входа игрока в бой в «Калибре» на 3 марта составляет 27 секунд. С момента переезда игры на новые сервера мы улучшили этот показатель на 40 процентов — в день перезапуска среднее время входа составляло 45 секунд. Тем не менее, сейчас около 25 процентов игроков попадают в бой за 37 секунд и более, а 5 процентов игроков ждут начала матча больше 70 секунд, то есть, опаздывают к началу игры.

Технические специалисты и программисты «Калибра» продолжают заниматься проблемой. Время загрузки будет снижаться и дальше.

Чтобы не быть голословными, мы подготовили обширный FAQ по проблеме.

Почему при переезде на новые сервера вообще возникла ситуация, что время ожидания матча возросло?

На самом деле, сервера здесь ни при чём. Вы могли заметить, что с версии 0.9.0 «Калибр» стал занимать на жёстком диске почти в 2.5 раза больше места — 18 гигабайт (раньше было около восьми).

Это позволило нам не сжимать ресурсы игры и уменьшить все дальнейшие патчи почти в 30 раз. Кумулятивный патч, который раньше весил, например, 200 мегабайт, теперь будет весить 6 мегабайт.

То есть первая загрузка игры на компьютер осталась без изменений, но все последующие обновления будут происходить довольно быстро.

Мы перестали сжимать ресурсы. Это означает, что теперь процессор меньше занят распаковкой файлов и меньше нагружается во время игры. Но возникла другая сложность — «полновесные» файлы стали более требовательны к скорости жёсткого диска. Они больше, а значит, и загружаются дольше.

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

Как вы решаете проблему долгой загрузки?

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

Если подлиннее и посложнее, то самое главное — мы стараемся сделать так, чтобы правильно инициализировать данные, которые 100% понадобятся во время матча. Грубо говоря, сейчас при загрузке игра полностью просчитывает все возможные сценарии, которые могут возникнуть на протяжении матча: поведение каждого игрока любым оперативником, поведение ботов, последовательности действий, использование способностей и ресурсов и так далее. 

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

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

Почему вы не сообщаете о таких изменениях игрокам?

Эти изменения происходят, что называется, итерационно, а не появляются с очередным патчем. Именно поэтому в феврале, по сути, было одно значимое обновление — с версии 0.9.0 до версии 0.9.1, а скорость загрузки матча росла постоянно. В том числе поэтому сейчас мы чаще проводим технические работы. 

Как это выглядит. Например, программисты «Калибра» смогли добиться качественного изменения скорости загрузки в своих тестах. Значит, есть высокая вероятность, что это сработает для большинства игроков. Тогда это исправление вносится, скажем, вместе с включением очередного ивента или во время профилактических техработ в среду. 

Мы собираем статистику, чтобы подтвердить результат работы достоверными данными. В феврале мы добились серьёзного прироста и вот — говорим вам об этом.

Можете назвать конфигурации ПК, на которых чаще других встречаются долгие загрузки?

Как мы уже говорили, в основном всё упирается в скорость жёсткого диска. Компьютеры, в которых игра установлена на жёсткие диски, подключенные через интерфейсы IDE, SATA, SATA II, USB без использования AHCI (технология, ускоряющая работу жёстких дисков), испытывают самые большие проблемы. Чем старше технология и сам жёсткий диск, тем ниже скорость чтения и, соответственно, дольше ожидание. 

Если у вас нет SSD-диска, который точно решает проблему, то эти советы могут помочь, пока мы продолжаем работать над задачей.

Когда проблема исчезнет?

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

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