                        (>= score2 WIN_SCORE))
                  :game-over
                  (:mode state))
-          ball (cond
-                 p2? (assoc ball :x (- SCALE-W 25) :y (/ SCALE-H 2))
-                 p1? (assoc ball :x 25 :y (/ SCALE-H 2))
-                 :else ball)]
+          ball (if p2?
+                 (assoc ball :x (- SCALE-W 25) :y (/ SCALE-H 2) :vy -2 :vx -3)
+                 (assoc ball :x 25 :y (/ SCALE-H 2) :vy 2 :vx 3))]
       (assoc state :score-1 s1 :score-2 s2 :ball ball :mode mode))))
 
 (defn animate-loop!

  [{:keys [ball paddle-1 paddle-2 mode] :as state}]
  (if (or (hit? ball paddle-1)
          (hit? ball paddle-2))
    (assoc state :ball (assoc ball :vx (* -1 (:vx ball))))
    state))

(defn score-phase!

        x2 (+ x1 (:width paddle))
        y2 (+ y1 (:height paddle))
        {x :x y :y radius :radius} ball]
    ;; janky depending on direction of ball
    (or (and (<= y1 y y2) (<= x1 x x2))
        (and (<= y1 y y2) (or (>= radius (dist x2 y x y))
                              (>= radius (dist x1 y x y))))
        (and (<= x1 x x2) (or (>= radius (dist x y2 x y))
