Готовое взять не предлагать, хочется сначала разобраться в подкапотстве.
Когда объект летит со страшной скоростью, а у движка фиксированный шаг времени, в который движок счититает, то летящий объект может перешагивать некоторые объекты. Можно наблюдать во многих гамесах, когда грузовик застревает наполовину в стене и адово дёргается в конвульсиях. Но у меня вопрос про 2D, хотя математически один хре.
Есть какой-то альтернативный подход к запилу физических движков, когда движок работает на каких-то континуумах, типа пересекает луч движения с объектами и физически ничего не может пропустить? Скажем, выполнять рассчёт периодически, но от прошлой точки до текущей линию луч и искать всё что он мог потенциально пересеч, а потом сортировать по близости от старой точки и пересекать с ближайшим. А если объект имеет габариты, то как послать «широкий» луч? А если объект ещё и вращается, т.е. проекция на перпендикулярную лучу движения плоскость постоянно меняется? Вращаясь, он мог вполне законно пролететь узкой гранью в какой-то узкий коридор, а потом чуть повернуться и во второй такой коридор уже не вписаться.
Посоветуйте куда копать, причём с учётом почти полного дерева в физике. Что такое дифуры, например, знаю чисто теоретически, не применял никогда.