For Clojure enthusiasts, I highly recomment Zach Oakes' environment in the same vein, Nightmod (his Nightcode IDE specialized with his play-clj library). It's an experimental platform that is a tidy, simple way to experience game programming in a functional style.
https://nightmod.net/
Also, here is his presentation on this subject at the last Conj (great talk): https://www.youtube.com/watch?v=0GzzFeS5cMc