Что: 9ed1a1bfe3dab87bf679a681d7071371faa1d4d8
Когда: 2023-11-01 22:24:31+03:00
Темы: game
Непроходимая комната E1M8 в Doom https://www.youtube.com/watch?v=Urh_botbjRQ
From: kmeaw Date: 2023-11-02 06:04:14Z Zero Master добился ещё одной интересной вещи на E1M8 - он смог компьютерным перебором найти последовательность действий (которые на практике может повторить человек), приводящую к ошибке intercepts overflow, которую ещё называют "all-ghosts effect". В движке есть оптимизация, позволяющая не проверять столкновение каждого объекта с каждым - на карту накладывается сетка (blockmap), и столкновения проверяются только в пределах одной ячейки. Если столкновение было обнаружено, то оно помещается в массив intercept_t intercepts[MAXINTERCEPTS]. В DOS версии рядом с концном этого массива лежат переменные, хранящие атрибуты blockmap. Если их испортить, то движок потеряет возможность проверять столкновения объектов - все (и игрок, и монстры) получат возможноть проходить сквозь стены. Почти на всех уровнях это приводит к невозможности их пройти, так как нажать на кнопку выхода тоже не получается. Но на E1M8 это не нужно - достаточно просто добежать до последней комнаты, не обращая внимания на препятствия, что и дало ему возможность поставить рекорд в категории UV speed в 17 секунд примерно полтора года назад.
Сгенерирован: SGBlog 0.34.0