Для создания аркадной игры с 2D графикой и реализацией столкновений одними из наилучших движков являются:
1. **Unity** - имеет отличную поддержку 2D и встроенную систему физики. Он позволяет легко обрабатывать столкновения, отражения и вращение объектов, плюс ко всему он кроссплатформенный.
2. **Godot** - открытый исходный код, поддерживает 2D и 3D, при этом Godot имеет очень оптимизированный рендеринг для 2D-игр и легкую для изучения сценарную систему. Также включает в себя систему физики.
3. **GameMaker Studio 2** - очень хорош для 2D-игр, в некоторых случаях проще в освоении, чем Unity, и также имеет встроенные инструменты физики.
Для реализации столкновений между круглыми и статичными квадратными объектами можно использовать следующий алгоритм:
1. **Обнаружение столкновения**: Вы можете использовать простой круговой коллайдер для круга и прямоугольный коллайдер для квадратов. Проверка столкновения может быть реализована с помощью стандартных методов физического движка, используемого в выбранном вами движке игры.
2. **Отражение**: Когда происходит столкновение, вычисляется нормаль точки удара на квадрате, и используя законы отражения (угол падения равен углу отражения), можно рассчитать новое направление движения круга.
3. **Сохранение скорости**: Скорость круга до столкновения учитывается при вычислении новой скорости после отражения, так что общая кинетическая энергия (и соответственно скорость) сохраняется.
4. **Добавление вращения**: Вращение можно добавить, изменяя угловую скорость круга в зависимости от точки столкновения и прилагаемой силы.
5. **Фоновая работа**: Чтобы игра работала в фоновом режиме, вам может потребоваться настроить игровой цикл таким образом, чтобы он продолжал выполняться даже при потере окном фокуса. В Unity, например, это можно реализовать через настройки Application.runInBackground.
6. **Производительность**: Оптимизация производительности зависит от выбранного движка и вашего кода. В Unity и GameMaker можно использовать различные методы оптимизации, включая объединение рендера, оптимизацию алгоритмов физики, прореживание и работа с памятью.
Учтите, что существуют различные способы достичь требуемого поведения, и в зависимости от требований вашей игры и личных предпочтений вы можете выбрать наиболее подходящий инструмент.