Лого vc.ru

История разработки новой системы выбора персонажа в League of Legends

История разработки новой системы выбора персонажа в League of Legends

Ведущий дизайнер социальных систем Riot Games Джеффри Лин опубликовал заметку, в которой рассказал о том, как команда популярной игры League of Legends вела разработку новой системы выбора персонажа перед битвой, которая появилась в проекте осенью 2015 года.

Редакция рубрики «Рынок игр» публикует перевод материала.

Поделиться

Размышления

Мы навсегда запомним 2015 год. Вокруг слышно совсем немного историй о настоящем героизме в деле разработки игр. Но вот вам история моих героев.

Урок истории

Внутри коллектива мы называем наш рабочий кабинет «ямой». Столы расставлены в форме подковы со Scrum-доской в середине. Открытое пространство внутри подковы даёт команде возможность собраться на экстренное совещание или на ежедневный Scrum-митинг.

В начале марта в глубине «ямы» группа разработки социальных систем размышляла над результатами своей работы в последние годы. Нам было о чём сожалеть: в 2013 году мы ввели так называемую систему «Доблести» (Honor Initiative — прим. ред.), которая позволяла игрокам в League of Legends хвалить друг друга за хорошее и дружелюбное поведение внутри игры. Мы были уверены, что система станет инновационной, первой в своём роде основанной на машинном обучении системой для онлайн-сообществ.

Однако когда мы запустили первую составляющую системы, было принято решение свернуть с намеченного пути и поработать над проектом под названием «Конструктор команд». Мы были уверены, что у него окажется больше плюсов в долгосрочной перспективе. И до сегодняшнего дня, оглядываясь назад на нашу оригинальную задумку для системы «Доблести», мы понимаем, что так и не исполнили её.

Конструктор команд — полная переделка всего предыгрового опыта в League of Legends (выбор чемпионов). Мы потратили огромное количество сил, чтобы позволить игрокам вручную настраивать роли в команде и позиции чемпионов до начала самой игры. Проблема всех этих ручных настроек заключалась в том, что в реальности игроки тратили слишком много времени, чтобы просто попасть в матч. В основном игроки предпочитали выбирать чемпионов по старинке, и Конструктор команд стал слишком нишевым продуктом. Мы промахнулись.

Когда мы в очередной раз сидели в «яме», некоторые члены команды повернулись ко мне и спросили: «Джефф, можем мы получить второй шанс, чтобы вернуться и переосмыслить предыгровой опыт в League of Legends?»

Джеффри Лин (по центру)

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

Однако мы, как разработчики, давно мечтали вернуться и закончить то, что начали. Команда была уверена в своих силах, и я, как их руководитель, должен был рассказать начальству о потенциальном выигрыше (и рисках) от всего предприятия. Я пропитался вдохновением от команды, собрал воедино все идеи и подтянул их. Я отвечал на вопросы. Я очень много говорил о нашей идее. К апрелю 2015 года начальство дало отмашку, и мы приступили к работе над самым большим проектом в истории League of Legends — переосмысливанию всей системы выбора чемпионов, способному полностью изменить весь предыгровой опыт.

На разработческом фронте без перемен

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

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

Запись от 8-го октября 2015, 11:53

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

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

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

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

Но всё же, ребята, я ещё раз прошу вас: постарайтесь приготовить самое вкусное блюдо. Если кто-то из вас хочет подтянуть какой-нибудь момент в дизайне с точки зрения качества, дайте мне знать.

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

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

Закон подлости

Каждая команда должна готовиться к худшему, надеясь на лучшее. Говорят: если что-то может пойти не так, оно обязательно пойдёт не так в какой-то момент времени, если вопрос касается разработки ПО. Лучшие разработчики — те, кто может быстро адаптироваться к возникающим трудностям, а не те, что не совершают ошибок.

На следующий день, девятого октября, мы попросили нескольких профессиональных игроков в League of Legends опробовать новый вариант выбора чемпиона, и получили очень позитивные отклики. Тем не менее, наблюдение за тестами показало, что системе чего-то не хватает. Продукт был потрясающим на 90%, и в нормальной ситуации этого бы хватило. Разработчик программного обеспечения всегда вынужден выдерживать баланс между перфекционизмом и прагматизмом. Но в данной ситуации нам очень хотелось создать шедевр.

Той же ночью вся команда укрылась в зале совещаний вокруг доски для рисования.

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

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

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

И стены полетят

Команда трудилась изо всех сил. Я был с ними всё время, пока шла работа. Постоянные забеги в продуктовый магазин быстро сменились заказами с помощью Amazon Prime. Я потратил на вяленую говядину для команды больше тысячи долларов (серьёзно). Четырнадцать дней я заботился о команде и делал всё, что было в моих силах, чтобы они успели вовремя.

Но в итоге мы стали вкладывать слишком много данных в пакеты, пересылаемые между игроком и сервером, и наружу вылез баг, всякий раз обрывающий соединение для 5% игроков. Мы посовещались с внутренними консультантами, но работа над предложенным ими решением заняла бы не менее трёх месяцев — без всякой гарантии, что проблема решится. А у нас попросту не было столько времени.

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

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

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

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

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

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

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

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

Спасибо вам, ребята. Увидимся в 2016 году.

Статьи по теме
Как команда онлайн-игры League of Legends борется с расизмом и делает интернет лучше07 марта 2015, 17:49
«Если раз в 10 лет мы будем выпускать по одной определяющей жанр игре, это будет успехом»24 ноября 2015, 10:13
Популярные статьи
Показать еще
Комментарии отсортированы
как обычно по времени по популярности

Типичная разработка типичного продукта. Не очень понятно, зачем про это писать статью.

Совсем без скриншотов что ль?

Ничего про саму систему: как её меняли, из чего исходили, как улучшился опыт игрока. Просто история про вдохновение

Есть кто давно в нее играет? Хотя бы вы объясните что это за система и чем отличается от старой.

0

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

0

А высосали-то из это сколько, Господи прости.

0

Близзарды юзают такую систему уже несколько лет 😉

да тупо слизали у Близарда в ВОВ система ЛФР,при чем игрок с ролью танк/лекарь как правило получает дополнительные бонусы,дифицит
короче

0

Возможность комментирования статьи доступна только в первые две недели после публикации.

Сейчас обсуждают
Shtadler Anton

потому что хочется) У каждого свой фан.

Ашот Габрелянов представил приложение Magic для создания индивидуальных стикеров на основе эмоций
0
Дмитрий Каулькин

Язь это ещё норм. Хорошо, что не дратути.

«Вжух»: реакция российских компаний на мем с котом и волшебной палочкой
0
Maga Abdurakhmanov

1. Google Authenticator на часах, очень удобно, что всегда под рукой. За телефоном обычно надо лезть
2. SMS коды, тоже самое что Google Authenticator
3. Нотифаи, настроенные в соответствии с важностью, не надо лезть за телефоном ты сразу видишь, особенно удобно с встречами
4. Не отвлекает людей вокруг звуки твоего телефона (я его всегда на тихом режиме держу теперь)
5. Будильник в часах будит только тебя виброй
6. Если забыл телефон дома и ушел, часы напомнят виброй
7. Управление музыкой, не надо искать телефон, погромче или на паузу поставить
8. Когда едешь на велосипеде, а тебе пишут смс/в телеграм, можно голосом ответить с часов, не доставая телефон
9. Тречит сон и шаги, так-как часы всегда на запястье (7 дней на зарядке)

Есть на рынке другие часы, которые это могут?

От $740 млн до $40 млн за один год
0
Nikolay Kachev
Tredwear

Как будто балтику 9 рекламируют, а не напиток для интеллектуалов. Типа наебенься с нами чувачок

Компания «Альянс» показала на бутылках своего сидра героев знаменитых картин в состоянии опьянения
0
Sp Soul
ITSys

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

Штаб-квартира: Петербургский офис игровой студии Playkot
0
Показать еще