Pad, разработчик W3Arena и W3Champions: "У меня всегда было желание работать с Blizzard. Мы не конкуренты друг другу"

Об этом герое сообщества Warcraft мы не раз писали, но с особенным эхом ник "Pad" зазвучал, когда с выходом Reforged, его ладдер W3Champions стал пристанищем для многих варкрафтеров. Несмотря на обновление сайта и работу над первым сезоном W3C, Патрик любезно согласился ответить на наши вопросы. Из нашего эксклюзивного интервью вы узнаете: чем отличаются W3Arena и W3Champions, может ли Pad подправить статистику любимому игроку, о поддержке комьюнити и мотивации, о функции наблюдателя в WC3 (типа WaaaaghTV) и переподключения к матчу, о системе Эло, а также о том, прав ли был DeMusliM, когда рассказал, что Pad подал заявку на работу в Blizzard, но получил отказ.

news_5ebc4273216aa.png


Привет! Рады видеть тебя на GoodGame.Ru и спасибо, что смог уделить нам время.

Всем привет! Спасибо, что пригласили меня и что проявили интерес к тому, что мы делаем.

Предлагаю начать интервью, представив, будто ты новый про-игрок в WC3. Итак, прежде всего представься и расскажи немного о себе (слышали, что ты профессиональный инженер-программист BMW).

Конечно! Я Патрик "Pad" Шефер, мне 31 год, и я живу недалеко от Мюнхена, Германия. Как вы уже упомянули, в моей повседневной работе я профессиональный инженер-программист.

В свободное время я являюсь разработчиком программного обеспечения и работаю фрилансером или в проектах на общественных началах.

Как давно твоим хобби стал WC3 и с чего оно началось?

Я начал играть в Warcraft III: Reign of Chaos в 2002 году. И я продолжал играть в ROC еще 6 лет, долгое время не переходя на TFT. Я был тогда прям зависимым от Варкрафта и играл, по моим меркам, очень много – около 2–6 часов в день. Также на тот момент я уже разрабатывал множество вещей во вселенной WC3, но ни одна из них не стала популярной.

Примерно в 2008 году девушки стали слишком интересны для меня, чтобы продолжать их игнорировать. (смеется) Так что я вылечился от своей зависимости и на некоторое время покинул сцену. Позже я вернулся и иногда играл то в ROC, то в TFT, но больше никогда серьезно не тренировался или не играл подолгу, как это делал раньше.

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

Самый очевидный вопрос: как получилось, что ты решил сделать W3Arena?

Прежде всего, W3Arena была вначале названа MyROC. В 2012 году я все еще наслаждался ROC больше, чем TFT. Тогда мы играли во множество пользовательских карт, и мне действительно это все очень нравилось.

Я очень чувствителен к изменению условий и не смог комфортно играть на стандартном ладдере из-за огромной разницы в задержке между Hostbot Custom Games и обычным ладдером с задержкой по умолчанию 250 мс.

Вот почему я решил создать свой собственный ладдер, чтобы играть в ROC-ладдер с низкой задержкой. Это была плохая идея, потому что день, когда я начал разрабатывать W3Arena/MyROC стал днем, когда мне пришлось перестать играть в WC3 в принципе.

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

Постепенно перейдем к твоему новому творению – ладдеру для Warcraft III: Reforged. Каковы кардинальные различия между W3Arena и W3Champions?

С технической точки зрения у них мало общего. W3Arena имеет свой собственный сервер, который эмулировал все функции Battle.net: от создания пользователей до профилей, пользовательских игр и ладдера. Он был полностью отделен от Battle.net, и пользователям нужно было отключиться от W3Arena, чтобы присоединиться к Battle.net.

W3Champions интегрирован в новый Battle.net. Вы можете использовать W3Champions и обычные функции Battle.net одновременно.

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

В W3Champions мы просто подбираем игроков и подключаем их вместе в обычную игру, которая запускается на серверах Blizzard. Мы не можем определять, какой сервер занят и как близко он находится к местоположению игрока. Это одна из слабостей W3Champions прямо сейчас. "The Technology Just Isn't There Yet".

news_5ebc4493524cd.jpg

Здесь делали неофициальные лестницы.

Имея большой опыт с W3Arena, наверняка ты изначально делал что-то по-другому в W3Champions?

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

Тогда мы были на 100% уверены, что Blizzard больше не будет менять свой код, и мы на 100% приняли это утверждение, когда разрабатывали нашу модификацию для WC3. Поэтому, когда Blizzard вернулись к игре и выпустили свой первый патч, W3Arena не смогла адаптироваться к этому патчу. В ее коде не было прописано ничего, чтобы учесть такой ход событий, и нам пришлось переделывать большую часть нашего кода.

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

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

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

После того, как я оставил W3Arena другим главным администраторам, он стал сервером с так называемым "белым списком" – вы больше не могли присоединиться к нему, не попав в этот список. Тогда стало понятно, что они довели это все до абсурда.

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

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

news_5ebc438145d18.jpg

У тебя есть возможность подкрутить статистику для какого-нибудь игрока? Кстати, кто твой любимый игрок?

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

Мой любимый игрок – это определенно Grubby. Я был его фанатом более десяти лет из-за его безумной игры и исполнения. Затем я стал фанатом его крайне интересных стримов по Варкрафту, да и как личность он мне понравился.

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

news_5ebc43f111634.jpg

За все время существования твоих проектов с тобой связывались из Blizzard? Может быть, хотели познакомиться, дать совет или же, наоборот, спросить совет у тебя?

Я общался с несколькими разработчиками Blizzard по различным темам. Некоторые обсуждения касались в том числе моего другого проекта – W3Booster. Другие обсуждения, касающиеся W3Champions, были нацелены на лучшую подготовку W3C к предстоящим исправлениям и предотвращению сбоев.

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

Ты позиционируешь W3Champions как "комьюнити проект", но было ли у тебя желание работать вместе с Blizzard?

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

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

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

Я все еще хочу работать с ними как можно теснее, пока это не станет слишком связывать мне руки (что пока не так). Главная цель всегда состоит в том, чтобы служить обществу как можно лучше. И это Blizzard решает, насколько близко будет наше сотрудничество, а не я.

news_5ebc447ef25ee.jpg

Как ты думаешь, почему у Blizzard такие трудности с ладдером в Reforged? Что мешает им сделать все необходимое, ведь с момента релиза прошло уже достаточно много времени?

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

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

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

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

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

Ребята в основном самоорганизованны, и сейчас это разделение труда работает намного лучше, чем я ожидал.

Недавнее обновление сайта.

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

В основном такие ошибки связаны с нестабильностью серверов Reforged и ошибками Reforged (например, тот самый joinbug). С такими труднее всего бороться, потому что они не в моей власти.

news_5ebc45ac1737f.png

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

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

Для W3Champions я сначала внедрил ту же систему. После некоторых обсуждений с сообществом, я внедрил систему Glicko2. Вы найдете больше информации об этом здесь.

Я был очень доволен результатами Glicko и с тех пор продолжил использовать эту систему. Самым сложным было не вычисление MMR, а сам подбор матчей, так как это не часть Glicko, а отдельная реализация.

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

Хорошая система не сопоставляет оппонентов с сильной разницей в рейтинге, но также сохраняет приемлемое время поиска.

Как ты относишься смурф-аккаунтам на ладдере и сложно ли их идентифицировать?

Это было большой проблемой еще во времена W3Arena. Но сейчас смурфы перестали быть проблемой благодаря алгоритмам поиска матчей в W3Champions. Мне даже не нужно их идентифицировать. Количество учетных записей смурфов настолько мало, что теперь их можно просто игнорировать.

Можешь вспомнить какие-нибудь особенно странные или смешные баги в своих проектах?

Извините, я не очень хорош в создании забавных багов. Баги – это рутинное дело. Я их создаю, замечаю, исправляю и забываю о них.

news_5ebc45dd0d7fa.png

Мне понравился материал "W3Arena Matchmaking: Deep Dive With Pad". После его публикации, у кого-нибудь возникло желание сделать свою версию ладдера для Reforged?
Что отпугивает потенциального "нового Pad'а"?

Я получил много отзывов об этом материале. Несколько человек, которые планировали создать свои собственные серверы, написали мне. Я дал им несколько советов, как начать, как я сделал бы это тогда. Затем обычно происходит одна из двух вещей:

  • 1. Они начинают очень подробно спрашивать вас, как вы решали определенные проблемы. Я перестаю отвечать в какой-то момент, потому что такой подход означает, что они не смогут решить эти проблемы сами.
  • 2. Я больше ничего не слышу от них. Предполагаю, что они просто сдались в какой-то момент.

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

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

Расскажи, какие у тебя планы по развитию W3Champions? Тем более мы уже слышали, что скоро будет выпущено обновление клиента, где появятся некоторые интересные нововведения.

Следующими вещами в моем списке являются другие недостающие игровые режимы, такие как 2 на 2 RT, 4 на 4 AT? / RT, FFA, а также некоторые функции, вроде MMR для каждой отдельной расы, чтобы сделать игру между разными расами более справедливой. Более инновационные вещи, такие как автоматическая загрузка реплея, также есть в планах.

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

Часто можно услышать запросы о добавлении каких-то сложных функций в W3Champions. Что бы ты сам хотел добавить, но у тебя нет возможности для этого?

Есть 3 функции, которые я бы хотел реализовать:

  • 1 Хост Боты,
  • 2 присоединиться к играм друзей в качестве наблюдателя (например, как WaaaaghTV в старые времена),
  • 3 функция переподключения.

Я не могу сделать 2 и 3 пункты без 1, но 1 – это сам по себе весьма объемный проект из-за его сложности. И это дилемма.

news_5ebc418dc54b0.jpg
Нынешнее рабочее место Pad'a.

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

Я также более чем благодарен за это удивительное сообщество. Я благодарю всех, кто поддерживает меня и мои проекты, будь то пожертвования, распространение информации о нем или удовольствие от того, что мы создали. Спасибо!

Мне также крайне необходимо сказать несколько слов нашей сайт-команде, а именно Modmoto, который делает фантастическую работу в качестве нашего ведущего веб-разработчика, и abeninski. Эти ребята делают потрясающую работу и в последнее время принесли огромную ценность нашему сайту. Проверьте сами на w3champions.com! Если вы считаете, что мы заслуживаем вашей поддержки, мы благодарим вас за возможную поддержку нас на Patreon или через Paypal (ссылки ниже).

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

Спасибо, что пригласили меня.


news_5ebc456246041.jpg

Ссылки для связи и поддержки проекта W3Champions: