Движущаяся платформа
Поверхность, которая движется и должна увозить с собой всё, что на ней стоит, — один из самых недооценённых источников багов в платформерах.
Суть проблемы: игрок стоит на объекте, который движется, хотя сам игрок не двигается. Преобладают два подхода: временно сделать персонажа дочерним объектом платформы в графе сцены либо прибавлять к его позиции смещение платформы за кадр. Оба требуют знать, что персонаж действительно стоит на платформе, а не просто задел её край.
Классическая ошибка — порядок обновления. Если сдвинуть персонажа раньше платформы, он отстаёт на кадр: проваливается в поверхность или дрожит на ней. Платформы, опускающиеся быстрее гравитации, оставляют игрока парить в воздухе, а разгоняющиеся вбок вынуждают решать, наследует ли прыгающий игрок их скорость. Сама платформа почти всегда — кинематическое тело: лифт, который игрок может столкнуть с пути, — плохой лифт.