Офтоп
Редакция vc.ru

История разработки новой системы выбора персонажа в 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 году.

0
9 комментариев
Популярные
По порядку
Написать комментарий...

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

2

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

1

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

1

Комментарий удален по просьбе пользователя

0

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

0

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

0

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

0

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

–2
Читать все 9 комментариев
Плюшки – от робота, а преференции – для резидента

Как наладить взаимовыгодное сотрудничество на территории ОЭЗ «Технополис Москва».

Разговор PRO: аналитика рекламы

Эксперты компании Registratura, входящей в iConText Group, вместе со своим клиентом «Олант» приняли участие в спецпроекте AdIndex.ru, где поговорили о рекламной аналитике.
Сергей Ерофеев, генеральный директор Registratura, Андрей Сахаров, руководитель отдела продаж Registratura, и Филипп Иванов, директор по интернет-маркетингу и e-commerce «Олант»…

IKEA начала сдавать в Токио квартиры в 10 м² за $0,86 в месяц, чтобы показать, что в них тоже можно жить Статьи редакции

Внутри есть мини-спальня, рабочая зона, диван, стиральная машина и другое.

eBay: 64% покупателей не жалеют о своих покупках в Черную пятницу

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

Юбилей кешбэка: как в 130 лет выглядеть «на все сто»

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

Как обустроить домашнюю студию звукозаписи при скромном бюджете Статьи редакции

Почему сведённый трек нужно проверять на паршивой Bluetooth-колонке, какие плагины выгоднее брать новичку и с каким синтезатором работал Ханс Циммер, создавая саундтрек к «Тёмному рыцарю», — в пересказе Pitchfork.

AudioMunk
«Как иронично, что фирме в сфере психического здоровья плевать на психическое здоровье собственных работников» Статьи редакции

Сотрудники Spring Health жалуются на соучредительницу Эйприл Го: она запугивает их, увольняет при всех, вынуждает работать по 70 часов в неделю и не нанимает тех, кто спрашивает про переработки. Го объясняет: «Мы носимся как безголовые цыплята, потому что на кону человеческие жизни».

Эйприл Го — на ноябрь 2021 года самая молодая женщина-директор компании с оценкой более $1 млрд Slush
Зимний набор на оплачиваемую стажировку в Тинькофф Старт: какие задачи решают стажеры

Стажировка пройдет по направлениям: аналитика, QA, бэкенд-разработка (Java, C++, Python, Scala, .Net, Golang), фронтенд, мобильная разработка (iOS и Android), ML, маркетинг и менеджмент образовательных проектов.

Пользователи пожаловались на недоступность платформы для продажи хендмейд-товаров Etsy Статьи редакции

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

null