RG3D

3D game engine written in Rust.

WARNING: Some places are semi-complete or just does not implemented yet, this engine is not in production-ready state yet.

Screenshots

These screenshots are from rusty-shooter which is a big demo for the engine.

1

2

3

4

5

What is done already?

Plans

Dependencies

Contributing

Contributions are very welcome!

Why Rust?

Previously I wrote my engine in C (DmitrysEngine), but at some point it become relatively hard to maintain it. I thought if it was hard to maintain for me, how hard it would be to use it correcly for newcomers? Initially I thought to port engine to modern C++, but C++ is not a silver bullet and won't guarantee memory safety. At my full-time job almost every day we fixing issues related to memory safety and threading bugs, I really tired of this and then I just remembered that Rust provides memory safety and safe concurrency. I've started to learning Rust and it was real pain in the ass at the first few weeks, I even thought to return back to C, but from some point I found ways of doing things without fighting with compiler... and engine started growing, and at some point I found that I crashed (because of segfault) only few times since start and only at unsafe code in OpenGL functions, that was very exciting!