
Bevy: A Game Engine in Rust - moomin
https://bevyengine.org/
======
nwsm
Previous discussion from 20 days ago (556 points):
[https://news.ycombinator.com/item?id=24123283](https://news.ycombinator.com/item?id=24123283)

------
freedomben
Possibly OT but: For a very experienced dev who knows numerous languages
ranging C/C++/Go to Ruby/JavaScript to Elixir, what's the most effective way
to learn enough rust to be dangerous?

I like the Rust book a lot but it's a bit too slow moving. It explains
concepts I already know so I have to skim, but then I miss something.

Perhaps the best thing doesn't exist yet! Maybe I'll write it someday. But I
thought I'd ask ;-)

~~~
brundolf
I agree that the Book unfortunately moves a little slow for an experienced
programmer, but I think it's still important to push through at least most of
it and get all those little tidbits.

After that I really like this resource, which gets much more practical about
problem-solving borrowing issues and introduces some really important tools
from the standard library: [https://rust-unofficial.github.io/too-many-
lists/](https://rust-unofficial.github.io/too-many-lists/)

If the Book teaches you what features Rust has, this teaches you how to use
Rust in practice. It also taught me that it was a fool's errand to go and try
to implement all the core data structures as a part of my learning process,
because that kind of pointer-twiddling is one of the hardest possible things
to do in safe Rust :)

~~~
freedomben
Oh wow, thanks for the recommendation! This is remarkably similar to how I
learned C++ back in college. It was a data structures class and we built a few
of them. Nothing cemented the concepts as well as building our your own linked
list. I will definitely give this a read :-)

------
echelon
For someone with better first hand experience, how does this compare to other
Rust game engines [1] [2] [3]?

Is Bevy flexible enough to let you drop down into raw OpenGL?

I'm writing code that does a mix of point cloud rendering and traditional
asset rendering (I'm new to all of this), and I'm wondering if I should adopt
an engine instead of rolling everything myself with a mix of OpenGL, matrix
math, and Imgui.

I'm trying to do due diligence, but I'm too new to games and 3D to know what
to look for.

[1]
[https://github.com/amethyst/amethyst](https://github.com/amethyst/amethyst)

[2]
[https://github.com/PistonDevelopers/piston](https://github.com/PistonDevelopers/piston)

[3]
[https://arewegameyet.rs/ecosystem/engines/](https://arewegameyet.rs/ecosystem/engines/)

~~~
steveklabnik
For that specific comparison, I recently read
[https://community.amethyst.rs/t/bevy-engine-addressing-
the-e...](https://community.amethyst.rs/t/bevy-engine-addressing-the-elephant-
in-the-room/1645)

While I haven't tried either of these engines seriously yet, I really enjoyed
reading that thread.

~~~
Waterluvian
Thanks for that link. I think that's a wonderfully judicious and maturely big-
picture perspective on Bevy.

------
codetrotter
While the page mentions the project being in an early stage, I skimmed through
the Bevy Book and what I read so far looks promising. The text is detailed,
relevant and has good grammar, which to me inspires confidence.

On the page [https://bevyengine.org/learn/book/getting-
started/resources/](https://bevyengine.org/learn/book/getting-
started/resources/) however I am not able to navigate to the next page after
it on mobile, because the arrow linking to the next page is almost entirely
off-screen and can not be touched. This is in Safari on iOS 13.6.1

------
city41
On the surface it sounds similar to Godot. Is that a fair assessment?

~~~
smt923
A big distinction for me is not having a nice UI for level design and
'arranging' everything that isn't the code, though a lot of the other aims do
seem pretty similar

~~~
lachlan-sneff
There's going to be an editor, but these things take time.

~~~
smt923
of course, just pointing out that right now it's a pretty large distinction
between the two

------
acp2020
Why every time I read about Rust the title is in form "xyz written in Rust"?

For example Unreal engine is a game engine. Not "a game engine written in
C++".

~~~
timw4mail
Because the default is generally C++?

~~~
acp2020
Since when it's been the most interesting thing about the software in which
language it's been written in?

I mean sure sometimes it is but show me a Rust software that didn't advertise
itself being written in Rust.

~~~
codetrotter
I write software in Rust, so to me it is relevant to learn about new libraries
and frameworks that are written in Rust.

There are enough existing and new game engines and frameworks that if the
title was simply “Bevy: A Game Engine”, then I might not have bothered to
clicked on it only to find that it was written in C++ or Lua or Python or what
have you. I use other languages too, mind you, it’s not that – it’s just that
aside from Unreal, Unity and Godot, the only other game engine or framework
that I am interested in knowing about at the moment is one that is written
either in Swift or in Rust.

Conversely, stating it upfront also allows anyone that does not want to write
in Rust to avoid this particular game engine at the moment.

I see only benefits of stating it.

