-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gluon #317
Comments
See #142 for external scripting initiatives. Built-in scripting appears to be a non-goal for bevy #114 (comment) . Gluon is certainly nice though ^^ |
There were some really good thoughts in this comment on another issue from @cart regarding a development process for "big new features": #179 (comment) |
I can see your concern and I read the linked articles. Here my thoughts: Gluon does violate none of the mentioned issues that cart has with the scripting approach; It mearly solves it, since people will otherwise split the investments into Bevy and its forcasted forks:
Gluon is not breaking the ecosystem in this way. |
@ShalokShalom from @cart 's post in the Amethyst community: Exhibit A:
Which means that you should create a Gluon plugin by any means, but it won't land in the Bevy repository (soon) unless you find very strong reasons or @cart changes their mind. In my mind it will probably play out in a way that someone creates a third-party plugin and at some point most Bevy users use that one and nothing else, at which point it might become official. So you should push Gluon to become that one plugin everyone uses. Exhibit B:
There will probably only be one language, so you should compare Gluon to other viable options and explain why Gluon is so much better than them in a non-emotional way. Keep in mind that while Gluon is a great language, there are other candidates, too, and finding the most optimal one and ultimately making the decision to offer it officially is a very hard and probably also emotional choice. |
Objectively, Gluon is more an abstraction layer on top of Rust, less an own language. That is the property which I think could serve us as orientation. Subjectively, I love the meta language heritages that it shares with OCaml, Haskell and Rust, including all its benefits and the simple syntax. Personally, I think that are good properties for a scripting language on top of a stable framework of an engine, that has shown the intention, to provide pragmatic and concise solutions. |
I would be more interested in allow users to more easily create plugins for scripting. Not everyone likes or wants to use gluon. I want to try and add a scripting plugin for wren. There is an issue open here about working towards that goal: |
Wouldn't you say Rhai fits that description better? While it has some quirks like closures being implemented as anonymous curried functions, it is more Lua-like than Gluon in at least one major way - it's dynamic (if that's a plus or a minus is up for debate, I assume). Its syntax is also simpler and rustier in my opinion. |
If we get into language comparisons I'm afraid we'll steer this issue way out of course (fun as it may be!). The issue seems resolved to me, as per @minecrawler's response:
|
I am fine with multiple attempts and also with a global platform for those. While the goal of this issue to discover the usability of Gluon for this purpose and not the personal preference of some individuals. |
And the resolution is that there’s nothing we can discuss here that will do a better job of usability-discovery than an actual Proof of Concept in code |
Gluon is an embeddable scripting language, very much what Lua is to Cpp, just for Rust. It is very similar to the ML-derived languages and has interesting properties, like calling Rust functions and so on..
I think thats a great scripting option for Bevy
Github
The text was updated successfully, but these errors were encountered: