Хабрахабр

«Самоуничтожающаяся» бета Fallout 76

image

E. «Игроки PC #Fallout76 B. A.: Мы в курсе проблемы с клиентом и разбираемся с ней. T. Пожалуйста, не нажимайте пока никаких кнопок в клиенте-лаунчере.»
— Поддержка Bethesda (@BethesdaSupport) Октябрь 30, 2018

Поучительная история, наделавшая немало шуму, приключилась на этой неделе с компанией Bethesda. Игры Bethesda всегда славились большим количеством багов; сегодня компания по-прежнему продолжает следовать заветам Buggerfall (TES II Daggerfall) и, кажется, на этот раз смогла выйти на новый уровень.

По факту, бета представляла собой стресс-тест из четырех коротких сессий длительностью 4-5 часов — и стресс-тестом (для CDN и пользователей) ее можно назвать не только в прямом, но и в переносном смысле. Речь идет о старте бета-теста PC-версии Fallout 76 — многопользовательском спин-оффе известной ролевой серии, больше напоминающему по своему духу Rust – который состоялся на этой неделе, 30 октября.

В результате, когда долгожданная бета (ради которой игроки и оформляли предзаказ) наконец стартовала, десятки тысяч пользователей, загрузивших игру заранее, были вынуждены снова целиком скачивать установочные файлы игры (почти 50 гБ), причем скорость скачивания упала до минимальных значений (около 1Mb/s). Разработчики умудрились просмотреть в лаунчере игры баг, из-за которого ее клиент самовольно удалял все файлы игры с компьютера пользователя при запуске лаунчера и/или клику по любой кнопке в нем. Когда 4 часа спустя бета закончилась, большинство из них в итоге так и не смогло попасть в Fallout 76.

Если учесть, что всего неделю назад компания разослала игрокам-подписчикам письмо, в котором предупреждала, что в бете им предстоит столкнуться с невиданными доселе багами, то можно сказать, что Bethesda не подвела.

Суть проблемы

Когда компания Bethesda анонсировала свою новую игру Fallout 76 на выставке E3, то сразу объявила, что на этот раз для распространения игры Steam использоваться не будет — вместо него компания решила использовать собственный лаунчер Bethesda.net.

Впрочем, директор компании Пит Хайнс заявил, что это решение было принято с целью «упрощения коммуникации с сообществом игроков» — поскольку теперь игроки должны были обращаются с фидбеком напрямую на форумы Bethesda, минуя форумы (и обзоры) Steam. Причина такого решения очевидна — при таком подходе Bethesda не нужно платить отчисления Valve — для крупных компаний, издающих в Steam AAA-игры, это около 20-25% (все зависит от контракта с конкретной компании — но меньше, чем для большинства разработчиков).

Забегая вперед, можно сказать, что самые пессимистические прогнозы не оправдались — судя по весьма оживленному форуму, игра уже успела вызвать некоторый ажиотаж; к тому же в самой Fallout 76 активно используются ассеты и игровые механики Fallout 4, что значительно снижает стоимость производства подобного эксперимента. Общественность некоторое время сильно возмущалась тем, что теперь игрокам придется держать у себя на компьютере еще один лаунчер, и за счет этого пророчила игре провал в продажах. Последнее неудивительно, ведь бытует мнение, что этим проектом Bethesda прощупывает почву для использования модели «игра-как-сервис» в своих последующих проектах — ведь сложно придумать, куда еще можно было бы портировать Skyrim после Amazon Alexa.

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

Тех, кто следил за таймером обратного отсчета в лаунчере игры, первое разочарование ждало уже тогда, когда выяснилось, что таймер отработал на два часа раньше положенного — кнопка «Играть» разблокировалась, однако, запустить игру не удавалось. И вот назначенный день X для PC-игроков наконец-то настал.

По проблеме таймера Bethesda отреагировала достаточно быстро и дала разъяснение: дескать, программист, отвечавший за таймер обратного отсчета, живет по Mountain Standard Time (MST), горному времени (это время, соответствующее часовому поясу Горных штатов, одному из семи часовых поясов США; оно на два часа позже Восточного поясного времени) — добавив, что этого программиста уже сбросили до «заводских настроек», и подобное не должно повториться.

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

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

Скорость скачивания внезапно упала до 0. Здесь расстроенных игроков ждал очередной подвох. 5-1 MB/s — и ни у кого из них не осталось практически ни единого шанса скачать клиент за отведенные на бету 4 часа.

image

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

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

Закончилось все тем, что Bethesda расширила период следующего дня бета-теста расширили на четыре часа.

Возможные причины и стоимость ошибки

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

Допустим, в обновлении требовалось заменить поддиректорию, и для этого требовалось ее рекурсивно удалить, распаковав сюда же новую папку. На самом деле, она может быть вполне тривиальной — скорее всего, неправильно отработал механизм обновления игры. И способов «накосячить» здесь было более, чем достаточно: перенос файлов мог отработать с ошибкой; где-то мог быть неправильно прописан относительный путь к папке; неправильно была задана переменная окружения или указан путь; для беты могли быть установлены специальные временные флаги в коде, которые забыли сбросить…

В качестве CDN Bethesda использует AWS CloudFront. Попробуем примерно подсчитать, сколько эта ошибка могла стоить Bethesda. Допустим, компания платит 0. Можно предположить, что такое сильное падение скорости скачивания было связано с throttling и некорректно настроенными параметрами конфигурации. Если, допустим, загружать игру заново пришлось миллиону человек, то это ошибка обошлась компании в 500 000 $. 10$/Gb; каждый человек, который загружает игру, стоит им примерно 50 центов. Для сравнения, Fallout 4 за первые 24 часа после релиза на Steam продался тиражом в 1. Вопрос здесь в том, какое число пользователей это затронуло — и ответить на него трудно. 2 миллиона копий, пиковое число пользователей составило 470 000 человек.

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

Постскриптум

Справедливости ради, стоит отметить, что Bethesda вовсе не первопроходцы в данном «жанре» — истории известны и более серьезные ошибки.

За нее разработчики из CCP извинились, заодно подробно рассказав о причине ошибки. Старожилы Хабра могли слышать о проблеме обновления EVE Online, которое удаляло у игроков файл C:\boot.ini.

0, которая была записана на диске) включал в себя Sierra Utilities, которые при деинсталляции игры удаляли не только папку, в которую была установлена сама игра, но еще и ее родительскую директорию. В свое время, первый Half-Life (в релизной версии 1. Нетрудно представить, какая «радость» поджидала тех, у кого была установлена в c:\games\HL, c:\program files\hl или c:\hl

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»