 (defn move-forward [amount]
   (move @player-direction amount))
 
+(defn move-vertical [amount]
+  (swap! player-position (fn [pp] (assoc pp 1 (+ (pp 1) amount)))))
+
 (def mouse-sensitivity 0.002)
 
 (defn handle-mouse []

    (move-fn key)
    (if-not @key-down-at (swap! key-down-at (fn [_] (System/currentTimeMillis))))))

(def keys-down-at
  {:a (atom nil)
   :d (atom nil)
   :w (atom nil)
   :s (atom nil)})

(defn event-move [key event move-fn]
  (let [key-down-at (keys-down-at key)]
    (handle-movement-key-up key event key-down-at)

(def player-position (atom [(float 0.0) (float 1.0) (float 10.0)]))
(def player-direction (atom [(float 0.0) (float 0.0) (float 0.0)]))
(def show-player? (atom false))
(def keys-down-at {})

(defn inc-angle []
  (swap! angle #(+ % @angle-speed)))
