Defines a game. This should only be called once.

Source
(defn defgame*
  [{:keys [on-create]}]
  (proxy [Game] []
    (create []
      (when on-create
        (on-create this)))))
(defmacro defgame
  [n & {:keys [] :as options}]
  `(defonce ~n (defgame* ~options)))