Уголок разработчиков
''Спросите Riot'': насколько случаен ARAM?

Как работает "Ваш магазин", что растет в Билджвотере и как распределяются чемпионы в ARAM.

Уголок разработчиковАвторыRiot Scathlocke, Riot Mojibake, Riot Aryeila
  • Скопировано в буфер обмена

Добро пожаловать в "Спросите Riot"!

На этой неделе мы поговорим о цветах, "Вашем магазине" и ARAM.

Не забывайте присылать вопросы! Каждый из них помогает кормить голодных поро.

Когда подбираются образы в "Вашем магазине"? В момент нажатия кнопки или заранее?

Образы в "Вашем магазине" подбираются задолго до того, как вы нажимаете кнопку. В техническом блоге есть целая статья на тему того, как персонализируются предложения: "Анализ данных при подборе ассортимента "Вашего магазина" (англ.). Читайте ее, если хотите узнать подробности.

Riot Aryeila, старший редактор

Как выглядят цветы в Билджвотере? Они там вообще растут?

Билджвотер – это просто город (большой и грязный!), расположенный на далеких Змеиных островах. Деревянные хибары приезжих пайлангов стоят здесь так плотно, что для зверей и цветов почти нет места. Впрочем, тут и там можно заметить упрямые тропические растения – особенно среди древних руин бухру. Вам попадутся как прекрасные лилии или лотосы, так и хищные мухоловки или что пострашнее.

Чего в Билджвотере много, так это кораблей. В порту всегда многолюдно, здесь можно купить что угодно – если, конечно, вам хватит денег. Не будем называть это место "черным цветочным рынком", скажем лишь, что в Билджвотере найдутся знатоки, которые достанут вам любую диковинку, даже если это займет недели или месяцы. Розы из Ноксуса? Сушеные цветки душ из Ионии? Хмель из Демасии? Если готовы раскошелиться – все это станет вашим.

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

Riot Scathlocke, главный редактор

Привет, Riot! У меня есть вопросы по поводу ARAM. Действительно ли выбор чемпионов полностью случаен? Как вы добиваетесь того, чтобы один и тот же чемпион не появился в обеих командах даже с учетом перевыбора?

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

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

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

Что касается полной случайности, все зависит от точки зрения. Каждый раз, когда вы получаете чемпиона, он выбирается случайным образом из доступного вам множества, но это множество не случайно. Вот как это выглядит, если использовать понятия теории множеств:

((ACO) \ R) \ D

Здесь A – это множество из 65 чемпионов, которые всегда бесплатны в ARAM, C – бесплатные чемпионы недели, O – приобретенные вами чемпионы, R – чемпионы, которые на данный момент выпали в обеих командах, а D – отключенные чемпионы (чаще всего это множество пустое). Проще говоря, вы всегда получаете случайного чемпиона, который не назначен игроку и не находится на скамейке запасных.

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

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

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

Riot Mojibake, старший инженер по программному обеспечению

Хотите задать вопрос? Перейдите сюда и введите текст вопроса в прямоугольное поле.



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