 
       [:button/press :A]
       (assoc-in this [:bombs]
-        (conj bombs {:center cursor-position :age 0}))
+        (conj bombs {:center cursor-position :age 0 :speed 0.00001}))
+
+      [:button/press :B]
+      (assoc-in this [:bombs]
+        (conj bombs {:center cursor-position :age 0 :speed 0.00003}))
+
+      [:button/press :X]
+      (assoc-in this [:bombs]
+        (conj bombs {:center cursor-position :age 0 :speed 0.00006}))
+
+      [:button/press :Y]
+      (assoc-in this [:bombs]
+        (conj bombs {:center cursor-position :age 0 :speed 0.00012}))
 
       this))
 

    [this pixel]
    (do
      #_(log/warn pixel bombs)
      (let [bomb-colors (map (partial bomb-color barrel-radius pixel) bombs)
            cursor-delta (distance barrel-radius (:barrel pixel) cursor-position)
            cursor-color (if (< cursor-delta 0.04) (color/gray 1.0) color/none)]
        (overlay (conj bomb-colors cursor-color))))))

      [:time/tick nil]
      (let [elapsed (or (:elapsed event) 0.0)]
        (assoc this :bombs
          (mapv (fn [bomb]
                 (let [age' (+ (:age bomb) elapsed)]
                   (assoc bomb :age age')))
                (filter #(< (:age %) 10000) bombs))))

      [:axis/direction :y-axis]
      (assoc-in this [:cursor-position :z]
