Technical challenges :
The SOFA platform was very slow to be used in video games because it was mainly aimed at the medical field where physical simulations have to be very accurate (e.g. simulation of human organs). In order to create a tool that could be used in video games, we took advantage of the fact that the precision in video games was not the same as in the medical field. This allowed us to simplify several algorithms and reduce the execution time to obtain real-time simulations in the video game context.
Furthermore, since SOFA only used advanced algorithms for fluids and deformable objects, we integrated BULLET to include the rigid object simulation part.