Lies, Damned Lies, and Statistics

[Offline] в блоге [Offline]'s notes

Опубликовано: 31 августа 2015 в 21:16



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

Собственно, этим и займёмся. И поскольку на дворе вроде бы 2015 год, смотреть статистику будем не на скриншотах из MS Paint, а с помощью удобных интерактивных графиков.


I can't carry any more

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

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



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


A cake is (not) a lie

Говорят, что 83% всей статистики берётся с потолка. А ещё, люди почему-то больше верят точным числам, чем приблизительным оценкам. Так вот, прежде чем делать для себя выводы из каких-либо графиков и диаграмм, надо понимать одну важную вещь - доверяй, но проверяй.
 
Мне не известно, как именно ребята с mmo-champion вытаскивали и обрабатывали исходную инфу - каким запросом, с какими фильтрами, как суммировали, как округляли и т.д. Но зная объём данных, почти неизбежно, что в полученной статистике есть погрешности. Остаётся только надеяться, что они не слишком большие.

Тем не менее, это вовсе не означает, что вся статистика кривая и неправильная. Просто к ней надо относиться не как к идеально точным значениям, а как к приблизительному соотношению того, что в ней показано. Например, если написано, что за людей играет 19.37%, а за дренеев - 7.07%, то воспринимать это надо примерно так: "за людей гамают около 1/5 всех игроков, это почти в 3 раза больше, чем за дренеев".

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


Races & Genders

Для начала, посмотрим на процент персонажей каждой расы и пола. Вот так это выглядит в виде одной компактной таблицы:

Race Female Male Total
Blood Elf 8.11% 5.95% 14.06%
Draenei 4.63% 2.44% 7.07%
Dwarf 0.62% 3.73% 4.35%
Gnome 1.56% 1.99% 3.55%
Goblin 0.94% 1.62% 2.56%
Human 8.51% 10.86% 19.37%
Night Elf 6.55% 4.94% 11.49%
Orc 1.58% 6.87% 8.45%
Pandaren (A) 1.29% 1.36% 2.65%
Pandaren (H) 1.23% 1.23% 2.46%
Tauren 0.96% 5.73% 6.69%
Troll 1.95% 4.01% 5.96%
Undead 1.54% 5.03% 6.57%
Worgen 1.33% 3.46% 4.79%


Но нагляднее и приятнее всё же в виде графиков. Распределение по расам:



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

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

Теперь посмотрим на соотношение персонажей мужского и женского пола по каждой расе:



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

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


Gender Percentage
Female 40.78%
Male 59.22%






Classes & Genders

Посмотрев распределение персонажей разного пола по расам, сделаем то же самое по классам.

Class Female Male Total
 Death Knight 2.91% 6.34% 9.25%
 Druid 4.53% 6.27% 10.80%
 Hunter 5.55% 8.03% 13.58%
 Mage 4.04% 4.33% 8.37%
 Monk 2.58% 3.17% 5.75%
 Paladin 4.18% 6.80% 10.98%
 Priest 4.88% 3.26% 8.14%
 Rogue 3.02% 4.11% 7.13%
 Shaman 3.26% 4.56% 7.82%
 Warlock 3.34% 4.57% 7.91%
 Warrior 2.51% 7.78% 10.29%


Популярность классов на 100-м уровне:



Ищете рейд, а там уже два таких же ханта? Не удивительно. Паладины и друиды на 2-м и 3-м местах, но у этих ребят есть хотя бы по 3 принципиально разных спека. Монахи в конце списка - либо они всем уже надоели, либо наоборот не все ещё их успели попробовать.

Идём дальше. Пол персонажей по классам:



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


Races & Classes

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

Race  Death Knight Druid  Hunter  Mage  Monk  Paladin  Priest  Rogue Shaman  Warlock  Warrior
Blood Elf 1.61%  -   1.83% 1.50% 0.64% 3.87% 1.68% 1.03%  -   1.20% 0.70%
Draenei 0.78%  -   0.70% 0.57% 0.19% 1.30% 0.62%  -   2.53%  -   0.38%
Dwarf 0.24%  -   1.06% 0.09% 0.13% 0.77% 0.31% 0.15% 0.90% 0.16% 0.54%
Gnome 0.30%  -    -   0.96% 0.22%  -   0.33% 0.45%  -   0.93% 0.36%
Goblin 0.23%  -   0.38% 0.33%  -    -   0.30% 0.33% 0.51% 0.32% 0.16%
Human 2.02%  -   1.76% 2.16% 0.82% 4.04% 1.90% 1.74%  -   2.33% 2.60%
Night Elf 0.83% 4.77% 2.60% 0.36% 0.32%  -   0.83% 1.00%  -    -   0.78%
Orc 1.31%  -   1.82% 0.19% 0.28%  -    -   0.36% 1.54% 0.76% 2.19%
Pandaren (A)  -    -   0.31% 0.14% 1.34%  -   0.14% 0.10% 0.46%  -   0.16%
Pandaren (H)  -    -   0.26% 0.13% 1.28%  -   0.16% 0.11% 0.36%  -   0.16%
Tauren 0.60% 2.72% 0.40%  -   0.14% 1.00% 0.11%  -   0.67%  -   1.05%
Troll 0.16% 1.95% 1.22% 0.56% 0.12%  -   0.38% 0.27% 0.85% 0.28% 0.17%
Undead 0.54%  -   0.36% 1.12% 0.27%  -   1.16% 1.20%  -   1.41% 0.51%
Worgen 0.63% 1.36% 0.88% 0.26%  -    -   0.22% 0.39%  -   0.52% 0.53%


Диаграммы:


 

 

 

 

 

 

 

 

 

 

 

 

 




Rarest Matches (sorted: most common --> most rare)

И под конец, заберёмся ещё глубже и посмотрим, насколько редкими или наоборот попсовыми окажутся конкретные сочетания расы, класса и пола. Для тех, кому хочется скопировать или поискать себя через Ctrl-F под спойлером могучий исходник:

Spoiler: Большая таблица
Race Class Gender Percentage
Night Elf  Druid Female 2.84%
Human  Paladin Male 2.64%
Tauren  Druid Male 2.20%
Blood Elf  Paladin Male 2.03%
Night Elf  Druid Male 1.93%
Orc  Warrior Male 1.91%
Human  Warrior Male 1.90%
Blood Elf  Paladin Female 1.84%
Draenei  Shaman Female 1.67%
Orc  Hunter Male 1.45%
Human  Death Knight Male 1.42%
Human  Paladin Female 1.40%
Night Elf  Hunter Female 1.39%
Human  Warlock Female 1.25%
Blood Elf  Priest Female 1.24%
Orc  Shaman Male 1.22%
Human  Priest Female 1.21%
Night Elf  Hunter Male 1.21%
Troll  Druid Male 1.19%
Blood Elf  Hunter Female 1.17%
Human  Mage Female 1.16%
Orc  Death Knight Male 1.11%
Human  Warlock Male 1.08%
Undead  Warlock Male 1.08%
Human  Mage Male 1.00%
Undead  Rogue Male 1.00%
Tauren  Warrior Male 0.99%
Troll  Hunter Male 0.96%
Human  Rogue Female 0.95%
Worgen  Druid Male 0.95%
Dwarf  Hunter Male 0.93%
Blood Elf  Mage Female 0.92%
Human  Hunter Male 0.91%
Tauren  Paladin Male 0.89%
Undead  Mage Male 0.86%
Draenei  Shaman Male 0.86%
Human  Hunter Female 0.85%
Blood Elf  Death Knight Male 0.84%
Human  Rogue Male 0.79%
Pandaren (A)  Monk Male 0.78%
Blood Elf  Death Knight Female 0.77%
Undead  Priest Male 0.76%
Troll  Druid Female 0.76%
Pandaren (H)  Monk Male 0.76%
Blood Elf  Warlock Female 0.75%
Dwarf  Shaman Male 0.74%
Draenei  Paladin Female 0.74%
Human  Warrior Female 0.70%
Human  Priest Male 0.69%
Dwarf  Paladin Male 0.68%
Blood Elf  Hunter Male 0.66%
Blood Elf  Rogue Female 0.64%
Worgen  Hunter Male 0.64%
Night Elf  Priest Female 0.62%
Human  Death Knight Female 0.60%
Orc  Warlock Male 0.60%
Blood Elf  Mage Male 0.58%
Tauren  Shaman Male 0.57%
Gnome  Mage Male 0.57%
Draenei  Paladin Male 0.56%
Pandaren (A)  Monk Female 0.56%
Tauren  Death Knight Male 0.55%
Troll  Shaman Male 0.55%
Night Elf  Rogue Female 0.53%
Draenei  Hunter Female 0.53%
Tauren  Druid Female 0.52%
Gnome  Warlock Male 0.52%
Pandaren (H)  Monk Female 0.52%
Dwarf  Warrior Male 0.51%
Worgen  Death Knight Male 0.51%
Draenei  Priest Female 0.50%
Night Elf  Rogue Male 0.47%
Night Elf  Warrior Male 0.45%
Night Elf  Death Knight Male 0.45%
Blood Elf  Warlock Male 0.45%
Undead  Death Knight Male 0.44%
Blood Elf  Priest Male 0.44%
Worgen  Warrior Male 0.44%
Human  Monk Male 0.43%
Draenei  Death Knight Female 0.43%
Draenei  Mage Female 0.43%
Undead  Warrior Male 0.42%
Blood Elf  Monk Female 0.42%
Gnome  Warlock Female 0.41%
Worgen  Druid Female 0.41%
Undead  Priest Female 0.40%
Human  Monk Female 0.39%
Gnome  Mage Female 0.39%
Blood Elf  Rogue Male 0.39%
Night Elf  Death Knight Female 0.38%
Troll  Mage Male 0.38%
Orc  Hunter Female 0.37%
Blood Elf  Warrior Female 0.36%
Draenei  Death Knight Male 0.35%
Blood Elf  Warrior Male 0.34%
Worgen  Warlock Male 0.34%
Night Elf  Warrior Female 0.33%
Undead  Warlock Female 0.33%
Tauren  Hunter Male 0.33%
Orc  Shaman Female 0.32%
Troll  Shaman Female 0.30%
Goblin  Shaman Male 0.29%
Worgen  Rogue Male 0.29%
Orc  Warrior Female 0.28%
Undead  Hunter Male 0.27%
Gnome  Rogue Male 0.27%
Undead  Mage Female 0.26%
Troll  Hunter Female 0.26%
Pandaren (A)  Shaman Female 0.26%
Orc  Rogue Male 0.25%
Night Elf  Mage Female 0.25%
Goblin  Hunter Male 0.25%
Goblin  Rogue Male 0.24%
Worgen  Hunter Female 0.24%
Dwarf  Priest Male 0.23%
Pandaren (H)  Shaman Female 0.23%
Dwarf  Death Knight Male 0.22%
Goblin  Shaman Female 0.22%
Blood Elf  Monk Male 0.22%
Night Elf  Priest Male 0.21%
Night Elf  Monk Female 0.21%
Gnome  Warrior Male 0.21%
Troll  Rogue Male 0.21%
Troll  Priest Male 0.21%
Goblin  Mage Male 0.21%
Orc  Death Knight Female 0.20%
Orc  Monk Male 0.20%
Undead  Rogue Female 0.20%
Undead  Monk Male 0.20%
Goblin  Warlock Male 0.20%
Pandaren (A)  Shaman Male 0.20%
Gnome  Priest Female 0.19%
Draenei  Warrior Male 0.19%
Draenei  Warrior Female 0.19%
Gnome  Rogue Female 0.18%
Troll  Mage Female 0.18%
Troll  Warlock Male 0.18%
Worgen  Warlock Female 0.18%
Gnome  Death Knight Male 0.17%
Troll  Priest Female 0.17%
Draenei  Hunter Male 0.17%
Worgen  Mage Male 0.17%
Pandaren (A)  Hunter Female 0.17%
Orc  Warlock Female 0.16%
Dwarf  Shaman Female 0.16%
Goblin  Priest Male 0.16%
Goblin  Death Knight Male 0.16%
Gnome  Warrior Female 0.15%
Pandaren (H)  Hunter Female 0.15%
Gnome  Priest Male 0.14%
Goblin  Priest Female 0.14%
Draenei  Mage Male 0.14%
Draenei  Monk Female 0.14%
Pandaren (A)  Hunter Male 0.14%
Orc  Mage Male 0.13%
Dwarf  Hunter Female 0.13%
Gnome  Death Knight Female 0.13%
Troll  Warrior Male 0.13%
Goblin  Hunter Female 0.13%
Pandaren (H)  Shaman Male 0.13%
Dwarf  Rogue Male 0.12%
Dwarf  Warlock Male 0.12%
Tauren  Monk Male 0.12%
Troll  Death Knight Male 0.12%
Goblin  Mage Female 0.12%
Goblin  Warlock Female 0.12%
Draenei  Priest Male 0.12%
Worgen  Priest Male 0.12%
Worgen  Death Knight Female 0.12%
Orc  Rogue Female 0.11%
Dwarf  Monk Male 0.11%
Night Elf  Mage Male 0.11%
Night Elf  Monk Male 0.11%
Tauren  Paladin Female 0.11%
Gnome  Monk Male 0.11%
Gnome  Monk Female 0.11%
Goblin  Warrior Male 0.11%
Pandaren (H)  Hunter Male 0.11%
Pandaren (H)  Priest Female 0.11%
Undead  Death Knight Female 0.10%
Tauren  Shaman Female 0.10%
Troll  Warlock Female 0.10%
Worgen  Rogue Female 0.10%
Worgen  Priest Female 0.10%
Dwarf  Paladin Female 0.09%
Undead  Warrior Female 0.09%
Undead  Hunter Female 0.09%
Goblin  Rogue Female 0.09%
Worgen  Warrior Female 0.09%
Worgen  Mage Female 0.09%
Pandaren (A)  Warrior Male 0.09%
Pandaren (A)  Priest Female 0.09%
Pandaren (H)  Warrior Male 0.09%
Orc  Monk Female 0.08%
Dwarf  Priest Female 0.08%
Tauren  Priest Male 0.08%
Troll  Monk Male 0.08%
Pandaren (A)  Mage Female 0.08%
Pandaren (H)  Mage Female 0.08%
Dwarf  Mage Male 0.07%
Undead  Monk Female 0.07%
Tauren  Hunter Female 0.07%
Goblin  Death Knight Female 0.07%
Pandaren (A)  Warrior Female 0.07%
Pandaren (H)  Warrior Female 0.07%
Pandaren (H)  Rogue Female 0.07%
Orc  Mage Female 0.06%
Tauren  Warrior Female 0.06%
Troll  Rogue Female 0.06%
Pandaren (A)  Rogue Female 0.06%
Pandaren (A)  Mage Male 0.06%
Tauren  Death Knight Female 0.05%
Goblin  Warrior Female 0.05%
Draenei  Monk Male 0.05%
Pandaren (A)  Priest Male 0.05%
Pandaren (H)  Priest Male 0.05%
Pandaren (H)  Mage Male 0.05%
Dwarf  Warlock Female 0.04%
Troll  Warrior Female 0.04%
Troll  Death Knight Female 0.04%
Troll  Monk Female 0.04%
Pandaren (A)  Rogue Male 0.04%
Pandaren (H)  Rogue Male 0.04%
Dwarf  Warrior Female 0.03%
Dwarf  Rogue Female 0.03%
Tauren  Priest Female 0.03%
Dwarf  Death Knight Female 0.02%
Dwarf  Mage Female 0.02%
Dwarf  Monk Female 0.02%
Tauren  Monk Female 0.02%


Ну а для визуального восприятия - вот такая, не менее эпическая диаграмма:



И ещё, стоит упомянуть - существует всего один, единственный и неповторимый, нейтральный пандарен 100-го уровня Doubleagent. Я выкинул его из статистики, чтобы не мешал нормально нарисовать графики, но справедливость не нарушена - он не забыт  :D
  • 16127
  • 44

Комментарии:

55578 07b983b35aaf98df9118bdf56cd16716
30 августа 2015 в 17:30
Количество данных в Армори измеряется сотнями терабайт

выдыхайте)
там простые текстовые данные
75233 e899ada10bdc735f074c3fae5afd7bd0
30 августа 2015 в 20:25
Простые текстовые данные по десяткам миллионов персонажей, для каждого из которых нужно хранить текущий статус по всем ачивкам (несколько тысяч + этапы), петам (около тысячи), маунтам (300+), всю активность за последнее время и ещё кучу мелкой инфы. Воти набегают сотни терабайт простых текстовых данных.

Если сложить всю относящуюся к ВоВу инфу, которая вообще у Близзард хранится, там петабайты уже.
56257 6dcb17540889125f01ac6928ae08fb24
31 августа 2015 в 22:25
ну, если говорить об эффективном хранении, то даже если бы информация о том, что ты перечислил, хранилась бы в битовых данных в одной таблице, то ее вес был бы вряд ли больше 100-150 террабайт. С учетом того, что эта таблица сильно разрежена, а большинство данных в ней, очевидно, сжаты, то вряд ли объемы исчисляются сотнями террабайт, несколько десятков - вероятно.

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

Очевидно, что ты оперируешь выгрузками. Вероятно, выгрузками поперсонажно. В этом случае, с высокой долей вероятности ты мог дать средний "вес" одной выгрузки и число персонажей в базе, сообщив таким образом не "объем базы данных исчисляется сотнями террабайт", а объем данных, необходимых для анализа. Что, безусловно, было бы намного меньше.

Желание впечатлить читателя - это клево. Но ты ведь претендуешь на серьезный аналитический труд, а не на ярмарочные фокусы.

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

19.37%, а за дренеев - 7.07%, то воспринимать это надо примерно так: "за людей гамают около 1/5 всех игроков, это почти в 3 раза больше, чем за дренеев".

Спасибо кэп... но что это за пример? Если у тебя выборка дает в сумме 100%, то либо ты относишься к данным, как к достаточно точным, либо ты относишься к тому, что "около 1/5 игроков играют за людей и это почти в три раза больше, чем за дренеев" как к неточным.

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

Как-то непонятно.

П.С. ну и процитированная фраза она про другое. И то, что статистику берут с потолка - оно про другое. "потолочная" статистика возникает там, где нет возможности и/или желания получить достаточно большие репрезентативные выборки - для случая с электронными базами данных этот аргумент просто смешон - либо есть задача подогнать данные статистики под заведомый результат.
 
56257 6dcb17540889125f01ac6928ae08fb24
01 сентября 2015 в 00:26
а вот сайт, который делает все представленные выборки, используя WoW API

https://realmpop.com/eu.html

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

Вот уж действительно, ложь, большая ложь и статистика...

Грустно :(

П.С. чтобы не быть голословным, все, что нужно, это иметь список имен персонажей. Это достаточно нетривиальный трюк, потому как Близзард закрыли в своем АПИ доступ к общему списку. Сайты, собирающие статистику ведут списки имен простыми запросами, получающими имена тех, кто выложил вещи на аукцион, а также их согильдийцев (это АПИ допускает). Очевидно, что размер такой базы достаточно "велик": несколько десятков миллионов игроков, имеющих в среднем от 1 до 10 символов в имени дает нам +/- 100-300 МБ инфомации. Но это нужно получить единоразово (например, раз в день), к тому же легко оптимизировать для исключения повторов.

Дальше несложно. Дальше по каждому персонажу пишутся несложные запросы вида:

        $.ajax({
            "url":"http://eu.battle.net/api/wow/character/aerie-peak/Drathar?jsonp=myCallback",
            "type":"GET",
            "data": { fields: "class" },
            "dataType":"jsonp",
            "contentType":"application/json",
            "jsonpCallback":"myCallback",
            "success":function(data){
                console.log(data);
                alert(data.class);
            }              
        })

Для запуска можно воспользоваться встроенной в IE консолью (выданная цифра 6 означает "рыцарь смерти").
Вместо алерта, естественно, используется аналитическая функция, сам аджаксовый запрос обертывается в цикл по имеющейся базе имен. Результат такого запроса весит копейки (несколько байт), если включать в него необходимые параметры. то стоимость "обертки" стремительно падает. Для 10млн анализируемых персонажей получаем не более гигабайта информации, где у нас будет все необходимые для аналитики данные (такие как очки ачивок, батлгруппа, класс, пол, уровень, раса, дата последнего изменения). Если все это грамотно запараллелить, то "стоимостью" в машиночасах такой обработки будет - время скачивания этого самого гигабайта, в который уже включены все издержки.

Затем просто обновляем инфу по новым персонажам и радуемся жизни даже на ванильных тропических островах.

Вот и чудеса на виражах.
Отредактировано 01 сентября 2015 в 01:58
75233 e899ada10bdc735f074c3fae5afd7bd0
01 сентября 2015 в 09:51
Ок, теперь внимательно и по порядку.

1) Общий объём данных в Армори порядка сотен терабайт и battle.net в несколько петабайт - это не моя грубая прикидка, это публиковалось в каком-то из интервью Близзард. Ссылку с ходу не нашёл, поэтому вместо точного числа назвал только порядок.

2) Около 10 млн - это только максимальное число активных подписчиков (12 млн на самом деле, 1й график в статье). Всего же за много лет их было более 100 млн. У каждого подписчика обычно есть несколько персонажей, а не один. Всё это хранится в Армори. Возможно, так будет легче представить, откуда там так много.

3) Я не делал сам выгрузку из Армори. Я взял таблицу с форума mmo-champion, о чём написал с самого начала. Описание того, откуда и как примерно эти данные получают - исключительно для полноты картины и общего понимания. По этой же причине, я отдельно упоминаю, что мне не известна погрешность подсчётов и возможные допущения.

4) Если ты когда-нибудь работал с реальными базами данных, то должен понимать, что одну и ту же статистику можно вытащить по разному. И в зависимости от фильтров и методов подсчёта она может различаться. Не на порядки конечно, но верить в сотые доли процента может только убеждённый оптимист

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

6) Показанный тобой код даёт инфу только по одному персонажу. Да, в теории очень просто рассуждать, что сейчас забацаем цикл и вытащим всех. Но попробуй на практике хотя бы получить таблицу вида Имя-Сервер-Раса-Класс-Пол по всем персонажам 100-го уровня на US и EU. И если удастся, то посмотри, сколько она весит, и сколько часов на это всё уйдёт. Я не утверждаю, что это невозможно, просто делать это на домашнем компе и с обычным инетом - долго и не рационально. Если не веришь - ничто не мешает самому убедиться.
56257 6dcb17540889125f01ac6928ae08fb24
01 сентября 2015 в 12:48
1) Верю, но во-первых фраза "порядка сотен терабайт" она весьма неточна, это от нескольких десятков террабайт до нескольких петабайт - очень большой разброс. Во-вторых, в армори хранится не только информация об игроках, в-третьих там хранится огромное количество информации, которая излишня в твоих исследованиях.

2) Если быть точным на ЕУ сейчас 24,5млн пользователей. на ЮС 26,5. Как бы то ни было это не сильно увеличит выкладки.

3) По статье это невидно. Более того, фразы вроде "целью является выудить из Армори нечто большее" наталкивают на мысль, что ты этим выуживанием и занимался. Если же ты использовал готовые выкладки, которые даже не знаешь каким образом получены, и использовал непонятно для чего, то лично я не понимаю смысл и ценность работы. Но да ладно.

4) Эмммм. прости что? Я работал с базами данных и одной из важных вещей при работе с базами данных является получение точных данных. Статистические данные получаются в специальных пакетах для обработки статистики, которые на основе данных из БД (всех данных из БД) экстраполируют результаты на некий более общий объем сведений. Методики работы со статистическими выборками позволяют получать точность до тысячных долей процента (уже при 3 сигма, которые считались нормой в середине прошлого века, доверительная вероятность составляет 99,73%)

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

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

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

Кроме того, очевидно, mmo-champion оперирует далеко не домашними компьютерами, а модели решений специально подстроены для повышения производительности.
75233 e899ada10bdc735f074c3fae5afd7bd0
01 сентября 2015 в 15:08
Я в общем то и написал о том, что задача получения выборки по всем персонажам из Армори осуществима на обычном компе, но потребует неадекватных затрат времени. Качать данные неделю и потом ещё неделю их обсчитывать - нет, для какой-то очень нужной задачи я бы ещё мог на такое пойти, но ради простого любопытства и статьи на нуб-клабе это уже перебор.

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

Что касается баз данных - да, есть специальный софт для анализа статистики, есть методики проверки и т.д. Но на практике в больших сложных базах нужно при выгрузке указать кучу параметров, и не всегда очевидно, какие именно стоит учитывать. Вот, скажем, ты выгрузил всех персов 100 левела на одном сервере, а потом окажется что список включает в себя и всех уже удалённых персов, но тебе и в голову не пришло, что в запросе надо было учитывать такой флаг. А пришло ли это в голову чуваку с mmo-champion, который считал статистику? Я этого не знаю, но поскольку он вполне может быть не профессоналом, он мог допустить подобный косяк. Когда я говорю о достоверности данных, я имею в виду примерно вот это.

32029 6170ce857752f6b09f73e9e5aefeb8a9
30 августа 2015 в 21:26
Грац, утер нос, сам знаешь кому)
Жду исходники  ;)
75233 e899ada10bdc735f074c3fae5afd7bd0
30 августа 2015 в 20:57
Сам-знаешь-кто даже не имеет прав на вставку embedded объектов в код сообщения, что вообще удивляет изрядно, учитывая что он делает больше половины новостей на сайте. Так что давать по носу котэ здесь незачем, а вот в качестве демонстрации возможностей для развития ресурса в целом - мейби.
80129 a7a845f7f2b2f508ee8926f9de6b02b6
31 августа 2015 в 22:50
Цитировать
в качестве демонстрации возможностей для развития ресурса в целом


 при помощи элементарнейших графиков на хайчартс ;D
75233 e899ada10bdc735f074c3fae5afd7bd0
01 сентября 2015 в 09:57
Quote
Quote
в качестве демонстрации возможностей для развития ресурса в целом

 при помощи элементарнейших графиков на хайчартс ;D


Да, именно. Этот элементарный функционал можно было бы прикрутить к сайту, чтобы каждый имел возможность спокойно и без мучений вставить такой график в своём сообщении, а не подцеплять его из облака и потом ещё полчаса выяснять, почему же всё съехало и не отобразилось.
Отредактировано 01 сентября 2015 в 10:05
65272 d1cb1c16f1fea973329016735016dea6
31 августа 2015 в 22:07
Картинки для диаграмм специально подбирались в стиле "всякого с дренейками"? Автор считает, что так "нагляднее" доносит информацию?
Default avatar
31 августа 2015 в 22:12
да, картинки позабавили, растянутые несуразно плюс ко всему
75233 e899ada10bdc735f074c3fae5afd7bd0
01 сентября 2015 в 10:04
Картинки соответствуют расе, по которой показаны данные. Пропорции картинок сами подстраиваются под ширину страницы на экране - могут слегка растягиваться, но сильно косоёжить их не должно, если открывать не чем-нибудь экзотическим.
Default avatar
01 сентября 2015 в 11:54
Спасибо за разрыв шаблона -- жирнейшую эльфийку крови. Моя тауренша даже позавидовала таким формам! ;)
76214 82021b65a85407668226e0306607fbff
31 августа 2015 в 23:06
Самые непопулярные - гоблины

Вобще не понимаю почему. по моему гоблины моделькой уступают только гнумам мужчинам.
Варлока гнума сам держу, так что тут я с толпой)

Если бы играл за орду точно был бы гоблин.
Отредактировано 31 августа 2015 в 23:07
25121 0282c66f0ba23d42634349e84af5d627
31 августа 2015 в 23:36
там сосок у ночной эльфийки
75233 e899ada10bdc735f074c3fae5afd7bd0
01 сентября 2015 в 10:08
Quote
там сосок у ночной эльфийки

Омайгад, теперь мы все умрём.
Отредактировано 01 сентября 2015 в 10:11
88351 f322c6209d79aa7125166643b943d506
01 сентября 2015 в 00:03
то что показывают эти графики:
1) люди любят играть себе подобными - это психологический штамп, заложенный ещё с детства. поэтому люди боятся или негативно относятся к людям которые физически непохожи на людей (в случае врождённых дефектов). поэтому в любой игре где есть человеко-подобные расы люди будут играть ими. этот факт знают многие разработчики, поэтому если бы в игре отсутствовали человекоподобные расы это бы повлияло на количество подписчиков, особенно на ранних стадиях релиза игры.
2) большинство игроков - представители мужского пола, от этого никуда не деться, поэтому многие из них выбирают себе, кого бы вы думали? того кто будет радовать взгляд - женский персонаж! они же всё таки не геи, а гетеро, хоть немного и озабоченные :) к сожалению как бы статистики не пыжились правдивый расклад отношение полов игроков и выбираемых полов персонажей мы никогда не узнаем, а это как раз и предмет споров :)
3) расы в целом тоже далеко не балансны, ни для кого не секрет что играя за дамагера в пвп или пве подкованный игрок при создании персонажа выберет себе оптимальную расу, а некоторые игроки даже спекаются из расы в расу при появлении нового рейдового контента. к примеру гоблин воин мог два раза прыгать во времена катаклизма, чем ценился на Нефариане, при кайте аддов.
4) психология фетишизма - после введения трансмогрификации люди конкретно заболели фетишизмом в ВОВ, раньше фармили пиксели ради статов, теперь ещё и ради того чтобы эльфийка или дренейка выглядела ещё более сногсшибающе, этим кстати тоже обусловлен выбор расы и пола, потому что не многие любят собирать трансмог на тролля, нежить и некоторых других, которые сами несуразны и горбаты так ещё и трансмог на них не смотрится.

так что как видите есть правда что лежит на поверхности, и далеко за ней идти на форумы не надо чтобы разглядывать графики, достаточно просто играть в игру :)
75233 e899ada10bdc735f074c3fae5afd7bd0
01 сентября 2015 в 10:18
Вот так примерно и должен выглядеть комент по существу, спасибо =)

Только насчёт "отношение полов игроков и выбираемых полов персонажей мы никогда не узнаем" тут ещё можно поспорить. При регистрации аккаунта указывается пол, можно конечно его и другой поставить, но смысла особого в этом нет, поэтому большинство ставят правильный. Проанализировать соотношения пола владельцев аккаунтов и их персонажей, в теории, можно. Ещё можно провести опрос, результат будет не особо точный, но при грамотной выборке размером в несколько тысяч уже может какую-то правдоподобную картинку дать.
Default avatar
01 сентября 2015 в 05:00
Чего так теток грудастых много?
76411 a62a3996476cb6ad8dcc37ba6b084dcf
01 сентября 2015 в 06:51
Цитировать
теток грудастых

Ты сам ответил на свой вопрос
Default avatar
01 сентября 2015 в 10:03
> Dvarves
Чо правда?
з.ы. найти пик с коровкой в бикини автор смог, а у dwarf'ов мужик с медведем, ох уж эта вкусовщина.
7867 b85e294be8bb1f3ce0c1817500be3679
01 сентября 2015 в 09:50
> если немного пошаманить с этими данными, из них можно вытащить гораздо больше любопытной инфы

Ну и где она? Любопытная инфа? Впервые за всё время вынужден был поставить тебе единицу.
75233 e899ada10bdc735f074c3fae5afd7bd0
01 сентября 2015 в 10:26
Эти оценки ни на что не влияют. Разумную и обоснованную критику в коментах я приветствую, а вот хейтерам я действительно советую просто ставить статье единицу и уходить. Им отэтого станет легче, а коменты будут чище.
7867 b85e294be8bb1f3ce0c1817500be3679
01 сентября 2015 в 12:11
Разумная и обоснованная критика: анализа нет, выводов нет, результатов нет, кино не получилось.
75233 e899ada10bdc735f074c3fae5afd7bd0
01 сентября 2015 в 14:44
Для осознания показанной здесь инфы нужен какой-то глубокий анализ? По ней сложно самому сделать выводы? Rly? Я нашёл для себя хорошую тестовую задачку, чтобы поиграться с возможностями Highcharts. Читатели нубклаба получили аккуратную годную статью с более подробной статистикой, чем ранее тут публиковалась. A win-win situation, всё отлично получилось.

What is it so wrong with you, man, huh?
84830 01787ae707eaa99d469e87a47ae520ab
01 сентября 2015 в 10:14
Почему дворфы, гнумы и Альянсовкие пандарены в картинках не грудастые бабы? Что за дискриминация по альянсовкому признаку?
Ну а если серьезно, то я наконецто понял почему я за столько лет видел аж одного дворфа мага, да и то в процесе прокачки.
48678 5536eebbb8c6d05cb29a0ef3966e02ec
01 сентября 2015 в 10:54
tl:dr о чем статья я чего то не въехал, о чем хотел сказать автор?
75233 e899ada10bdc735f074c3fae5afd7bd0
01 сентября 2015 в 10:58
Может быть, для этого стоит почитать её?
Default avatar
01 сентября 2015 в 11:58
"смотреть статистику будем не на скриншотах из MS Paint, а с помощью удобных интерактивных графиков"

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

Да, если графики уж переделывались вами -- почему бы сразу не делать их на Русском?
75233 e899ada10bdc735f074c3fae5afd7bd0
01 сентября 2015 в 12:20
Ссылка на источник инфы дана в самом начале. Никакого отдельного "оригинала статьи" не существует, это и есть оригинал, вся работа с данными проделана самостоятельно. Англоязычную версию я в этот раз не создавал.

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

Грфики я сделал интернациональными, чтобы была возможность показать их где-либо ещё. Пока что выложил только тут, но если появится желание, смогу запостить куда угодно без доработок.
Отредактировано 01 сентября 2015 в 12:45
Default avatar
01 сентября 2015 в 14:29
Нет, я про статьи Вишко типа этой:

http://www.noob-club.ru/index.php?topic=37752.0

Как видите, графики преобразованы в битмапы, "Теперь мы посмотрим на соотношение полов и рас персонажей" без малейшей ссылки кто такие мы.
75233 e899ada10bdc735f074c3fae5afd7bd0
01 сентября 2015 в 15:25
Да, при публикации большого куска инфы с другого сайта надо всегда указывать источник. За свою он её вроде бы не выдаёт, это было бы совсем смешно, но добавить линк в начале или конце поста там не помешало бы.
Default avatar
01 сентября 2015 в 22:46
 На noob-club.ru надо наоборот указывать, что какой-то материал не копипаста с других сайтов, потому что большинство статей в новостях - именно копипасты.
30006 a28a425f3c4657e5e2d6d5fd9e301b67
01 сентября 2015 в 13:04
Над петабайтами информации поржал. Статья бесполезная, невоспринимаемая, картинки кривые и пошлые. У автора явно завышено чсв. Всяко ммочемп может в графики, но вот почему он не делает именно так как ты, подумай
Отредактировано 01 сентября 2015 в 13:11
Default avatar
01 сентября 2015 в 13:09
Данные интересные. Спорить о том сколько терабайт они занимают я не буду. Хочу лишь сказать, что выбор расы в WoW определяется на мой взгляд не только внешними факторами, но и конкретными абилками и классовой принадлежностью:
1. Хуманы - топ пвп раса (сколько пвпшеров рерольнулось в хуманов).
2. Таурены и НЭ - до недавнего времени друидами могли быть только они.
3. БЭ - до недавнего времени только они могли быть паладинами.

Так что не стоит говорить о том, что люди и грают за людей, потому что они им ближе. Только хуманская тринька, и ничего более. Да и смысл играть в фентези за хумана, когда ты сам им являешься? Но тут как говориться на вкус и цвет....
75233 e899ada10bdc735f074c3fae5afd7bd0
01 сентября 2015 в 14:49
Да, эти факторы влияют на выбор расы, но всё же предположу, что среди общей массы не такой уж большой процент игроков, для кого это существенно. Большинство выбирает расу по внешнему виду, а не из-за способностей или тринек, которых в следующем патче могут уже и переделать.
46442 85c0e96f853b76a74e70d5b7474ef28e
01 сентября 2015 в 15:50
Очень интересная сводка.
Имхо факторы:
1. Внешний вид. Высокие и прямые расы - отлично трансмогрифицируются и шмотки на них сидят чудесно, в отличие от горбатых рас, где шлем проще отключить, или мелких рас, где надо еще разглядеть. Причем, горбатых фемин в игре нет принципиально, и орчихи и тролльки - прекрасны.

2. В отдельных случаях - анимация. Зачастую у расы/пола - прекрасная анимация каста или бафа, но ужасная милиатака и наоборот. Анимация чарджа, бега и стелса. Например, я долго не мог привыкнуть к тряской походке воргенов (поэтому если ими и играл - то только друлями/рогами). Бывает мелочь - а раздражает. Долго играл найтэльфийкой из за ее прекрасной и в чем то аристократической анимации.

3. Мелкие расы (имхо) имеют некоторые проблемы с обзором. Хитбокс небольшой, что требует определенной сноровки в мили (ближе подходить, перебегать при свитчах, и мне было сложновато в мили-месиве вообще видеть своего персонажа). Плюс камера вертится вокруг точки центра хитбокса, в итоге более высокие расы оказываются в некотором выигрыше при обзоре, чем у тех же гномов, где точка почти у земли. При откате камеры подальше - персонаж превращается в кнопку. Это чисто мое мнение, при игре за гоблинов, дворфов и особенно гномов через пару часов подсознательно возникало стойкое чувство дискомфорта.

4. Не всем комфортно играть звероподобными или искаженными расами.

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

Ну и понятно, что дворфийки и гномки всегда будут в тени высоких шикарных дренеек, аристократичных найтэльфиек и пандаренок-тян. Тут уж как ни извернись.
42745 f22239377c529ffca1d92cead2e4f649
01 сентября 2015 в 21:23
помимо перечисленных факторов я бы добавил еще один.
Лорность.
За примерами далеко ходить не надо
это классика типа орка воина, хумана паладина, ночного эльфа друида и подобных им.
лично я стараюсь (не всегда) руководствоваться и этим фактором при создании персонажа с заделом на относительно серьезную игру.
у меня не повернется рука создать гнома\таурена приста, тролля дк (хотя с дк казалось бы), дварфа варлока.
так же игра за таурена паладина шла бы не так бойко как игра за хумана паладина.
и дело тут не в расовых бонусах, скорее в исторической платформе, мне играя человеком паладином есть на, кого опираться (Туралионы, Утеры, Тирионы, Максимилиан Североземский в конце концов, много их) или тауреном (кроме Дзеко из пандарии больше не вспомню никого).
Включая и лоность я совсем не удивился увидев в графике популярность определенных классов у разных рас.
ровно как и монах у многих ассоциируется с пандареном и никак иначе.
А в популярности шаманов у дренеев и паладинов у бэ не последнюю роль играет БК, когда данный сеттинг стал доступен.
А вот лорной гендерной принадлежности совсем мало, может еще остались те, кто помнит, что изначально у ночных эльфов друидами могли быть только мужчины а пристами только женщины, но думаю, что в вопросе женских персонажей основную роль играет картинка и уж потом все остальное.
86418 5cb895c82298f15f1c8c236158397609
02 сентября 2015 в 12:21
Из 8 персонажей 6 женского пола. Я болен?
Default avatar
02 сентября 2015 в 12:27
>Паладины и друиды на 2-м и 3-м местах, но у этих ребят есть хотя бы по 3 принципиально разных спека.
У друидов 4 спека.
Default avatar
22 июня 2018 в 15:35
1
Default avatar
22 июня 2018 в 15:35
1