 )
 
 (def acceleration 100.0)
-(def efficiency 0.7)
 (def angular-acceleration 10.0)
+
+(def player-efficiency 0.7)
+(def bullet-efficiency 0.5)
+(def bullet-acceleration 200)
+
 (def width 640)
 (def height 480)
 (def fire-delay 0.3)
-(def bullet-velocity 100)
 
 (defn do-mod [coll func v]
     (dosync (alter coll (fn [x] (apply func [x v])))))

                :time new-time
                :time-step time-step
                :player (player-step (:player state) time-step keys-pressed)
                :asteroids (map (fn [a] (asteroid-step a time-step)) (:asteroids state))
                :bullets
                    (map (fn [b] (bullet-step b time-step))
                        (concat
                            (if spawn-new-bullet
                                [(new-bullet (:player state))]
                                [])
                        (:bullets state)))
                :next-fire-time
                    (if spawn-new-bullet
                        (+ new-time fire-delay)

                (assoc player
                    :av (+ (:av player) (* time-step angular-acceleration)))
                player)

        player
            (step-thing player time-step)
        ]
    player))

(defn new-bullet [player]
    (assoc player
        :eff bullet-efficiency
        :acc bullet-acceleration
))

(defn game-step [state keys-pressed]
    (let [
