This is the best way I have found to do collision response. The circles use raycasts to detect where they are hit in each direction and push away from the direction they collide in. The top switch shows the points of collision and the bottom switch shows the rays. The circles will bounce away from the direction they are hit based on how far inside that object they were the previous frame and may have problems getting stuck in corners with the mouse pointer. I am working on adding gravity and adding the forces in the same direction together to make the lists shorter.