rust-ecosystem
gdnative
rust-ecosystem | gdnative | |
---|---|---|
10 | 93 | |
890 | 3,627 | |
0.7% | 0.3% | |
5.5 | 6.1 | |
7 months ago | 3 months ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rust-ecosystem
-
Rust GPU Transitions to Community Ownership
It looks like they're still actively maintaining a bunch of rust crates, and they're still developing Wim (their blobby Roblox competitor written in rust).
They have pulled back from the rust ecosystem quite a bit though since repi (their former CTO) left shortly after The Finals released. They stopped all their FOSS sponsorships, and there was [this PR](https://github.com/EmbarkStudios/rust-ecosystem/commit/61f0e...) which definitely doesn't inspire confidence.
-
Homegrown Rendering with Rust
Notice the (2021).
Read the change in which Embark's CTO backs off from Rust.[1] They were building their own rendering ecosystem, but seem to have backed off from that.
The mainstream Rust 3D ecosystem just isn't good enough yet. I've brought this up before.
The core crate for 3D is WGPU. This is a layer which tries to cover Vulkan, Metal, OpenGL, DX12, Android, and WebGPU targets. It works, but there are performance compromises to support all those different targets. Supporting web and Android means giving up some parallelism on desktop.
The main alternative to WGPU is Vulkano, and MoltenVK, which is an adapter for Apple's Metal. (Apple just had to Think Different, which is why many games are not ported to MacOS.) It's OK, but it's really just a subset of Vulkan on top. Same parallelism problem, although not for any essential reason.
All those offer a Vulkan-type API, which is rather low level. The caller has to manage GPU memory and scheduling. For that, there's Bevy, which is a whole game engine framework. Good work has been done in Bevy, but it's a framework, so you do it their way or not at all. There's Rend3, which is just a crate to manage memory and scheduling. I use that. It's been abandoned. I may have to take up maintaining that.
Nobody is pushing these towards maximum performance and quality. Nobody has a good modern big-world 3D shooter on these stacks.
All this stuff works fine if you're doing simple scenes. If you're pushing towards, say, the level of a 10 year old AAA title, it's not there. Modern Unreal Engine, not even close.
Not enough money behind it.
[1] https://github.com/EmbarkStudios/rust-ecosystem/commit/61f0e...
- 3 years of fulltime Rust game development, and why we're leaving Rust behind
-
Rust – Are We Game Yet?
These are issues that I'm aware of that are "tracking" the status of Rust on console:
* <https://github.com/rust-gamedev/wg/issues/90>
* <https://github.com/EmbarkStudios/rust-ecosystem/issues/18>
I say scare quote tracking because due to the nature of console NDAs it's unlikely you'll see much if any useful details in an open public forum.
The issues aren't dissimilar to those facing Godot (although it has the benefit it's able to use existing C++ compilers) and the project has previously outlined some of the issues involved:
* <https://docs.godotengine.org/en/4.0/tutorials/platform/conso...>
* <https://godotengine.org/article/godot-consoles-all-you-need-...>
The current "solution" seems to be console-related development activity occurring via the recently established W4 Games (https://w4games.com/2023/02/28/godot-support-for-consoles-is...) but that's obviously never going to be openly developed without console platform approval (same as any other game engine).
- Useful Clippy lint rules outside of defaults?
- More use of Rust is inevitable in open source software
- How I got involved in the Rust community
-
What's the advantages of Rust over C/C++ today ? Is it possible to create the best 3d engine in Rust or a AAA game like Elden Ring, FF7 remake, GTA etc with it ? If it's possible why it asn't been done yet ?
Some companies are betting on Rust, like Embark Studio (though I'm not sure their next big game, ARC Raiders, is actually fully based on Rust... but it will come !)
-
Why haven't the community created an open-source version of this game?
Next generation uses Rust https://github.com/EmbarkStudios/rust-ecosystem
- Embark Rust Ecosystem
gdnative
- Can someone explain how exactly are multiple languages supported in a single game engine
- Will rust ever become a first class citizen in Godot?
-
Non web-based crossplatform GUI frameworks focused on security
It's a little less standard use, but Godot has been used to build application guis, which could be paired with rust bindings to implement app logic. I can't speak to reproducibility/scalability, but Godot's ui is extremely solid, and I'd probably choose that over Bevy until Bevy's ui progress matures.
-
What is Rust's potential in game development?
Adding onto this, I successfully written a game in Godot using gdnative / gdext. I started with a split approach using gdscript and rust for CPU intensive but found that the API layer was slow at transferring large amounts of data (serialization?). I ended up rewriting it in all rust and it worked like a charm. I was able to target native and web assembly, the web assembly was much slower but worked on the browser.
-
Why is it so difficult to learn to use Bevy?
Check this: https://github.com/tomuxmon/bevy_roguelike if you are still into bevy. Scheduling is a bit bork and I have not found time to port it to latest bevy. But most of the systems should work fine(if used on latest bevy). But again. If you want faster result go with something like Godot. In fact, just go with Godot. It is mature, easy to start, no lock in(free and MIT license), a lot of learning material. Also with Godot you can also use Rust https://godot-rust.github.io/. Ditch Unity (do not have time to explain 😅). Have fun!
-
GDScript is fine
Bevy Godot-Rust
-
Rust – Are We Game Yet?
> Same for Godot.
While likely true that it's "Unlikely to ever be as supported" as the 4 officially supported languages[0] ("GDScript, C#, and, via its GDExtension technology, C and C++."), Godot's GDExtension technology is specifically intended for use in adding support for other languages.
The most relevant tracking issue for Rust is presumably:
* <https://github.com/godot-rust/gdnative/issues/824>
Which links to:
* <https://github.com/godot-rust/gdextension>
[0] https://docs.godotengine.org/en/4.0/getting_started/step_by_...
-
OK so whose gonna tell them
...Godot v3.x has Rust support via godot-rust and Godot v4.0 is released as of this month?
-
Godot 4.0 is out
I was curious, and looked it up. Nothing built in, but there's an interesting project that works with godot: https://godot-rust.github.io/
-
There's the Rust Player still going wrong subreddit?
There's people working on it: https://godot-rust.github.io/
What are some alternatives?
downlords-faf-client - Official client for Forged Alliance Forever
bevy - A refreshingly simple data-driven game engine built in Rust
rx - 👾 Modern and minimalist pixel editor
Godot - Godot Engine – Multi-platform 2D and 3D game engine
gdextension - Rust bindings for Godot 4 [Moved to: https://github.com/godot-rust/gdext]
RG3D - 3D and 2D game engine written in Rust [Moved to: https://github.com/FyroxEngine/Fyrox]
sqlite3-ocaml - OCaml bindings to the SQLite3 database
macroquad - Cross-platform game engine in Rust.
oxidator - RTS game/engine in Rust and WebGPU
wgpu - A cross-platform, safe, pure-Rust graphics API.
wg - Coordination repository of the Game Development Working Group
veloren - An open world, open source voxel RPG inspired by Dwarf Fortress and Cube World. This repository is a mirror. Please submit all PRs and issues on our GitLab page.