Уголок разработчиков
/DEV: ЖИЗНЬ ОБНОВЛЕНИЯ

Как создаются обновления для League of Legends?

  • Скопировано в буфер обмена

В прошлом месяце команда Ущелья призывателей – то есть большая группа разработчиков, куда входит “команда балансировки” – в реальном времени писала в твиттер о том, как продвигается работа над изменениями баланса для обновления 9.13. Сегодня мы еще раз вспомним некоторые из их твитов и соберем все подробности воедино, чтобы рассказать вам, как создаются обновления.

Но прежде чем вы узнаете, почему был ослаблен ваш любимый чемпион, давайте поговорим кое о чем действительно интересном… о планировании.

Для всего должен быть план… ну, почти

Работа над каждым обновлением начинается со “спринтового планирования” – собрания, где дизайнеры определяют задачи среднего размера, над которыми они будут работать в этом цикле. Сюда входят правки предметов (например, Клинка ярости Гинсу), полезные изменения чемпионов (вроде пассивного эффекта абсолютного умения Блицкранка) и поддержка грядущих или недавно выпущенных чемпионов. Мы также обсуждаем планы на будущие крупные изменения игрового процесса – например, предсезон 2020. Здесь не обсуждаются простые правки вроде увеличения/уменьшения показателей – этими вещами мы занимаемся уже в конце цикла обновления.

02abc_n1kqkdup5o6pcrbyyx7j.png
Составление планов на обновление 9.13! #lifeofapatch /// Ритуал команды УП №3: спринтовое планирование (проводится каждые две недели). Мы планируем свою работу перед каждым новым циклом в Лиге, используя систему, которая позволяет отслеживать рабочую нагрузку каждого члена команды. #lifeofapatch

Выбирая проекты среднего размера, мы обычно задаем себе следующие вопросы (именно в этом порядке):

  1. Есть ли в игре неотложная проблема, которую нельзя исправить мелкими изменениями и которая потребует длительного тестирования?
  2. Есть ли у нас работа, начатая ранее, которую мы собираемся продолжить?
  3. Нужно ли в игре что-то, что можно закончить за 6-8 недель?

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

Обсудив эти вопросы в цикле обновления 9.13, мы решили сосредоточиться на Свейне, Жезле веков, Пайке одиночной линии, Удире, Иллаой, Мордекайзере (потенциальные дополнительные правки) и изменениях предсезона.

Выбор направления

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

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

03_zprnxmucxsy9bclzkydx.png
Во время блиц-собраний команде нужно постоянно следить за тем, чтобы не зависнуть на какой-то одной теме навечно. Поэтому они устанавливают ограничения по времени и устраивают голосования, чтобы решить, выделить ли еще две минуты на обсуждение конкретной темы. #lifeofapatch /// Рассказав об изменениях всей группе, команда пробует предложенные идеи во время ежедневных тестов, чтобы понять, какие из них стоит включить в обновление. #lifeofapatch

В дополнение к этим собраниям вся команда Ущелья призывателей (включая аналитиков, инженеров и менеджеров) дважды в день участвует в игровом тестировании. Это позволяет им понять, как изменения ощущаются в игре. Кроме того, у нас есть целая команда высокоуровневых игроков из отдела по обеспечению качества, которая каждый день проводит собственные тесты и от которой дизайнеры получают дополнительные отзывы о том, принесли ли изменения нужный эффект. А еще во время тестов совершенно не возбраняется по-дружески – оставаясь, конечно, в рамках приличий! – подкалывать друг друга.

04_k83vxzbca6fl4fx33sh7.png
Сейчас буду играть против @RiotBlaustoise на средней линии. Он берет Акали, а я – Нико. Посмотрим, как он справится. #lifeofapatch /// То чувство, когда @RiotBlaustoise убивает меня один на один, а затем вскакивает из-за стола и бежит ко мне, чтобы дэбнуть

Если вам интересно, то вот как проходила работа над некоторыми изменениями для обновления 9.13 – от спринтового планирования до конца цикла.

Иллаой

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

С учетом этого Riot Sotere создал черновой список изменений, среди которых были следующие: возможность сохранять дополнительное щупальце, возможность применять [W] к башням и удаление механики “уменьшение времени существования духа, когда Иллаой получает урон”.

05_Illaoi_First_Change_List_Russia_hlfa68ce07n1h4cgx1va.png
Первая версия изменений Иллаой для обновления 9.13.
06_zjur0lcu97v6h0tbsflq.png
Обсуждали с @LoLSotere изменения Иллаой. Я предложил удалить снижение продолжительности [E], когда Иллаой получает урон от чемпиона. Это довольно коварная функция, а многие игроки о ней даже не подозревают. У Джона есть другие интересные предложения – например, дать Иллаой возможность сохранять до 2 щупалец, если она долго их не призывала. #lifeofapatch /// Пришлось отказаться от нескольких зарядов щупалец в пассивном умении Иллаой. В теории это выглядело хорошо, однако на практике игрокам пришлось бы держать в голове слишком много информации. К тому же механика была слишком раздражающей, несмотря на мои попытки это исправить. #lifeofapatch

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

07_Illaoi_Final_Change_List_Russia_31bgwkqhbdtc108occv5.png
Окончательные изменения Иллаой для обновления 9.13

Пайк

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

08_tkggl71abqkqm2ju17xo.png
Я занимаюсь балансировкой Пайка одиночных линий для обновления 9.13. Есть у кого какие идеи? #lifeofapatch /// Итак, я отложил мысли о Пайке до утра, и вот с чего в итоге решил начать. #lifeofapatch Если вкратце, надо перeнести его фишки, повышающие живучесть, с его базового пассивного умения на пассивный эффект [W]. А потом, отталкиваясь от этого, внести другие правки.

Благодаря восстановлению здоровья на пассивном умении Пайк практически невосприимчив к изнуряющему урону на линии, поэтому RiotRepertoire решил ослабить эту механику и дать Пайку более ощутимые слабые стороны. Если перенести этот эффект на [W], то для обеспечения прежней живучести Пайку одиночной линии пришлось бы тратить на него лишнее очко умений в начале игры. Из-за этого он лишился бы доступа к боевым умениям для сражений на линии и управления волнами миньонов. Также это значит, что ему пришлось бы в первую очередь развивать [W] (а не [Q]), чтобы повысить живучесть до максимума – и это ударило бы именно по Пайку одиночной линии, а не по Пайку поддержки.

09_Pyke_First_Change_List_Russia_vjhdelf7v3ku920lt134.png
Первая версия изменений Пайка для обновления 9.13.

Но после игрового тестирования и дальнейших обсуждений команда была уже не так уверена, что это изменение стоит вносить – в частности потому, что Пайк поддержки страдал от него не меньше, чем Пайк одиночной линии. Поэтому, вместо того чтобы ослаблять живучесть Пайка на линии, RiotRepertoire решил ударить по его скорости зачистки (которая наиболее важна именно на одиночных линиях), уменьшив урон умений по миньонам. В итоге эти изменения и попали в обновление 9.13.

10_Pyke_Final_Change_List_Russia_3l6aw5zpjdg3thq8yazd.png
Финальная версия изменений Пайка для обновления 9.13.

Жезл веков

Жезл веков не так привлекателен, как другие предметы, повышающие силу умений и запас маны. Сейчас мы не планируем обновлять предметы на ману – потому что не хотим менять Потерянную главу, – так что вместо этого мы решили повысить привлекательность Жезла, сделав его интереснее и/или сильнее.

11_Rod_of_Ages_Changes_sthki5txp0jsslvmlga6.png

В начале RiotRepertoire планировал более крупные изменения для Жезла – он хотел сделать его более современным предметом для магов, которым нужна сила в бою и живучесть. Кроме того, в дополнение к этим изменениям RiotRepertoire подготовил ряд правок для Катализатора эонов, Преследующей маски, Мучений Лиандри и Маски пустоты. Вот как все выглядело изначально:

12_Rod_of_Ages_Change_List_Russia_vgvrwc35mrnchqk5ixm0.png
Первая версия изменений Жезла веков и предметов, повышающих силу умений.

Самым крупным изменением Жезла, Преследующей маски и Мучений Лиандри был новый накапливающийся эффект “Безумство” – чемпионы должны были получать заряды Безумства в бою с вражескими чемпионами (до 10). Накопленные заряды затем превращались в силу умений. Эти изменения – вкупе с живучестью от Жезла – должны были вознаграждать магов за участие в затяжных боях и многократное использование умений, давая им дополнительный урон и выживаемость.

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

Поэтому RiotRepertoir воспользовался запасным планом, попросту снизив цену Жезла. Нам все еще нравится изначальная идея, но вряд ли эти изменения вступят в силу до предсезона.

13_Rod_of_Ages_Cheaper_mgtnvr062p9095hjuteb.png

Новый вызов!

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

В обновлении 9.13 RiotRepertoir начал долгосрочную работу над изменениями Акали.

14_Akali_Changes_r8ikbzkxlbt1ztn3ik40.png
Так как у нас сейчас в разгаре #lifeofapatch, вот изменения Акали, над которыми я начал работать на этой неделе. Здесь также есть скриншоты из рабочей переписки с описаниями, которое я отправил коллегам (не обращайте внимания на опечатки). 1) Текущие данные о балансе 2) Мысли о дизайне 3) Изменения – ничего из этого еще не утверждено, а числа не финальные.

Вот письмо целиком, вот – отзыв Riot Blaustoise, а вот – текущий список изменений.

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

15_Loc_Lock_jbii95hiucmtaye6ojxm.png
Сегодня последний день для внесения текстовых изменений (мы утверждаем описания, чтобы их успели перевести по всему миру). Обычно это значит, что больше никаких изменений механик не предвидится. Впрочем, числа еще могут поменяться. Вот как выглядит список правок для Иллаой: #lifeofapatch

Изменения Иллаой уже в игре, но если вам интересно, весь список доступен здесь.

Пожалуйста, усильте моего чемпиона

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

Каждые две недели вся команда собирается вместе, чтобы обсудить состояние игры. На этом совещании мы собираем статистику по текущему циклу и смотрим, каких чемпионов следует ослабить (или усилить). Решая, каких чемпионов менять, команда руководствуется недавно введенной системой границ. Больше никаких гаданий на кофейной гуще; с помощью этой системы можно объективно оценить силу чемпиона на всех уровнях игры – и никто не останется незамеченным.

Напомним, как выглядят эти границы:

Уровень игры

Ослабляем, если выполнено ЛЮБОЕ условие

Усиливаем, если выполнены ВСЕ условия

Обычный

Золото I и ниже

Частота побед выше 54,5%; при этом частота блокировок ниже СЧБ.

ДО

Частота побед выше 52,5%; при этом частота блокировок превышает СЧБ минимум в 5 раз.

Частота побед ниже 49%.
Высокий

От Платины IV до ранга грандмастера

Частота побед выше 54%; при этом частота блокировок ниже СЧБ.


ДО

Частота побед выше 52%; при этом частота блокировок превышает СЧБ минимум в 5 раз.

Частота побед ниже 49%.

Элитный

Ранг претендента

Частота блокировок выше 45%.Присутствие ниже 5%.
Профессиональный

5 лучших профессиональных лиг

Присутствие в текущем цикле выше 90%.

ИЛИ

Присутствие на протяжении 2 циклов подряд выше 80%.

Присутствие ниже 5%.

Статистика по обновлению 9.12:

1. Average Nerfs for Patch 9.13
01_Average_Nerfs_for_Patch_9.13_yjd7y5qj135kwtgwz7k8.png
2. Skilled Nerfs for Patch 9.13
02_Skilled_Nerfs_for_Patch_9.13_9x7fyoeilh030cdhcz92.png
3. Elite Nerfs for Patch 9.13
03_Elite_Nerfs_for_Patch_9.13_vd8fs274mfv60o0mu508.png
4. Buff Candidates for Patch 9.13
04_Buff_Candidates_for_Patch_9.13_1ulflyzkgqfnajiz246m.png

ПОСМОТРЕТЬ ВСЕ ИЗОБРАЖЕНИЯ (4)

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

Усиления:

  • Сайлас
  • Синдра
  • Орн
  • Тристана
  • Знамение Рандуина

Ослабления:

  • Сивир
  • Карма
  • Сона
  • Седжуани
  • Похититель сущности
17_rrjhj7jldwz5hsuvv70v.png
О нет, они ослабляют МОИХ чемпионов #lifeofapatch /// РЕШИЛИ ОСЛАБИТЬ СОНУ ТТ

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

Данные помогают нам быть объективными в большинстве случаев, однако иногда команда принимает субъективные решения на основе коллективного опыта, даже если статистика не поддерживает эти изменения напрямую. Главный пример в этом обновлении – Сона. Она пользуется большой популярностью на всех уровнях игры, но недостаточной, чтобы было сразу понятно, что ее следует ослабить. Тем не менее команда решила, что стиль игры, которым славится Сона, негативно влияет на Лигу, так что ее надо менять, невзирая на данные.

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

В данном случае мы ослабили Похититель сущности, потому что после пары усилений и возникновения стиля игры, где игроки берут Грань Бесконечности, Похититель сущности и руну “Смертельный темп”, эффективность предмета возросла выше ожидаемого.

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

Пожалуйста, усильте моего чемпиона сильно-сильно!

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

Работая над ослаблениями, мы задаемся вопросами: “Что не так с этим чемпионом?” и “Достаточно ли сильно выражены его слабые стороны?” Седжуани – пример чемпиона, который превысил допустимый предел только на профессиональном уровне, так что нам нужно было найти причину, по которой Седжуани ценят профессионалы. Они рано покупают Доспех Вармога, поэтому мы уменьшили прирост здоровья, – это снизит силу Седжуани на профессиональной сцене, но почти не затронет ее эффективность в одиночной очереди. (Профессионалов редко останавливает изменение основных показателей, но если это повлияет на то, за что они ценят чемпиона, нужный эффект будет достигнут.)

18_Sejuani_oo5fm9ivd6lpyz338g28.jpg

Что касается усилений, мы спрашиваем себя: “На каком уровне игры этот чемпион показывает худшие результаты?” Как правило, если чемпион получает усиление, это значит, что у него низкая или средняя эффективность на большинстве уровней, а на определенных – и вовсе ужасная. Хороший пример тому – Синдра. Она неплохо показывает себя на профессиональной сцене, но при этом страдает в одиночной очереди. Мы знаем, что Синдра любит доминировать в мете, особенно у профессионалов, поэтому решили не перебарщивать с усилением. Мы увеличили ее прирост маны, чтобы повысить ее силу на всех уровнях игры, особенно там, где у игроков чаще всего возникают проблемы с ресурсами.

Усиливая или ослабляя чемпиона, мы ставим перед собой цель: насколько должна измениться его частота побед в одиночной очереди. (Если же мы ослабляем чемпиона для профессионалов, то наша цель – лишь вернуть его в установленные границы.) В случае с Синдрой мы ожидали 0,5-1-процентное увеличение частоты побед, и это еще одна причина, почему мы выбрали прирост маны – обычно он мало влияет на частоту побед.

С другой стороны, если нам нужно более значительное изменение частоты побед (>2%), мы усиливаем или ослабляем раннюю стадию игры чемпиона – это больше всего влияет на его эффективность в одиночной очереди. Например, отняв у стрелка 3 силы атаки, мы серьезно понизим его силу. Аналогичным образом, если уменьшить базовый урон умения на низких уровнях, это сильнее отразится на частоте побед чемпиона, чем если бы мы уменьшили урон того же умения на высоких уровнях – или умения, уровень которого повышается позже.

А что дальше?

А дальше обновление появляется в игре… ну, почти. Далее пишется описание изменений – мы собираем все правки воедино, добавляем пояснения и отправляем все это в регионы на перевод. После этого мы готовим все к релизу, ненадолго отключаем серверы, жмем большую зеленую кнопку – и обновление появляется в игре!

А потом все начинается сначала.



  • Скопировано в буфер обмена