         (.setColor g (Color/BLACK))
         (let [rect (.getClipBounds g)]
             (.fillRect g (.x rect) (.y rect) (.width rect) (.height rect)))
-        (draw-player (:player state) g)))
+        (draw-player (:player state) g))
+        (doseq [a (:asteroids state)] (draw-asteroid a g)))
 
 (defn create-component [game-state]
     (doto

                player)
        eff
            (Math/pow efficiency time-step)

        player
            (assoc player
                :x (mod (+ (:x player) (* (:xv player) time-step)) width)
                :y (mod (+ (:y player) (* (:yv player) time-step)) height)
                :a (mod (+ (:a player) (* (:av player) time-step)) (* Math/PI 2.0))
                :xv (* (:xv player) eff)
                :yv (* (:yv player) eff)
                :av (* (:av player) eff))]

        player))


(defn game-step [state keys-pressed]
    (let [new-time (now) time-step (- new-time (:time state))]
        (assoc state
            :time new-time
            :player (player-step (:player state) time-step keys-pressed))))

(defn create-game []
    (let [

            (.fill g (player-shape))
            (.setTransform g old-transform))))

(defn asteroid-shape [radii]
    ((fn [p r a ai]
        (if (empty? r)
            p
            (recur
                (doto p
                    (.addPoint
                        (* (Math/cos a) (first r))
                        (* (Math/sin a) (first r))))
                (rest r)
                (+ a ai)
                ai)))
        (new Polygon)
        radii
        0.0
        (/ (* Math/PI 2.0) (count radii))))

(defn draw-asteroid [asteroid g]
    (do
        (.setColor g (Color/GRAY))
        (let [old-transform (.getTransform g)]
            (.translate g (:x asteroid) (:y asteroid))
            (.rotate g (:a asteroid))
            (.fill g (asteroid-shape (:radii asteroid)))
            (.setTransform g old-transform))))

(defn game-render [state g]
    (do
        (.setRenderingHint g
