Создатель The Outer Worlds рассказал о «самом сложном баге в жизни»
В The Outer Worlds до недавнего времени наблюдался забавный баг, когда компаньоны героя умирали без видимых причин, причём делали они это не в бою, а в полной безопасности на космическом корабле, являющемся чем-то типа домашней базы, где никто гибнуть не должен в принципе.
Так вот, эту ошибку разработчики не могли исправить в течение двух месяцев, что вызывало недовольство в геймерских кругах. Но теперь, когда на днях игра получила таки исправляющий патч, один из сотрудников Obsidian Entertainment, Тейлор Своп, раскрыл подробности борьбы с той проблемой.
Мистер Своп назвал этот баг «самым сложным за всю его жизнь», из-за которого ему пришлось проверить буквально каждую строчку кода игры. Понять, почему компаньоны гибнут в ситуации, когда им ничто не угрожает, было непросто. Основная версия состояла в том, что персонажи разбивались при падении. Но найти места, где подобное было возможно, ибо корабль оказался небольшим и тесным – не удалось. А затем, кто-то сказал, что его союзник погиб при попытке использовать лестницу. Это дало почву для новой теории, которая в итоге оказалась верной.
Выяснилось, что всему виной взаимодействие компаньонов с предметами, обозначенными в игре как мебель. Дело в том, что под «мебель» подпадали многие предметы, напрямую с мебелью не связанные, типа лестниц. И в коде игры имелась запись о том, что NPC запрещено каким-либо образом взаимодействовать с мебелью, что в некоторых случаях и вызывало тот самый глюк, который теперь, к счастью, устранён.
The problem was that using a ladder is considered *two* different furniture interactions: one for getting on the ladder and starting to climb, and one to stop climbing and get off (17/18)
— Taylor Swope (@_taylorswope) 12 декабря 2019 г.