[image]

Нечаянное моделирование эпидемии в WoW

побочным эффектом игры стало моделирование распостранения смертельной эпидемии
 
+
+7
-
edit
 
все это произошло 10 лет назад - может уже обсуждалось

В субботу 13 сентября 2008 года в самой популярной в мире многопользовательской онлайновой игре "World of Warcraft" (сокращенно "WoW") случился глич, благодаря которому "WoW" вошел не только в историю компьютерных игр, но и в историю современной медицины. Чтобы понять всю восхитительную нелепость происшедшего и тот совершенно неожиданный эффект, к которому это привело, нужно немножко знать, как устроен "WoW". Подробно и нудно вы можете прочитать в русской вики, а коротко я вам сейчас объясню.

"WoW" это ролевая игра, что означает, у каждого игрока есть компьютерный персонаж, которым он управляет. Да-да, точно также, как на ферме в Фейсбуке. Этот персонаж живет в огромном виртуальном мире, населенном другими персонажами - часть из них также управляются людьми, а часть - компьютером. Основным занятием в мире "WoW" является выполнение "заданий", которые вам дают компьютерные персонажи, заботящиеся о том, чтобы вы не заскучали. За выполнение заданий вы получаете игровые деньги, экипировку и опыт. Чем опытнее ваш персонаж, тем он сильнее - а значит, тем труднее его убить какому-нибудь монстру или другому игроку. Но серьезных монстров всё равно в одиночку не попрешь: они слишком сильны и убивают одним плевком. Самые крутые монстры - боссы - живут в так называемых "замках" и окружены кошмарным количеством охраны. Чтобы убить такого босса нужно сбиваться в группы в пять-десять-двадцать человек, тщательно разработать стратегию боя и потратить на это несколько часов.

И в сентябре 2008 года компания "Blizzard" ввела в мир "WoW" новый "замок", расчитанный на рейд командой из 20 игроков самых высоких уровней. Замок назывался Зуль-Фарак и жил в нем вот этот красавец по имени Хаккар - злобный такой крылатый змей, убить которого было жутким головняком. Помимо всего прочего, Хаккар насылал на противников болезнь под названием "Corrupted Blood". Эта болезнь медленно вытягивала из вашего персонажа жизнь в течении нескольких секунд, а потом проходила. Интересной особенностью болезни было то, что она была заразной, как настоящая вирусная инфекция: если один персонаж заболевал, то и те персонажи, которые находились в физической близости от него, тоже заражались.

Для игроков высокого уровня, на которые был расчитан бой в Зуль-Фараке, Corrupted Blood не представляла смертельной опасности, а скорее была назойливой помехой, заставлявшей отвлекаться, рассредотачивать группу и налагавшей дополнительную работу на командных лекарей, у которых в бою и так хлопот полон рот. Настоящая проблема началась тогда, когда по програмному недочету болезнь вырвалась за пределы замка.
Поскольку мир "WoW" очень велик, то у каждого персонажа есть возможность мгновенно телепортироваться из любой точки в свой родной город. В городах "WoW" вы можете ходить на рынок и по магазинам, там живут учителя разных профессий и военные тренеры, там же проходят дурацкие развлекательные фестивали и т.п. - в общем, жизнь кипит, полно народу. Так вот, оказалось, что если игрок быстро телепортировался из Зуль-Фарака, не удосужившись дождаться излечения от болезни, то он выносил Corrupted Blood за пределы замка и заражал ей совершенно посторонних персонажей, которые просто по случайности пробегали мимо.

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

Довольно быстро стало ясно, что игроки "WoW" в виртуальном мире вели себя точно так же, как настоящие люди, оказавшиеся в условиях глобальной эпидемии смертельной болезни. " Blizzard" еще не успел до конца осознать и начать решать свалившуюся на него проблему, как в головной офис стали звонить возбужденные эпидемиологи, требующие предоставить статистику по "Corrupted Blood Incident".

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

В первую очередь прахом пошли теории о том, как население будет реагировать на усилия правительства по борьбе с инфекцией. Для начала " Blizzard ", ужаснувшись масштабом необходимых починок, попытался решить проблему, информируя игроков об инфекции и призывая к добровольному карантину. Эти мероприятия блистательно провалились. Немедленно нашлись люди, которые начали нарочно лезть в Зуль Фарак, заражаться и растаскивать болезнь по миру, дегенеративно прихохатывая. Такое случилось, как известно, и в человеческой истории, как в начале эпидемии СПИДа озлобленные больные нарочно заражали как можно большее количество людей вокруг себя.

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

Некоторые игроки, чьи персонажи обладали способностью лечить и воскрешать мертвых, начали добровольно предлагать свои услуги. К сожалению, несмотря на благие намерения, их усилия оказали медвежью услугу. Известно, что чем смертельнее и скоротечнее инфекция, тем быстрее "выгорает" эпидемия. Поэтому самыми длительными и массовыми бывают несмертельные инфекции, как ОРЗ, с которым мы ходим на работу и заражаем всех вокруг, а не лихорадка Эбола, с которой люди тихо расползаются по хаткам и спокойно помирают. Усилия добровольных лекарей привели к затяжному характеру эпидемии, которая угасла бы быстрее, как только все население городов было бы убито и больше некому было разносить заразу.

Не сразу было обнаружено, что персонажи, управляемые компьютером, а не людьми, тоже подвержены болезни и могут ее разносить, но она у них протекает без симптомов. Такие больные "с длинным латентным периодом" стали неожиданными и чрезвычайно эффективными очагами эпидемии. А когда " Blizzard" принял первые меры, отключив вынос болезни вне Зуль-Фарака на игроках, выяснилось, что болезнь переносится также и животными (а у некоторых персонажей есть ручные звери). Это сделало "Corrupted blood" чрезвычайно похожей на многие вирусные заболевания, которые передаются от людей к животным и назад.

По следам этих событий было опубликовано несколько статей в серьезных медицинских журналах. В которых были сделаны нелицеприятные выводы о том, к чему нам надо готовиться в случае, если пандемия случится не в виртуальном, а в реальном мире. Потому что "Blizzard" в конце-концов смог придушить "Corrupted Blood", починив глитч и сделав жесткую перезагрузку всех затронутых серверов. А в реальном мире нет кнопки Reset.

Виртуальная чума и ее вклад в современную эпидемиологию

If you die in Canada, you die in real life Канадско-Американская шутка В субботу 13 сентября 2008 года в самой популярной в мире многопользовательской онлайновой игре World of Warcraft (сокращенно WoW) случился глич, благодаря которому WoW вошел не… //  glam-fille.livejournal.com
 
   65.0.3325.18165.0.3325.181
02.05.2018 10:16, Wyvern-2: +1: Блеск! :)
03.05.2018 06:49, maitredesir: +1

Fakir

BlueSkyDreamer
★★★★☆
Ну Питер наш, яти его, Уоттс, еще лет 10+ тому этот момент использовал во второй (или третьей?) книге "Морских звёзд" - только, как всегда, обострил до перехода пределов разумного.
   51.051.0

Fakir

BlueSkyDreamer
★★★★☆
Хотя уже не уверен, что в "Звёздах". В "Эхопраксии" уже точно было, и там явно по итогам WoW/

Использование онлайновых многопользовательских игр в качестве средств для эпидемиологической симуляции впервые предложили Лоффгрен и Фефферман 143; их же, в свою очередь, вдохновила неожиданная пандемия "испорченной крови" в "Мире Варкрафта", которая случилась из-за того, что люди в РПГ — как и в реальной жизни — часто ведут себя не так, как надо. Я не знаю, сколько народу подхватили эту идею и развили ее — по крайней мере, в одной статье говорится об использовании онлайн-игр для экономических исследований, — но если это все, то, по-моему, мы упускаем большую возможность.


143 Eric T. Lofgren and Nina H FefTerman, "The Untapped Potential of Virtual Game Wbrlds to Shed Light on Real Wbrld Epidemics, The Lancet Infectious Diseases 7, no. 9 (September 2007): 625–629, doi:10 1016/S14733099(07)70212-8.
 
   51.051.0

Sandro
AXT

инженер вольнодумец
★☆
Iva> все это произошло 10 лет назад - может уже обсуждалось
Iva> В субботу 13 сентября 2008 года в самой популярной в мире многопользовательской онлайновой игре "World of Warcraft" (сокращенно "WoW") случился глич, благодаря которому

Да, история эпичнейшая. Но тут надо понимать одну вещь: ручные животные не могли умирать от заразы (это было жёстко запрограмированно), поэтому и послужили основными разносчиками. Если бы дохли, то масштаб катастрофы был бы много меньше.
   52.952.9
+
+2
-
edit
 

Полл

координатор
★★★★★
Sandro> Да, история эпичнейшая. Но тут надо понимать одну вещь: ручные животные не могли умирать от заразы (это было жёстко запрограмированно), поэтому и послужили основными разносчиками.
Как крысы, разносившие вшей, которые разносили тиф, сами тифом не болели и от него не умирали?
   1717
MD Wyvern-2 #02.05.2018 14:46  @Полл#02.05.2018 13:41
+
-
edit
 

Wyvern-2

координатор
★★★★★
Sandro>> Да, история эпичнейшая. Но тут надо понимать одну вещь: ручные животные не могли умирать от заразы (это было жёстко запрограмированно), поэтому и послужили основными разносчиками.
Полл> Как крысы, разносившие вшей, которые разносили тиф, сами тифом не болели и от него не умирали?

ТовариСчь понимает! © :)

Вообще, для распространения эпидемии важны две вещи: длительность инкубационного периода и контагиозность.
   59.059.0

Zenitchik

старожил

Iva>
Не сразу было обнаружено, что персонажи, управляемые компьютером, а не людьми, тоже подвержены болезни и могут ее разносить, но она у них протекает без симптомов. Такие больные "с длинным латентным периодом" стали неожиданными и чрезвычайно эффективными очагами эпидемии. А когда " Blizzard" принял первые меры, отключив вынос болезни вне Зуль-Фарака на игроках, выяснилось, что болезнь переносится также и животными
 


Это пипец. Это программный продукт или как? Как могло "выясниться" что его разносят все юниты? Разработчики не смотрели, что пишут?

>отключив вынос болезни вне Зуль-Фарака

Почему не отключили саму болезнь вне Зуль-Фарака? Трудно было в коде самой болезни привязку к локации прописать?
   81.0.4044.14281.0.4044.142
UA tank_bd #01.06.2020 15:15  @Zenitchik#01.06.2020 15:08
+
-
edit
 

tank_bd

опытный

Iva>>
Zenitchik> Это пипец. Это программный продукт или как? Как могло "выясниться" что его разносят все юниты? Разработчики не смотрели, что пишут?

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

Zenitchik> Почему не отключили саму болезнь вне Зуль-Фарака? Трудно было в коде самой болезни привязку к локации прописать?

чтото мне кажется что проблема была в том что отталкивались от чего-то заведомо работающего и не довели до вменяемого состояния .
   76.076.0
Это сообщение редактировалось 01.06.2020 в 15:20
RU Zenitchik #01.06.2020 15:27  @tank_bd#01.06.2020 15:15
+
-
edit
 

Zenitchik

старожил

t.b.> видеть мало надо тестировать , и самое нетривиальное угадать с подбором так сказать условий при которых данная бага может проявится .... а так один реализует фичи без оглядки на "вне определенного окружения" , второй считает что все что внутри его не касается ... третий факапит с параметром и понеслось :) Дело кстати совершенно обыденное.

Что такое тестирование я знаю.
Но применительно к болезни. Чтобы рассчитывать заражение, нужно по крайней мере в юните иметь признак, заражён он или нет. Они его в корневой класс что ли в корячили? Зачем, если болезнь узко специализированная?
Или у них УЖЕ БЫЛ механизм распространения заразных болезней, и они его просто использовали? Это ещё интереснее.
   81.0.4044.14281.0.4044.142
+
+5
-
edit
 

Sandro
AXT

инженер вольнодумец
★☆
Zenitchik> Это пипец. Это программный продукт или как? Как могло "выясниться" что его разносят все юниты?

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

Zenitchik> Разработчики не смотрели, что пишут?

В первый раз, что ли?

>>отключив вынос болезни вне Зуль-Фарака
Zenitchik> Почему не отключили саму болезнь вне Зуль-Фарака? Трудно было в коде самой болезни привязку к локации прописать?

Классическая ошибка программирования — вместо отключения болезни везде, кроме арены, прописали автоматическое излечение при покидании. А оно работало не для всех.

То есть ловили переход в новое состояние вместо нахождения в нём. А так делать нельзя. Я видел во вполне себе промышленном коде подобного рода ошибки. Причём поначалу оно может даже вполне нормально работать и проходить тесты, а потом кто-то добавит новый способ попасть в целевое состояние, и приехали ...
Не смотрели, что пишут, да. Точнее, не думали.
   60.960.9
UA tank_bd #01.06.2020 15:59  @Zenitchik#01.06.2020 15:27
+
-
edit
 

tank_bd

опытный

Zenitchik> Но применительно к болезни. Чтобы рассчитывать заражение, нужно по крайней мере в юните иметь признак, заражён он или нет. Они его в корневой класс что ли в корячили? Зачем, если болезнь узко специализированная?

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

Zenitchik> Или у них УЖЕ БЫЛ механизм распространения заразных болезней, и они его просто использовали? Это ещё интереснее.

у них были какие-то распространяющиеся эффекты и модификаторы ... и от них скорее всего они и наследовались ...
   76.076.0
RU Zenitchik #01.06.2020 16:12  @tank_bd#01.06.2020 15:59
+
-
edit
 

Zenitchik

старожил

t.b.> у них были какие-то распространяющиеся эффекты и модификаторы ... и от них скорее всего они и наследовались ...

Так это ж роскошный механизм для будущих исследований. Надо ввести игру несмертельные болезни как постоянный элемент игрового мира.
   81.0.4044.14281.0.4044.142
UA tank_bd #02.06.2020 13:24  @Zenitchik#01.06.2020 16:12
+
-
edit
 

tank_bd

опытный

Zenitchik> Так это ж роскошный механизм для будущих исследований. Надо ввести игру несмертельные болезни как постоянный элемент игрового мира.

это не их так сказать сфера компетенции %)
   76.076.0

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru