what’s the status of using Clojure in commercial game engines? there was a Unity integration with Arcadia back in the day, that doesn’t seem very active at least, how about Unreal Engine or Godot? are there any experiments on integrating with those
Oh that's interesting. Do you know where those bindings are located?
Try here https://github.com/tristanstraub/thecreeps-godotclj, the binding repo seems to be down though, not sure what happened there
do you plan to use graalvm to compile native or to ship jvm with a godot project?
My current plan is to assume that the end user has JVM and then bundle everything else as a jar. My current focus is to get godot-clojure running on dev env on linux and after that is done, I can think about exporting. I have heard about GraalVM several times but I am not too familiar with it, so right now I am not planning to support GraalVM.
Supporting Clojure (depends on reflection) means you won't be able to support GraalVM (no reflection), unless you have a mode to precompile the Clojure program. That's why Babashka uses the small clojure interpreter and GraalVM to get around this.
If someone made a complete game in Clojure and decided to publish it, they could theoretically compile to GraalVM, wouldn't they? Since I don't know much about it, I don't plan to support it (at the moment) but if someone has some resources that could help me understand the pros and cons, I would be happy to support GraalVM.
Hey, I used to contribute to godotclj and right now I am building the integration from scratch in https://github.com/3starblaze/godot-clojure/tree/master Right now I am at a rather early stage but the integration should come eventually. Ideally a usable version should be available this summer.
I have managed to call a Godot function through Clojure via C which means that it's just fiddling with data at this point.
using JVM Clojure or CLR?
JVM
I wonder if jank-lang would be a good fit, as it apparently has interop to C++
I have handled the interop, it's just Clojure code at this point. Even though Godot is in C++ the interop API is in C so I don't need the extra stuff (unless jank also handles C well).
At the moment I am packing the data about the C API, so that whenever I call something, I don't get an accidental segfault because of passing a wrong type.
@tatut I work on the Godot integeration https://github.com/arcadia-unity/ArcadiaGodot, works great with Godot 3.x, the 4x branch is slowly coming along, might be ready this year.
There were also Godot clojure integrations being worked on at some point using Graal, Java bindings, and a javascript/cljs thing, haven't played with them though.
I want to get used to some 3d modeling tool... but the one I've started to learn about (Blockbench) is made in JS and, ofc, the desire to REPL it was too strong. Check it in the videos below. Code for the interaction is at https://github.com/pfeodrippe/blockbench/pull/1/files, thankfully it's very straightforward to local dev this project, so you can check it out yourself as well \o