Open rodrigocam opened 4 years ago
I and @pablodiegoss are working in a scripting system that can be customized to accept multiple languages for Amethyst Game Engine as our undergraduate thesis. Maybe the solution we are developing can be used here, we definitely can try to implement this!
That's definitely an interesting idea. I think I need to consider the best approach; offering it as an option at the bracket-lib
level makes it available to projects that use it, which is great - but I also need to avoid constraining the choices made available to the user too rigidly (I have users going with Specs, Legion, and various other setups - don't want to make them miserable!).
but I also need to avoid constraining the choices made available to the user too rigidly (I have users going with Specs, Legion, and various other setups - don't want to make them miserable!).
Sure, but it also doesn't seem unreasonable to just concede that scripting utilities (which is just an added bonus after all, not critical to use bracket-lib) will only work with a certain type of setup. As long as scripting is guaranteed to work with the default setup that 50-80% of users will want, it'll serve the majority of bracket devs well.
Absolutely! The question in my mind is more "where does it go in the stack". It needs to retain some platform abstraction, or be tied to a back-end; the former is much nicer to work with, but much harder to write scripts for. In an ideal world, some kind of hook to the actual back-end would be really nice to have (I'm working on a generalized, non-scripted form of that right now).
I just found someone's toy language: https://github.com/JohnBSmith/moss Not 100% sure if it works in WASM target, but I like the simple syntax.
Being a Lisper, I am (of course) quite partial to https://github.com/murarth/ketos (written in Rust; installable with cargo
;-) ).
Since I last wrote, we have two candidates that apparently work in WASM too: https://gamelisp.rs/ and Rhai https://github.com/jonathandturner/rhai
A scripting system allows game customization without recompile rust code, improving speed on the game testing.
It would be good if: