Всем привет, я CCP Quant.
В июне 2012 года я решил отдохнуть от экономики (количественных исследований) и присоединился к команде Dr. Eyjó, занимающейся исследованием и статистикой, в качестве аналитика данных. В основном я занимаюсь предиктивным моделированием, изучением статистики и общим анализом данных.
В прошедшие выходные в мире EVE Online произошли два больших события: The Battle of Asakai (битва в Asakai) и Red vs. Blue’s: Poinen Must Burn – Mass FFA #3 (Red vs. Blue: Poinen должен сгореть!). Масштаб этих мероприятий привлек внимание огромного количества людей, как игроков, так и обычных пользователей интернета. Один из этих ивентов разрабатывался неделями, второй случился спонтанно, но несмотря на то что они были совершенно разные, оба привели к куче взрывов и морю фана, что мы называем «Я там был».
Подробности о содержании и сути этих событий вы можете узнать из опубликованного сегодня девблога “A Weekend of Epic Destruction in EVE Online” от CCP Manifest.
Хотя это и не является частью моей работы, я не мог не отреагировать на шквал вопросов, обрушившийся на нас утром этого понедельника, о статистике касательно этих ивентов,. В конце концов, кто из фанов EVE Online не любит цифры и цветные графики?
Немного предыстории, прежде чем я углублюсь в описание вкусных подробностей. Мы здесь, в CCP, собираем данные, огромное количество данных в виде логов. Каждый день создается порядка 100Гб логов. До недавнего времени эти данные в основном использовались разработчиками, гейм-дизайнерами и гейм-мастерами.
- Гейм-мастерам нужно сопоставлять события для работы с петициями и расследования эксплойтов (хочу извиниться, что логгируются, к сожалению, не все данные)
- Гейм-дизайнеры должны решать вопросы балансировки игры, основываясь на реальных цифрах и неопровержимых фактах.
- Программистам необходимо точно определять, что именно вызывает баги, проблемы и непредвиденные ошибки игровой механики.
- Продюсеры для принятия взвешенных решений о последующих расширениях используют как данные статистики, так и отзывы комьюнити.
Обработка гигантского объема логов требовала серьезных вычислительных мощностей. Но все изменилось, когда мы решили перейти на Apache™ Hadoop®, позволившую перенести вычисления на масштабируемый кластер используя технологию map/reduce. В результате мы организовали не только Hadoop® кластер, обрабатывающий наши логи, но и высокоуровневую оболочку для работы с ним, за что отдельное спасибо нашим специалистам.
Некоторые из вас играли в другие ММОРПГ и любили изучать страницы с подробной и интересной статистикой персонажей. Технология Hadoop® делает возможным создание подобных фич для EVE Online. Я не могу обещать реализацию этого в ближайшее время или назвать какие-либо сроки, но на фанфесте мы обязательно представим несколько интересных таблиц интервальной статистики о Новом Эдеме. Мы уже использовали Hadoop® для подготовки данных и визуализации их для проекта Музея Современного Искусства (MoMA). Мы собрали серверную информацию о происходившем в EVE в один из дней, а так же просили игроков прислать нам скриншоты, видео или рассказы о том, как прошел этот день. Соединив всё это воедино мы сделали выставочный стенд для музея. Подробнее об этом можно почитать в посвящнном этому событию девблоге.
Теперь доступны любые данные, и все что требуется — это немножко их обработать, почистить лишнее и придать форму приятных глазу диаграмм и графиков. Давайте же приступим к делу и начнем с боя в Asakai.
Битва в Asakai
Мы не будем говорить об альянсах, корпорациях и персонажах. Эта информация уже есть в интернете, так что сосредоточим свое внимания на кораблях, модулях и уничтожении. Суммарно 717,033,768,274 ISK стоили взорванные в этот день корабли:
А сколько кораблей каждого класса было уничтожено?
Так как в этом конфликте было потеряно 845 суб-капиталов, интересно взглянуть, каких именно кораблей было больше:
Из этих графиков мы видим, что было уничтожено 3 титана, 7 супер-карриеров, 36 карриеров и 53 дредноута. Забавно, что во время боя было убито огромное количество нубшипов. В системе есть станция, и создается впечатление что игроки после потери своего корабля докались на станцию, брали нубшип и возвращались обратно, чтобы заработать как можно больше килл-мыл. Наверное, кто-то хотел досмотреть бой до конца из первых рядов.
Впрочем, эта информация доступна на килл-бордах, и в нарисованных комьюнити графиках, например, на Reddit. Давайте посмотрим на стоимость уничтоженных кораблей каждого класса по времени:
Эти графики отображают больше информации: здесь видно, когда были убиты супер-капиталы, когда начался сам бой и когда он закончился. Но что за колдовство учинило все это истребление? Давайте посмотрим, какой урон был нанесен каждым типом оружия в промежутке с 02:00 (2AM) до 07:00(7AM) по времени eve:
Такое положение дел может удивить обычного игрока. Второй класс оружия в списке топ дамагеров - смартбомбы. В больших боях смартбомбы обычно используются в качестве антидронов или фаервола (фаервол - тактика, при которой корабль со смартами помещается между дружественными кораблями и противником, использующим ракеты, чтобы уничтожить ракеты до того, как они нанесут повреждения) и их урон не сопоставим с мощью фокусного огня основных пушек кораблей. Но не стоит забывать, что смартбомбы наносят AOE (area of effect) урон — они бьют по любому кораблю, попавшему в радиус действия, будь то враг или союзник. Учитывая это уже можно представить, как именно смартбомбы нанесли столько урона. Теперь давайте посмотрим на динамику нанесенного дамага в период с 2.00 до 8.00:
Здесь мы видим как именно накапливался урон в течении всего боя. Файтер-бомберы великолепно выполнили роль убийц капиталов, нанеся примерно половину всего эффективного урона. Урон от смартбомб равномерно накапливался в течении всего боя. На третьем месте идет энергетическое оружие, за ним гибридное и так далее. На поле боя было множество дредноутов — в основном Revelation'ов и Moros'ов, чуть меньше было Phoenix'ов и Naglfar'ов.
Poinen должен сгореть - Mass FFA #3
Перейдем ко второму событию: Poinen должен сгореть - Mass FFA #3, Red vs Blue. Целью этого грандиозного, запланированного ивента было уничтожение 28.000 фрегатов в системе Poinen. Каждый должен был приварпать на ПОС в Poinen'е, сесть на фрегат и лететь к ближайшему гейту или объекту с пушками наперевес убивать своих сокорпов. Несмотря на то, что Красные и Синие были двумя корпорациями в состоянии войны, фактически это одна корпорация, разделившаяся на две команды. Силу командного духа можно оценить по следующему графику — учтите, что фиолетовым обозначены киллы, сделанные Красными на Красных и Синими на Синих.
Если бы пилоты предпочитали убивать членов противоположной команды, фиолетовые цифры были бы куда ниже.
Более 350 пилотов с каждой стороны слили в среднем по 40,19 фрегата, каждый стоил в среднем 1.107.140M ISK. Суммарно было уничтожено 28,487 фрегатов, общей стоимостью 31.500.364.752M ISK! ! Давайте посмотрим, какие именно фрегаты нанесли наибольший урон, имели больше всего эффективных хит-поинтов и больше всего стоили:
Incursus выигрывает по сравнению с другими фрегатами по соотношению DPS'a, EHP и стоимости. Недавно добавленный в линейку фрегатов Venture оказался не самым лучшим кораблем по соотношению цены и качества. Хочу напомнить, что эти данные основаны исключительно на киллах, сделанных в системе Poinen Красной Федерацией и Синей Республикой в заданные временные рамки. Последний график продемонстрирует, сколько фрегатов каждого типа было уничтожено:
Лаги в Asakai
А теперь касательно лагов в Asakai - у CCP Masterplan есть немного информации для вас.
По сравнению с боями в нулях, как мы все знаем, что работа системы Crimewatch (слежение за нарушениями) создает существенную дополнительную нагрузку на сервер. Мы должны проверять легитимность любого атакующего действия (с учетом всех факторов оффваров, преступников, стендингов и персональных флагов), проверять remote-rep цепочки для наказания за поддержку, и при необходимости применять соответствующие секьюрити-статусу санкции. Ничего из вышеперечисленного не нужно в нулях. В обновлении Retribution мы выпустили Crimewatch 2.0. Одной из основных задач этой фичи было улучшение производительности во время больших боев в имперском пространстве. Прошедшие выходные наконец-то позволили нам оценить, насколько хорошо будет работать новая система.
Для сравнения, последний раз когда в лоу-секе произошел бой, хоть как-то сопоставимый по масштабу с Asakai, был в системе Uemon в феврале 2011 года. Во время того боя мы поддерживали максимум 1250 игроков в локале в течение нескольких часов. Битва была проведена на отдельной усиленной серверной ноде и потребовала всех доступных ресурсов. Тот факт, что Time Dilation был введен позже ничего не значит. Несмотря на то, что той ночью в Uemon'e было убито огромное количество кораблей, основной темой всех батл-репортов были лаги и черные экраны, перевесившие в глазах игроков фан от пострелушек. Поступали сообщения о кораблях-призраках, убитых и вернувшихся после даунтайма, о персонажах, которые не могут войти в игру и неотвечающих модулях.
Мы не можем сказать, что Asakai был идеален. Но несмотря на это мы получили намного больше положительных отзывов от тех, кто там был. В пике в локале было 2754 пилота — в два с лишним раза больше чем в Uemon'e. Вдобавок, так как бой произошел спонтанно и не мог быть предугадан, он прошел на обычной, не усиленной ноде. И хотя Time Dilation был установлен на предельное значение в 10%, ухудшение качества более элегантно, нежели непредсказуемые проблемы боев прошлого. Мы уверены, что без принятых в последнее время мер на программном и аппаратном уровнях, битва подобного масштаба просто не была бы возможной.
Это всё на сегодня. Надеюсь, что прежде чем вы, наши чудесные, креативные игроки организуете новые ивенты подобного масштаба, мы успеем сделать несколько инструментов для создания автоматических отчетов о боях. Скоро™.
Перевод © Tharipso