Game engine for rust newbie

So, I would like to know what some good topics to learn in rust are that are fun, and stuff like game engines. I've been looking at game engines like bevy, but my problem was they are all a little too hard for me, I want to know of another game engine that has 2d support (3d support only is fine) and is good for projects that is not as hard as bevy. I'm sortove a newby as I have been learning rust for about a month and I am learning very slow because I cannot find things that interest me, I would like for anyone reading this post to tell me a few things that are good to learn in rust that are easy, methods, frameworks, game engines, tools, anything that's actually fun and easy enough for a newbie.(I am also an extremely young rust programmer so I do have to deal with school, and being extremely young I am prone to slacking off due to no interest in topics), also the fact that my username is funnimonkedev is another sign of me being young.

have you tried Amethyst?

but one good way to learn things is make things you want to use yourself or have some fun doing it. it does not need to be a game, you could make a simple program that reads over a file (download a book you like) and then make things like: "how can i iterate over this books line and switch the protagonist's name for my name". things like that.

doing this you can learn essential stuff like workings with files, strings, iterations and then you can go inproving your program the way you like

I find Bevy to be one of the simplest engines out there, but I get that ECS may get in the way and complicate stuff.

I've heard of ggez it looks very minimalistic and easy to use, but I haven't used it myself (yet).

Also, checkout are we game yet, a website if a bunch of tools, crates and resources for gamedev with rust.

nannou is also very fun to hack around with and make weird stuff, it's a "creative coding" framework, but that just means it's for drawing shapes and images and making cool animations (and even games)

edit: Oh, and check out The Book, it's one of the best resources for beginner rustanceans. you can either read it like a regular book, or check out specific topics that you're having a hard time with

Hope you have a great journey with Rust!

If you haven't done any graphics programming before, you might benefit from starting with some basic OpenGL tutorials. OpenGL is notoriously finicky and can be frustrating to work with when you're starting out, but there's also a whole bunch of resources for it, it's cross platform, and most Rust APIs for OpenGL map to C/C++ code in fairly straightforward ways.

glow is a popular OpenGL crate, and has some examples for basic getting started stuff which will be the hardest part to port from C/C++ tutorials on OpenGL

There's also the wgpu crate, which is based on the (still in progress?) WebGPU web API rather than OpenGL. It's got quite good documentation, a useful tutorial, and lots of examples. I'm not sure it would be a perfect place to start for learning both Rust and graphics programming at the same time, but if it seems easier than wrestling with OpenGL I think it would still be doable.

Starting with basic graphics programming won't necessarily get you to making full games faster, but it might make the process smoother. The concepts you learn are also more likely to be directly applicable across multiple game engines.

You can trivially get a loop up and drawing things with macroquad, but it has a bit of a cliff once you step out of what it supports since you can't get at the miniquad library it wraps.

If you're trying to go low level with your own rendering then winit and wgpu is a good safe floor that gives you portable input and rendering, but it is quite verbose.

In the general sense of a modern engine with an editor experience and everything, I've not seen a really compelling example yet, though that's not too say it doesn't exist, there's a lot out there.

I really enjoyed macroquad

1 Like

I've tried amethyst except it is no longer supported and fails to run on windows, I have tried all methods. The only awnser I get is its deprecated (which I don't know exactly what that means, but I think it means 'no longer supported'), also thx for all your awnsers, I should have lots to do with checking out this stuff. :+1:

Indeed, Amethyst's development stalled around 2019 and in 2021 they made a blog post stating they were halting further development.

"Deprecation" means "no longer supported, maintained, or recommended".

I'll add a +1 for Bevy.

1 Like

Additionally if you happen to use Discord, feel free to join the Rust Game Development Discord.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.