clojure 2026-03-25

Is JVM clojure suitable for a game engine? JVM has ZGC and shenandoah for low-latency applications like games. A JVM clojure game engine can probably embed SCI for game mods. Overwatch embeds OverPy for weapon scripting. Games don't necessarily need to load very fast. Once launched, they run for hours.

best JVM example I can think of is https://github.com/anuken/mindustry played it, loved it - runs on desktop + mobile, open source + https://mindustrygame.github.io/wiki/modding/3-scripting/. if you like Factorio you'll be hooked

would be a slick project to try and hook a REPL into a running version of Mindustry - this https://www.juxt.pro/blog/repl-driven-minecraft/ with Java implementations of the Minecraft server

👀 1

I remember seeing a post talking about how we could probably do "pure software rendering" a lot faster than we did in the past. If I was to make a game engine on the JVM I might aim for the retro aesthetic and start there

Been awhile since I researched this space but I recall the jMonkey engine being a solid choice for Java. https://jmonkeyengine.org/

👀 1

I've been exploring gamedev in clojure. Though the scale of games that I make is not yet sufficient to tell whether I can answer your question. So far my exploration has been smooth sailing. You should check out #clojure-gamedev! I and many others shared gamedev things from time to time there

Don't forget, the JVM has excellent FFI access now so you can do things like this https://mccue.dev/pages/12-26-24-sdl3-java

I know of two "production" game made with clojure. Maybe there are more Space Flight Simulator: https://github.com/wedesoft/sfsim Wizard Master: https://github.com/ertugrulcetin/wizard-masters Just for reference of what is capable now

Why not use vulkan? Vulkan can do 2D and 3D. SDL does only 2D.

> Why not use vulkan? If you need only 2D, if you already know SDL and it fits your needs. For a bare-bones Vulkan project, IIRC you need something like 1.5 kloc, with a suitably large amount of learning. It's very low-level with a lot of details the vast majority of devs don't want to care about. But I've heard it's very good once you learn it and once you have all the boilerplate you might need that you can just copy-paste around.