Почему Pac-Man ломается на последнем уровне
В оригинальной аркадной игре Pac-Man предусмотрено 256 уровней. Но счётчик уровня хранится в одном байте — ячейке памяти, способной представить значения от 0 до 255. Когда игра пытается перейти дальше, число 256 уже не помещается в этот формат. Вместо корректного номера возникает переполнение, и логика, которая строит экран уровня, получает неподходящие данные.
Как ошибка превращает лабиринт в набор символов
На 256-м уровне игра должна нарисовать обычный лабиринт и расставить точки, но сбой в вычислениях затрагивает данные, используемые для его отображения. Поэтому правая часть экрана покрывается бессмысленными буквами, цифрами и фрагментами графики. Это не секретная финальная сцена и не задуманный бонус: игра попросту неверно обрабатывает номер уровня.
При этом сбой не обязательно сразу останавливает игру. Левую часть лабиринта ещё можно пройти, а справа остаётся хаотичное изображение. Если собрать все доступные точки, завершить этот уровень обычным способом уже нельзя: экран победы не появляется, потому что такого выхода для переполненного счётчика разработчики не предусмотрели.
Предел, заданный памятью
В аркадных играх того времени память была тесным инженерным ограничением: экономить приходилось и на графике, и на данных. Счётчик на один байт был достаточен для всех задуманных уровней — и случайно обозначил предел, за которым программа переставала работать как следует. Поэтому идеальное прохождение Pac-Man приводит не к торжественному финалу, а к наглядной встрече с границей, встроенной в код.






