Уголок разработчиков
Восемнадцать недель до выхода: история TFT

Что получится, если взять 12 разработчиков, восемь недель и League of Legends? TFT, разумеется!

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

Примечание редактора: мы решили не сбрасывать на вас огромную простыню текста, а разделить эту историю на две части. Вторая часть будет опубликована завтра, 3 апреля, в 20:00 по московскому времени.

“А ты играешь в автошахматы?” В первые месяцы 2019 года в офисах Riot было практически невозможно избежать этого вопроса. Вы либо обсуждали новый жанр, либо рисковали услышать от команды: “Окей, бумер”.

Очень скоро этот вопрос сменился другим: “Эй, а почему бы нам не сделать что-то подобное?” Попытаться стоило, но действовать надо было быстро, ведь в игровой индустрии явно не мы одни считали, что этот жанр "выстрелит". Однако мы не хотели отвлекать кучу разработчиков Лиги от их проектов и отправлять на создание того, в чем мы не были уверены на 100%. Поэтому команда была маленькой. Всего 12 человек.

Поскольку мы не хотели отстать от конкурентов, времени было выделено... крайне мало. Восемнадцать недель. Восемь на то, чтобы понять, сможем ли мы сделать что-то классное, и десять – на саму разработку. У нас оставалось два вопроса. Как это вообще успеть? И где найти безумцев, которые за это возьмутся?

Ниже вы найдете комментарии следующих разработчиков (это лишь небольшая часть первоначальной команды TFT):

18 недель до запуска: обратный отсчет запущен

“После множества обсуждений у нас начали вырисовываться общие очертания автобатлера по Лиге”, – рассказывает Meddler.

Мы поставили перед собой три цели: улучшить дизайн (удобное управление и интерфейс, быстрые раунды и т. д.), применить наши 200 лет совместного опыта (то есть все сбалансировать и добавить дополнительные возможности) и – пожалуй, самое главное, – сделать игру достаточно увлекательной, чтобы в нее хотели играть даже б у м е р ы, которым неинтересны автошахматы.

“Костяк команды собрался, и у нас было восемь недель, чтобы понять, сможем ли мы вообще осилить нечто подобное, – вспоминает Riot Wrekz. – А если да, будет ли результат стоящим? Мы хотели, чтобы наша игра была уникальной и классной, а также обладала той изюминкой, которая привлекла нас в жанре”.

01_Doomsday_Clock.jpg

“В первый же день я повесил на стену огромные часы судного дня с красными цифрами, – смеется Riot Wittrock. – Они нас слегка пугали, но мы решили их оставить как постоянное напоминание о том, что отвлекаться нельзя”.

17 недель до запуска: лига прототипов

17_Weeks_PDF.png

“В первые пару недель мы потратили кучу времени на то, чтобы понять, как сделать работающий прототип”, – рассказывает Riot Wittrock.

Сначала команда использовала материалы и инструменты из Лиги –и рабочий процесс был далек от идеала.

03_Darius_AFK.png

Движок Лиги создан только для одного: League of Legends. И хотя некоторые элементы меняются (например, карта, чемпионы, драконы), количество игроков обычно остается неизменным.

“Лига максимально оптимизирована для 10 игроков, но наша версия TFT загружала гораздо больше материалов, и в результате новый режим требовал больше серверной мощности, несмотря на то, что в матче участвовало только 8 игроков, – объясняет Riot Nullarbor. – При этом много ресурсов требовалось и клиенту игры”.

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

В результате каждая игра в ранней версии TFT заканчивалась из-за лагов. Никакого финала. Никаких побед. Сплошные лаги.

04_Rakan_Bug_TFT.gif

Лаги были не единственной проблемой, с которой сталкивалась команда даже в более поздних версиях прототипа. Как справиться со всеми этими Рэйканами?

“Девять бойцов сражались с девятью другими – плюс еще до 10 чемпионов ждали своей очереди на скамейках каждого игрока, – рассказывает Riot Nullarbor. – Одновременно в матче могло находиться более 100 чемпионов, а кругом постоянно бушевали безумные сражения. Нам пришлось отказаться от многих ненужных вещей, а затем оптимизировать код. Карта в Лиге гораздо больше, чем нам было нужно, поэтому мы отсекли кучу элементов, чтобы все работало как надо”.

15-12 недель до запуска: игровой процесс

15_Weeks_PDF.png

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

“Восемь недель мы создавали прототипы в изоляции от всех остальных. Мы даже забились в угол и отгородились стенами от внешнего мира, чтобы никто не мог подойти и заговорить с нами”, – рассказывает Riot Nullarbor.

“Ага, Андрей отправил кучу писем с просьбами тем, кому интересен наш проект, не пытаться подходить и делиться идеями, – продолжает Riot Wrekz. – В Riot так не принято, и мы как будто отдалились от других, но это было необходимо для поддержания эффективности”.

“А еще нам нужно было свести к минимуму внешнее влияние, – говорит Kilmourz. Начальство хотело, чтобы мы все исследовали сами, а не вдохновлялись другими представителями жанра”.

Поэтому команда собралась в уголке и стала решать, как же, черт возьми, сделать эту TFT.

Неделя 14: поезда, города и интерфейс

14_Weeks_PDF.png

“Как игроки будут покупать бойцов? Магазин станет частью интерфейса, или в нем будут отображаться полноценные модели чемпионов? По карте будет перемещаться аватар или все будет осуществляться с помощью щелчков и перетаскивания? – перечисляет вопросы Riot Wrekz. – С целым рядом базовых схем управления нужно было определиться сразу”.

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

“На ранних этапах мы пытались управлять игрой с помощью отладочных сообщений, которые выводились в чат”, – рассказывает Riot Nullarbor.

“Если мы не планировали использовать что-то в финальной версии TFT, то попросту это выбрасывали, – поясняет Riot Wrekz. Так что когда дело дошло до интерфейса... В общем, мы не меняли его во время разработки прототипа. Мы просто начисто снесли интерфейс Лиги и построили новый на его дымящихся руинах”.

Старший эксперт отдела контроля качества Алекс Riot Ranger XIV Шеррелл демонстрирует новый замечательный интерфейс TFT.


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

“В какой-то момент мы хотели отправлять чемпионов к игрокам на поездах, – вспоминает Riot Nullarbor. – Представьте себе небольшой вокзал, на который прибывает поезд с чемпионами, доступными для покупки”.

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

“Еще мы думали разместить вокруг поля город, который рос бы по ходу матча, – рассказывает Riot Wittrock. – Чемпионы бы сидели на левой стороне поля в магазинчике, а для покупки нужно было бы перетащить их к себе”.

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

“Из-за особенностей движка после загрузки в игру вы должны управлять хоть чем-то, – рассказывает Riot Wittrock. – В начале разработки мы использовали краба, потому что он уже был в Лиге”.

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

10_Baron_for_Scale_Shareable.png

Однажды возникла ошибка, из-за которой краб постоянно увеличивался и в конце концов перерос даже Барона.

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

Неделя 13: чемпионы

13_Weeks_PDF.png

“Мы рассматривали чемпионов в TFT как небольшие любовные послания их двойникам из Лиги, – рассказывает Riot Wrekz. – Мы хотели отразить суть каждого героя, несмотря на то что не могли использовать все их умения”.

12_TFT_Combat.gif

“Мы не хотели брать только абсолютные умения, – продолжает Kilmourz. – Вот, к примеру, Браум. Казалось бы, можно использовать его [R], но ведь главный атрибут Браума – это щит”.

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

“Мы долгие годы работали над тем, чтобы каждый чемпион был по-настоящему уникальным, – объясняет Riot Wittrock. – И для League of Legends это только плюс! Но при попытке сгруппировать их в TFT возникли проблемы”.

Территории и фракции были самыми очевидными категориями.

“Начав распределять чемпионов по территориям, мы наткнулись на множество подводных камней, – признается Riot Wrekz. – Все знают, что Гарен из Демасии, а Дариус из Ноксуса. Но возьмем, к примеру, Жанну... совсем не очевидно, что она из Зауна. Пограничных случаев было так много, что идея перестала казаться хорошей”.

“Однажды нас озарило, что можно использовать альтернативные вселенные Лиги! – рассказывает Riot Wittrock. – В итоге мы выбрали довольно сдержанный подход, но исследование вселенных помогло нам разделить чемпионов на более логичные категории, которые соответствовали тематике”.

Неделя 12: В БОЙ!

12_Weeks_PDF.png

“Нам очень нравились фазы покупок и планирования в автобатлерах, – рассказывает Riot Wittrock, – но сражения выглядели довольно сумбурно – камера расположена далеко, и на экране какая-то мешанина из спецэффектов. Уследить за всем этим было непросто, и мы хотели это исправить”.

План был такой: сделать бои как можно более увлекательными, но не в ущерб ясности.

“Мы хотели, чтобы это напоминало командные бои в Бронзе, – вспоминает Riot Wittrock. Сражается куча народу, и каждый вроде бы правильно применяет умения, но до игроков из Алмаза этим ребятам далеко. В общем, похоже на командный бой из Лиги, но... что-то тут не так”.

“Мы старались избежать фейерверков из визуальных эффектов и частиц, которые были в других играх жанра, – рассказывает Riot MapleNectar. – Поначалу было сложно разобраться, что происходит, когда сразу 18 чемпионов применяют умения, поэтому нам нужно было все почистить”.

Кроме урезания визуальных эффектов команда придумала другие уникальные способы повысить ясность.

19_Initial_Speeds_TFT.gif

Поначалу анимация была слишком быстрой.

20_Proposed_Speeds_TFT.gif

Замедленная анимация.

“Во многих случаях анимация в Лиге очень быстрая, – поясняет Kilmourz, – ведь умения должны быть отзывчивыми и классными. Но из-за этого в бою 9 на 9 ничего нельзя разобрать, поэтому нам пришлось все замедлить”.

11 недель до запуска: зеленый свет

11_Weeks_PDF.png

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

“В самом начале пути мы всем обещали, что прототип будет хорошим, – вспоминает Riot Wrekz. – И когда люди наконец поиграли, они подтвердили, что это так”.

А это значит, что первая стадия – сделать что-то классное – подошла к концу. Что дальше? Выбросить прототип и создать настоящую игру за 10 недель.

Примечание редактора: чтобы прочитать вторую часть истории, возвращайтесь завтра, 3 апреля, в 20:00 по московскому времени.



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

Похожие статьи
Похожие статьи