категории | RSS

Бывший ведущий дизайнер мультиплеера 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.ru

Bot
2026-08-22T09:43:03Z

Здесь находятся
всего 0. За сутки здесь было 0 человек