The OBBs have a position(x,y), a velocity(x,y) and an orientation(Matrix). Given periodic updates, the OBBs must collide with each other, returning the fraction of the move tha
You probably should implement a quadtree (see wikipedia) to keep track of all the objects on the plane. I unfortunately have never implemented one for collision detection, but it seems that other people have been able to create similar scenarios to yours using quad trees.