Learning How to Solve Bubble Ball
  "Bubble Ball" is a game built on a 2D physics engine, where a finite set of
objects can modify the motion of a bubble-like ball. The objective is to choose
the set and the initial configuration of the objects, in order to get the ball
to reach a target flag. The presence of obstacles, friction, contact forces and
combinatorial object choices make the game hard to solve. In this paper, we
propose a hierarchical predictive framework which solves Bubble Ball.
Geometric, kinematic and dynamic models are used at different levels of the
hierarchy. At each level of the game, data collected during failed iterations
are used to update models at all hierarchical level and converge to a feasible
solution to the game. The proposed approach successfully solves a large set of
Bubble Ball levels within reasonable number of trials. This proposed framework
can also be used to solve other physics-based games, especially with limited
training data from human demonstrations.
