Nightmod - Rapid development live-coding game specific IDE

https://nightmod.net/

Ok, ok. So it’s not Java, but it is libGDX (actually play-clj) and I figured some here might be interested. A bit late, but it looks promising for ludlum dare.

Some quick excerpts to pique your interest:

[quote]Nightmod is a tool for making live-moddable games. You can view a game’s code while it’s running and inject changes by simply hitting “Save”.
[/quote]

[quote]Nightmod is a marriage between Nightcode, a Clojure IDE, and play-clj, a Clojure game library based on libGDX. Think of it as a Clojure game IDE.
[/quote]

[quote]When you run Nightmod, you’ll see a list of game templates: Arcade, Platformer, Orthogonal RPG, Isometric RPG, Barebones 2D, or Barebones 3D. Each will start you off with a simple game that you can begin modifying. Check out the tutorial to learn the basics.
[/quote]
The cool thing about it is the combination of live-coding, premade templates, and the fact that there is quite little code. For instance, the 2D Physics demo is 113 lines in it’s entirety.
Seems like it should be good for whipping up a game real fast in LD or another jam. Plus distribution is a cinch with libGDX being the back end.

For a taste, here’s defining a Screen with an FPS counter label:

(defscreen text-screen
  :on-show
  (fn [screen entities]
    (update! screen :camera (orthographic) :renderer (stage))
    (assoc (label "0" (color :white))
           :id :fps
           :x 5))

  :on-render
  (fn [screen entities]
    (->> (for [entity entities]
           (case (:id entity)
             :fps (doto entity (label! :set-text (str (game :fps))))
             entity))
         (render! screen)))

  :on-resize
  (fn [screen entities]
    (height! screen 300)))

You can see bits of the underlying libGDX in there, it’s all quite interesting what has been done.