Если вам все, что вам нужно для симуляции, это сферы / круги и кубы, тогда все, что вам нужно, это немного математики вектора.
Например, для симуляции простой игры в пул каждый шар (сфера) будет иметь положение, 3d линейную скорость и 3d вектор линейного ускорения. Ваша симуляция будет включать много маленьких кадров, которые постоянно обновляют каждый мяч. Если два или более шарика сталкиваются, вы просто суммируете векторы и вычисляете новые скорости для всех шариков. Например, если мяч касается стены, все, что требуется, - это перевернуть знак шара, чтобы он отскочил назад ...