clojure-gamedev

tatut 2024-03-14T11:18:27.367879Z

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

Daniel Gerson 2024-03-19T14:35:05.872889Z

Oh that's interesting. Do you know where those bindings are located?

selfsame 2024-03-19T15:14:01.674319Z

Try here https://github.com/tristanstraub/thecreeps-godotclj, the binding repo seems to be down though, not sure what happened there

👍 1
tatut 2024-03-26T07:18:14.160589Z

do you plan to use graalvm to compile native or to ship jvm with a godot project?

3starblaze 2024-03-26T08:01:19.886139Z

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.

👍 1
Daniel Gerson 2024-03-26T08:22:00.579359Z

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.

3starblaze 2024-03-26T08:27:31.148069Z

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.

3starblaze 2024-03-25T13:22:21.028519Z

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.

💯 3
3starblaze 2024-03-25T13:25:07.015629Z

I have managed to call a Godot function through Clojure via C which means that it's just fiddling with data at this point.

tatut 2024-03-25T13:26:57.059689Z

using JVM Clojure or CLR?

3starblaze 2024-03-25T13:27:08.208509Z

JVM

tatut 2024-03-25T13:27:58.660589Z

I wonder if jank-lang would be a good fit, as it apparently has interop to C++

3starblaze 2024-03-25T13:29:38.202779Z

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).

3starblaze 2024-03-25T13:31:40.623939Z

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.

selfsame 2024-03-15T15:33:39.947339Z

@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.

❤️ 6
selfsame 2024-03-15T15:35:12.106559Z

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.

pfeodrippe 2024-03-14T04:33:02.168969Z

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

😲 1