I normally don’t like engines, but Armory looks pretty good, because it’s based on blender, which I already know and like, and supports all programming languages using wasm.
I’m currently using rust as my main language, which is even mentioned in the wasm section, but also may want to switch to different low level programming languages, which can interface with C and compile to llvm (and so also wasm).
The wasm C API looks pretty minimal, though. It seems, when I want to use wasm components, it’s not possible to query state of the objects, at least not in an usable way.
So when wanting to write more complex things in wasm, like a physics engine (or use nphysics), the only way to run the program, I can imagine, is, having a single object, which knows about everything in the scene oneself and just sets the object transforms to new values or creates objects using the js-api.
It’s not possible to use blender animations, when I want to use my own physics engine. It’s not even possible to query the geometry of my objects, so the physics wouldn’t even work well.
Is there a way to program most of the game in a systems programming language like rust, and just use the blender/armory part for the things, I don’t want to write myself?
Or some more practical example: I have written a program to process story events in C.
I want to be able to react to events in the scene, like collisions. When you reach some place, the C program determines, depending on the place, which places are possible destinations, now, and places some objects there to show, something is going on there.
I assume, calling wasm from Haxe may help there, but I’m not sure, how. Is it even possible to call wasm modules from haxe, which also use the wasm C api of armory?