this post was submitted on 27 Apr 2024
107 points (96.5% liked)

Rust

6030 readers
1 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

[email protected]

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
107
submitted 7 months ago* (last edited 7 months ago) by [email protected] to c/rust
 

This was a really good summary of what Rust feels like in my opinion. I'm still a beginner myself but I recognize what this article is saying very much.

The hacker news comments are as usual very good too:

https://news.ycombinator.com/item?id=40172033

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 31 points 6 months ago (3 children)

It's not that the author picked Rust for scripting. All Rust game engines (e.g. Bevy) use Rust as the scripting language.

Compare this with Godot, which is implemented in C++, but supports GDScript and many other languages for scripting.

Also, only supporting Rust is not considered a limitation, but a feature here. Bevy's ECS is tied up with Rust's trait system, therefore it's impossible to use a different language.

So if Rust as a system programming language should not be used for game scripting, then projects like Bevy are fundamentally flawed. The author is willing to go there, but I don't know if many people would go that far.

There could be a Godot-like engine written in Rust that supports easier scripting languages, but I think that space is not explored due to the fact that Godot already exists.

[–] [email protected] 15 points 6 months ago

It's also worth noting that before bevy, there was a rust game engine called Amethyst, which was planning on using a scripting language for gameplay code. Not having to use a scripting language, but getting to use rust instead, was one of the big selling points of Bevy overr Amethyst.

[–] [email protected] 8 points 6 months ago

Completely agree with all those points.

The author seems to be a enthusiastic coder and made several game engines in Rust. I'm not sure why they didn't hook up some hot-reloadable scripting to their engine, call it good, and build games. Probably less work than writing this very long article :)

Yeah I would probably not use Bevy either if the only option is to write all gameplay code in Rust. It doesn't seem like the best tool for the job.

[–] [email protected] 5 points 6 months ago

Bevy's ECS is tied up with Rust's trait system, therefore it's impossible to use a different language.

Bevy has added runtime-defined systems and components to enable scripting integration in recent updates.