Just for fun, monogame with Clojure

I work in some binds to run a monogame game in Clojure CLR, which is a way to run Clojure in .NET

The code

I made a simpler sample too, just a pong https://github.com/lucasteles/clojure-clr-monogame-test/tree/pong

3 Likes

Update, now it have hot reload

1 Like

For those of us who have no clue what’s going on here, do you feel like spoon feeding what this is? Just in broad terms.

Ow yeah,

I am using a Clojure runtime interpreter for .Net, Clojure is a functional programming language based on LISP,

This POC is to use the Clojure runtime inside monogame, to do the init, update and draw routines, because it is a runtime managed by the C# I can reload it when a Clojure file is modified, creating a hot reload-ish experience, which is fast auto-restart to the game when a file changes

I did a similar thing with Lua lang, which is more famous in the game dev community

That’s pretty cool! I didn’t know that was possible. It’s looking pretty familiar.

Very cool. I downloaded latest from the repo. How do you get hot reload to work?

Incredibly interesting! I was curious if someone had used Clojure with MonoGame before, and I wound up here. Absolutely going to try my hand at this myself, too.

Would be pretty cool to see how hot-reloading works, indeed.

tagging @lucasteles :slight_smile: we’re curious if the hot reload was ever submitted?

yes,

it is here GitHub - lucasteles/monogame-clojure-hotreload at flappy-bird

I just updated the source for the newest monogame version

There is nothing special about the hot-reload, it is just a file watch that reloads the clj files inside clojure-clr