         :eff player-efficiency
         :sparkle-color Color/RED}
     :next-fire-time (now)
-    :asteroids (take 10 (repeatedly generate-asteroid))
+    :asteroids
+        (take 10 (repeatedly #(generate-asteroid (rand width) (rand height) initial-asteroid-size)))
     :sparkles []
 } )
 

(def sparkle-kick-velocity 1.0)
(def sparkle-amount 0.3)
(def sparkle-limit 200)

(def width 640)
(def height 480)
(def fire-delay 0.3)

(defn do-mod [coll func v]
    (dosync (alter coll (fn [x] (apply func [x v])))))

        p (:poly asteroid)]
        (.contains p x y)))

(defn average [radii]
    (/ (apply + radii) (count radii)))

(defn split-asteroid [asteroid]
    (let [current-radius (average (:radii asteroid))]
        (filter (fn [ast] (>= (average (:radii ast)) smallest-asteroid))
            [
                (generate-asteroid (:x asteroid) (:y asteroid) (* current-radius 0.6))
                (generate-asteroid (:x asteroid) (:y asteroid) (* current-radius 0.4))
            ])))

(defn filter-collisions [bullets asteroids]
    [
        (filter
