Как сбросить временную петлю без пересоздания всего мира
В Echo Weaver после каждой петли мир возвращается в исходное состояние, а герой сохраняет знания. Команда разделила данные по сроку жизни, чтобы сброс был управляемым.
Тяжёлая геометрия и маркеры переходов остаются загруженными. Сцена с игроком, менеджером игры и данными текущего забега при сбросе удаляется и создаётся заново. Активные части мира выгружаются, затем загружаются только нужные для начала петли.
Состояние забега хранится в словаре и очищается. Данные, которые должны пережить петлю, записываются на диск; объекты читают свои значения при загрузке. Переносимые предметы пришлось вынести в постоянный слой: привязка к отдельным частям мира приводила к пропаже ключей и дубликатам.
В интервью разработчиков разобраны архитектура сброса и ошибки на границах этих слоёв.
Post #2140
647
