Rust is a good language for gamedev, it's low-level, performant, but also guarantees at compile time that you are not making mistakes in the memory management.
No more data races, undefined behaviours, null pointers, and more, while still retaining C++ level performance.
Doesn't that sound good?
It's only natural then, even though Rust is so young, that the open source game engine ecosystem in Rust is quite florid, and that many people interested in cutting edge gamedev tech are developing their experiments in Rust.
The most mature, and most popular libraries are from the Piston project, then there are Amethyst, an actual game engine WIP, and Anima, another one, which have each got their own interesting experimental bits.
A project to develop a modular game engine, basically many small, useful libraries that can be used together.
A few of them:
- Dyon - dynamically typed scripting language
- conrod - Immediate UI
- piston2d-graphics - 2d graphics, supports multiple backends
- editor interfaces
- many library bindings, like freetype
- ai, behaviour trees
- many graphics backends
For more look here.
The discussion which happens on the Amethyst gitter and github issues has spawned, amongst other useful libraries, a parallel ECS, specs.
The discussion on implementing a thread safe ECS that ended up becoming specs IMO was really interesting and still worth taking a look at.
An engine focused on also being a community. They plan to have REPL to be able to change anything in the game while it's running.
Still very much a work in progress, it's got a website and a github repo.
Since you are reading ShaderCat, I assume you're interested in Graphics Programming and 3d rendering.
There are a bunch of wrappers around sdl, OpenGL and similar, and various rendering libraries in Rust.
I'd say it's the main rendering library available for Rust. It supports a variety of backends, but it's still very much a work in progress. High-performance, safe, bindless API.
A stateless rendering framework, aiming for a simple and elegant API. At the moment it has one opengl backend.
A safe wrapper for OpenGL, glium, that allows you to use OpenGL, without having to use raw OpenGL calls.
Entity Component Systems
There are many ECS made in Rust. Many are experiments, that have since been abandoned.
There are many more WIP ECS around, here is a benchmark project, ecs_bench, and a few more living ECS:
Some of the Ametyst docs are very useful discussion about ECS in general.
3d Formats Loaders
As you can see every projects tend to have its own gitter chats, everything is new and not quite finished, but pretty shiny ;)
Also, the rust gamedev community has got an irc channel #gamedev @ irc.mozilla.org:6697, best place to keep up to date.