Когда скорость ломает привычные координаты
Super Mario 64 рассчитывает движение Марио не непрерывно, а шаг за шагом — кадр за кадром. На каждом шаге игра обновляет скорость и положение персонажа, а затем проверяет, что находится рядом: пол, стену, платформу или край уровня. Обычно эти вычисления согласуются, и Марио оказывается там, где ожидает физический движок.
Но числа в компьютере хранятся с конечной точностью. Число с плавающей запятой похоже на запись с ограниченным количеством значащих цифр: чем больше величина, тем грубее может быть шаг между соседними представимыми значениями. При экстремальной скорости Марио за один кадр пролетает большое расстояние, а округления начинают заметнее влиять на вычисленное положение.
Почему возникают «несколько сеток»
Игра использует координаты не для одной-единственной задачи: положение персонажа нужно сопоставлять с геометрией уровня и проверками столкновений. Если из-за округления или огромного перемещения эти вычисления дают несовпадающие результаты, движок может обработать Марио так, будто он находится в разных местах относительно разных частей мира. Это не буквальные параллельные версии уровня, а сбой согласования координат и физики.
Для обычной игры такие расхождения почти незаметны: скорости невелики, и соседние проверки дают ожидаемый результат. Но при экстремальном разгоне небольшой численный сдвиг способен изменить, какую поверхность игра считает ближайшей или пересёк ли Марио границу. Поэтому персонаж может вести себя так, словно одновременно принадлежит нескольким координатным сеткам: математическая условность превращается в видимый игровой глитч.






