Решил переделать свой арканоид и вместо собственной физики использовать 2D физический движок Farseer Physics . Это наиболее распространённый физический движок для C# ( в частности под XNA ). Подключить был довольно просто - в комплекте идёт готовый пример использования, однако сразу столкнулся с первыми трудностями. Основная проблема с которой я столкнулся - это появление исключения ArithmeticException в методе вычисления угловой скорости ( AngularVelocity ). Что самое обидное было - это то, что исключения возникало не сразу, а в процессе игры. Долгие поиски причины не привели к решению проблемы, однако путём тыка ( самый действенный метод ) ошибка была устранена. Причиной такого поведения был факт того, что я не устанавливал MomentOfInertia для создаваемых тел. В результате данный параметр вычислялся автоматически движком и очевидно его значение превышало возможности движка. В результате я выставил вручную данный параметр в 1 и ошибка больше не появлялась. Данный параметр пока...