Стремясь улучшить производительность, мы долго анализировали проблемы, возникающие в Сиродиле, и работали над их решением. Я вкратце расскажу о том, что было предпринято за все эти годы, что мы делали, чтобы справиться с проблемами, и что нас ждет в будущем.
Говоря о производительности серверов ESO, важно понимать, что все способности в игре (за некоторыми исключениями) имеют «мягкое» ограничение на количество применений. Способности с «жестким» ограничением можно применять, например, не чаще, чем раз в две секунды, как того требует сервер. Таких способностей в ESO немного. Мы намеренно использовали в игре мягкие ограничения, чтобы применять способности можно было сколько угодно, пока у вас хватает для этого ресурсов — запаса сил или магии. Также существует общее время «перезарядки» для всех способностей — сейчас оно равняется 1000 мс.
Цель использования мягких ограничений в любой игре заключается в том, чтобы позволить игрокам создавать билды на основе личного выбора и не ограничивать их в уроне или исцелении. При такой системе от игрока зависит очень многое, игра становится по-настоящему увлекательной и интересной. Но если не ограничивать ресурсы, возникают ситуации, когда игроки применяют чересчур много способностей слишком часто (и непрерывно).
За время существования игры возможности игрока значительно расширились. Появились система героя и различные наборы доспехов и оружия, изменились многие способности, и в конце концов мы достигли того этапа, когда игроки (с определенными билдами) могут применять почти бесконечное множество способностей. Если вы окажетесь в хорошо организованной группе, где одни игроки сосредоточены на нанесении урона, а другие — на исцелении и восстановлении ресурсов, то увидите бесконечный, практически не останавливающийся поток способностей.
Помня об этом, давайте теперь рассмотрим, как работают способности, действующие по площади. При использовании такой способности сервер определяет область действия (практически всегда это область вокруг заклинателя), находит цели и затем применяет способность. Для каждого из этих действий серверу необходимо совершать отдельные вычисления.
Непосредственно после выхода игры серверные процессы, связанные с Сиродилом, справлялись с количеством применяемых способностей: большинство игроков тогда не могли использовать их часто — у них заканчивались магия или запас сил, и их использование приходилось продумывать заранее. Со временем игроки поднаторели в механике игры, научились быстрее регенерировать ресурсы, и действующие по площади способности применялись все больше и больше.
За прошедшие годы мы выявили и решили множество проблем с производительностью в Сиродиле и продолжаем этим заниматься. В каждом обновлении мы находим серьезные ошибки и исправляем их.
Однако один основополагающий вопрос так и остается без ответа. В какой-то момент благодаря знаниям игроков, а также умело собранным билдам и механике групп, создалось положение, при котором большинство PvP-игроков могло применять действующие по площади способности бесконечно, не истощая при этом ресурсы. Это привело к возникновению постоянного потока таких способностей — многие игроки вообще пользуются исключительно ими.
Это было не совсем то, к чему мы стремились, но создание билдов, способных дать неожиданный и мощный результат, — одна из составляющих удовольствия от игры в серию Elder Scrolls, и мы оставили все как есть. Однако со временем к такой тактике стало прибегать все больше игроков, и в конце концов применение огромного количества действующих по площади способностей в небольшом регионе начало перегружать связанный с ним серверный процесс, что, в свою очередь, приводило к возникновению задержек и зависанию сервера.
Вначале (еще в обновлении 22) мы попытались решить эту проблему, отыскав и исправив несколько ошибок в вычислениях, связанных с действующими по площади способностями, и оптимизировав их. На какое-то время это помогло. Но поскольку все больше игроков достигает максимального уровня героя и начинает использовать вышеописанную тактику, мы пришли к выводу, что эту проблему больше нельзя решать «по верхам»: нужно устранить ее первопричину, и именно этим мы займемся в обновлении 27.
Для этого нам сначала нужно будет провести анализ, а сделать это можно только на основных серверах. Обычно мы стараемся не проводить тестов на основных серверах, однако различные сочетания тактик и билдов игроков, а также массовых сражений можно отследить только там. Поэтому с 24 августа мы начнем проводить тесты в Сиродиле на обоих серверах ПК — европейском и американском. Обратите внимание: на серверах консолей никаких тестов не будет. Каждый тест займет приблизительно неделю, но при необходимости мы продлим этот срок.
Первые несколько тестов будут сосредоточены на действующих по площади способностях в Сиродиле. Мы планируем изменить перезарядку, стоимость и восстановление всех подобных способностей так, чтобы игрокам стало сложнее пользоваться только ими и больше ничем.
Вот подробное описание тестов, которые будут проведены в Сиродиле:
- Тест 1: общая перезарядка (3 секунды). Этот тест добавит общую перезарядку длительностью в 3 секунды для всех действующих по площади способностей. Иными словами, применив одну такую способность, следующую вы сможете применить не раньше, чем через 3 секунды. Например, если я, играя за храмовника, использую «Ритуал возмездия», то в течение 3 секунд не смогу использовать «Пробивающий замах».
- Тест 2: отдельная перезарядка (3 секунды). Этот тест добавит отдельную перезарядку для каждой действующей по площади способности. Иными словами, применив такую способность, использовать ее же повторно вы сможете не раньше, чем через 3 секунды. Например, если я, играя за храмовника, использую «Пробивающий замах», то в течение 3 секунд я не смогу применить его повторно.
- Тест 3: отсутствие перезарядки, общее увеличение стоимости. Этот тест будет увеличивать стоимость действующих по площади способностей при каждом применении (аналогично принципу действия «Бегущей молнии» или кувырка). Применив такую способность, вы на 5 секунд получите отрицательный эффект. Каждый заряд этого эффекта будет увеличивать стоимость всех действующих по площади способностей.
- Тест 4: отдельная перезарядка (3 секунды), общее увеличение стоимости. Этот тест, как и тест 2, добавит отдельную перезарядку для каждой действующей по площади способности, но при этом еще и увеличит их стоимость, как тест 3.
Все, кто окажется в Сиродиле во время проведения этих тестов, будут получать двойное количество очков альянса.
Возможно, позже мы попробуем другие сочетания перезарядок, стоимости и восстановления, но сначала нам нужно провести перечисленные выше тесты и оценить результат. После этого мы расскажем, что у нас получилось и как мы будем действовать дальше. Мы будем с вами честны, но, пожалуйста, не забывайте: если тесты подтвердят наши предположения, то в PvP-режимах ESO больше не получится использовать тактики, основанные на бесконечном применении действующих по площади способностей. Если так случится, мы проанализируем все классы, убедимся, что для каждого из них есть надежные билды, и внесем коррективы при необходимости.
Код этих тестов будет включен в сегодняшнее обновление для публичного тестового сервера, а во вторник мы проведем в Сиродиле кое-какие базовые тесты, чтобы убедиться, что вышеописанные изменения можно внести в игру, не отключая серверы. 24 августа, после выхода обновления 27 на ПК, в игре появится объявление с датой начала тестов, а на форуме — тема с указанием того, какой именно тест проводится в данное время. Напоминаем, эти тесты будут ограничены Сиродилом, так что действующие по площади способности в других PVP-областях (Имперском городе и полях сражений) пока что останутся без изменений. Мы оценим ход тестов и сообщим вам о дальнейших шагах.
Мы благодарим вас за терпение и понимание. Ваша поддержка невероятно важна для команды и очень помогает нам в работе над производительностью в Сиродиле.