Чума и перенаселение: как разработчики World of Warcraft справлялись с первыми проблемами игры

Быть богами игрового мира не так-то просто.

Разработчики World of Warcraft рассказали PC Gamer, как они справлялись с непредсказуемым поведением игроков и катастрофическими ошибками скриптов в ранние годы жизни World of Warcraft.

DTF публикует перевод материала.

Чума и перенаселение: как разработчики World of Warcraft справлялись с первыми проблемами игры

Если бы 13 сентября 2005 года вы зашли во двор крепости дворфов Стальгорн, то увидели бы одни скелеты. Множество скелетов. В городе, как и во всех остальных крупных населенных пунктах World of Warcraft, свирепствовала чума, уничтожавшая игроков тысячами. Их кости белели на каждой улице.

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

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

Было очень страшно, ведь мы не знали, из-за чего все началось.

Джон Кэш, ведущий инженер World of Warcraft

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

Всё дело в крови

Разработчики вроде Джона Кэша месяцами трудились над тем, что должно было стать самым интересным обновлением World of Warcraft. Зул’Гуруб был суровым рейдом, в который рвались высокоуровневые персонажи. Но у Хаккара Свежевателя Душ, финального босса этого рейда, был в запасе грязный трюк.

Перед смертью, борясь с бесчисленными группами игроков на нескольких серверах, Хаккар пытался высосать кровь героев, чтобы восстановить своё здоровье. В качестве противодействия этому отчаянному, но опасному выпаду, игроки могли заразить свою кровь смертельным заболеванием — они постоянно получали урон, но так Хаккар заражался и, в конце концов, убивал сам себя. «Всё началось из-за ошибки, допущенной дизайнерами при создании скриптов — объясняет ведущий инженер ПО Коллин Мюррей. — Заражённая кровь была особым эффектом, и дизайнеры забыли убрать его с питомцев. Так что если ваш питомец заново вызывался, пока вы бились с Хаккаром...»

«...Игра сохраняла питомца с заражённой кровью, — вклинился Кэш. — Когда вы в следующий раз вызывали питомца, не было кода, который бы говорил: „А, так ты не в рейде, надо бы от заражённой крови избавиться“».

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

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

Шейн Дабири, один из руководителей Blizzard

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

Люди старались не подходить к городам и писали остальным: «Не возвращайтесь в город, а то снова это подхватите. Держитесь дикой местности». Это был своего рода карантин, благодаря которому выживали игроки.

Шейн Дабири, один из руководителей Blizzard

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

Джон Кэш, ведущий инженер World of Warcraft

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

Хаккар Свежеватель душ
Хаккар Свежеватель душ

«Мы такого не планировали, это был просто баг», — объясняет Дабири.

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

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

Шейн Дабири, один из руководителей Blizzard

Этот урок Дабири, Кэшу, Мюррею, да и всем в Blizzard приходилось выучивать снова и снова. Изначально World of Warcraft должен был следовать за более старыми ММО вроде Everquest и Ultima Online — вобрать в себя всё, что делало эти игры особенными. После этого надо было просто «отполировать игру в стиле Blizzard», как говорит Кэш. Вместо этого World of Warcraft стал культурным феноменом, аудитория которого быстро превысила суммарную популяцию двух ММО, послуживших ему вдохновением. А разработчики Blizzard стали проводниками, исследующими неизведанные территории в сопровождении миллионов человек.

Выученные уроки

За 13 лет Дабири, Кэш и Мюррей на практике изучили, что можно, а чего нельзя делать с многомиллионной аудиторией. В качестве идеального примера тому они вспоминают Врата Ан’Киража, одно из первых событий World of Warcraft, затрагивающих весь сервер, амбициозное даже по сегодняшним меркам. В 2006 году оно стало предвестником появления двух новых рейдов, однако чтобы справиться с сидящими в них инсектоидами Силитидами, игрокам на сервере пришлось собрать огромное количество ресурсов. Тем временем на каждом сервере лучшая гильдия старалась как можно быстрее выполнить сложную цепочку квестов по перековке скипетра, который нужно было доверить одному-единственному игроку, чтобы тот затем смог открыть врата для всех.

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

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

Джон Кэш, ведущий инженер World of Warcraft

Когда игроки с сервера Медив первыми выполнили квест, люди начали делать то, что Blizzard не предусмотрели. Пользователи со всей Северной Америке создавали новых персонажей на сервере Медив, чтобы поучаствовать в открытии врат. «Те, кто изначально играли на Медиве, расстроились, мол „это наш сервер, надо их выгнать“. В итоге Альянс и Орда объединились, чтобы прогнать чужеземцев: все стали отмечать себя как готовых к PvP, после чего начали вырезать более низкоуровневых игроков, чтобы те не присутствовали на открытии врат».

«Это был хаос», — признаёт Дабири.

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

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

Джон Кэш, ведущий инженер World of Warcraft
Очередь у магазина Fry’s Electronics в ночь запуска WoW
Очередь у магазина Fry’s Electronics в ночь запуска WoW

Такие моменты были важной частью World of Warcraft с самого запуска. За несколько часов до полночного запуска игры более 5 000 фанатов осадили магазин Fry's Electronics в Ирвине, штат Калифорния. Мюррей вспоминает, как в девять утра ему сообщили о том, что у магазина уже собралась очередь из игроков. К вечеру по тому району ездить было совершенно невозможно — всюду были припаркованы машины, а очередь дважды обвивала здание магазина.

Это была огромная толпа людей. Мы просто не знали, что делать.

Коллин Мюррей, ведущий инженер World of Warcraft

По словам Дабири, за несколько дней до этого команда разработки боялась, что за игрой никто не придёт. Вместо этого заготовленные для продажи три с половиной тысячи копий разлетелись как горячие пирожки, после чего разработчикам пришлось послать человека в головной офис в Ирвине, чтобы он привёз копии, зарезервированные для сотрудников Blizzard. Потом и они кончились. «При этом мы не хотели, чтобы кто-то ушёл с пустыми руками», — вспоминает Дабири.

С релиза World of Warcraft Blizzard с трудом поспевает за удивительной популярностью её виртуального мира. Студия множество раз оступалась, но Дабири не считает эти случаи ошибками.

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

Шейн Дабири, один из руководителей Blizzard
2727
21 комментарий

1. история с чумой, кстати, давно описана, есть даже целое исследование, почему в виртальном пространстве игроки стали вести себя асоциально, спецально заражая других игроков. наиболее горячие головы пытались модель такого поверения пытались экстраполировать и сравнить с поведением людей, зараженных неизлечимыми болезнями (вич, например, и т.п.). внизу дам ссылку на доклад
2. интересно, что в ивенте "возврат короля лича" подобное "заражение" было использовано разработчиками уже как фича
3. помню, у нас, в аллодах онлайн тоже был баг, когда дебаф выносили из рейдового инста и он сохранялся на персонаже. было весело (на самом деле нет)
ссылка на видео про болезни в виртуальном пространстве
https://www.youtube.com/watch?v=u3eLSkUfw-M

5
Ответить

Помню такой баг в АО! Был тогда на сервере "Горн Войны". Мы успели забежать в ангар и пережидали чуму на моём корабле. Было очень тепло и лампово с друзьями обсуждать, что творится в мире.

1
Ответить

1. Ради лулзов, очевидно же)

1
Ответить

Комментарий недоступен

1
Ответить

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

Ответить

Комментарий недоступен

9
Ответить

Мне кажется, это потому что геймдизайнеры постарели и им хочется чего-то спокойного и ненапряжного, им хочется вовлечь домохозяек, которые не готовы самостоятельно искать пати, но готовы ходить в рандомы по кнопочке. Я лично очень жалею, что не застал ванильного WoW'а, а все мои мечты о крутой MMO-игре пока что разбиваются вдребезги о скалы корейского линейка-стайл, хотя даже классическая Линейка намного круче всех этих новомодных отполированных новинок.

1
Ответить