I would have attempted to replicate the paddle behavior of the original, talking about the angle that the ball bounces off of the paddles. Counter intuitively, you are supposed to remove the ball's y axis velocity whenever it bounces off a paddle, and just use the y position of the paddle relative to the ball to make a new y velocity. Also, running a paddle into the wall causes it to rotate. Not sure why the paddles move in steps either.