Разработчик Red Dead Redemption рассказал, как мешки с золотом сломали мультиплеер игры, а ему пришлось исправлять баг в перерывах между судебными заседаниями

Бывший ведущий дизайнер мультиплеера Red Dead Redemption Крис Робертс рассказал историю о том, как ему пришлось экстренно исправлять сломанный мультиплеер игры, параллельно выполняя обязанности присяжного в уголовном процессе. Подробностями Робертс поделился в новом интервью каналу Kiwi Talkz.

По словам разработчика, к моменту релиза в 2010 году он и так находился в "состоянии амнезии" из-за хронического недосыпа, накопившегося за предрелизный период. Однако вместо долгожданного отдыха его вызвали на присяжные заседания по уголовному делу, где решалась судьба человека, которому грозило тюремное заключение. Именно в этот момент выяснилось, что мультиплеерная часть Red Dead Redemption сломана.

Это какая-то злая шутка. Я заседал присяжным по уголовному делу, где человек мог отправиться в тюрьму, а когда вышла Red Dead, мультиплеер оказался просто абсолютно сломан.

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

Мы даже не понимали, что происходит. Нас взламывают? Кто-то троллит систему? Что вообще происходит?

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

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

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

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

Точную причину бага в Rockstar так и не выяснили до конца, но нашли способ решить проблему на уровне симптомов.

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

Обычно подобные исправления проходили долгий путь согласования и тестирования перед развёртыванием, который мог занять недели. Но разработчики Red Dead Redemption воспользовались лазейкой в архитектуре консолей того поколения.

Дев-киты Xbox 360 и PlayStation 3 предоставляли доступ к так называемому title storage – системе хранения данных, изначально задуманной для доставки на клиенты уведомлений о турнирах и внутриигровых событиях. Команда обнаружила, что через этот же канал можно развернуть исполняемый скрипт Тудиско.

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

Развязка истории пришлась на три часа ночи, когда Робертс отчитался о статусе исправления перед новым главой студии Гордоном Холлом, сменившим предыдущего руководителя. "Вот что мы делаем, вот как это разворачивается, бла-бла-бла. Но мне пора идти, потому что через несколько часов меня ждут в суде", – рассказал разработчик о разговоре с начальством.

Больше статей на Shazoo
Тэги:

Об авторе

Редактор
Говорят, что здесь нужно написать что-то про себя. Окей. Родился, вырос, любил, страдал – тут все по классике. Живу с котом, пишу про игры с 2014-го года, а на Shazoo – с 2021-го. Люблю стратегии и RPG, обожаю Morrowind и Skyrim, до сих пор поигрываю с товарищами в пятую Циву и третьих Crusader Kings. Горжусь тем, что во всех своих обзорах на стратегии (хоть и редких) писал про достоинства и недостатки, которые зацепили меня лично, а не превращал текст в пересказ пресс-релиза.