Live data from Hacker News

Bevy: A data-driven game engine and app framework built in Rust

bevyengine.org

21–30 of 108 posts

Re: Bevy: A data-driven game engine and app framework built in Rust

#21
post #8

I have to say the API seems to be very pleasant and simple at a glance. Kudos to the author! > Being able to use Rust functions directly as systems might feel like magic, but I promise it's not! You may have noticed that we do this when registering systems in our App (...) > (...) This works because we implement the IntoQuerySystem trait for all functions that match a certain set of function signatures. This pattern…

That's pretty cool! Is there any material you'd recommend me reading that gives examples of these kinds of ergonomics with traits as they pertain to, say, vanilla web development?

Re: Bevy: A data-driven game engine and app framework built in Rust

#22
post #19

Earlier quoted context omitted.

That's what I figure, I saw that Bevy does support UIs, which is how Godot makes their own UI, and how RPG In a Box[0] was born from Godot itself (I'm not affiliated with RPG In a Box nor Godot, just someone who is learning Godot). I think it's going to be wonderful to see a spawn of powerful and open source game engines in the coming years. [0]: https://www.rpginabox.com/

Bevy even mentions Godot as an inspiration for building the editor using Bevy itself. The creator of Bevy has a lot of experience with Godot, so I'd assume we're going to see bits and pieces resembling how Godot works.

I realized that recently, the author is working on a game in Godot as you said. It makes a lot of sense. Godot is a good standard to look up to. I can't wait to see this project as it matures.

For anyone curious this is the game from the author:

https://www.youtube.com/watch?v=FxW4PcX0fa8

It looks like a lot of fun honestly!

Re: Bevy: A data-driven game engine and app framework built in Rust

#23
post #20
post #12

Creator of Bevy here. I just announced Bevy yesterday and the response so far has exceeded my wildest expectations. I'm happy to answer whatever questions people have!

Great start here and a very compelling intro post. A couple of things I wondered about and didn't see answers to: 1. How ambitious is Bevy as an engine? Do you see it as aimed squarely at the casual-game space like ggez, or do you think it could eventually compete with Godot, growing more advanced features like GI? (I appreciate that competing with Unreal is probably, well, Unrealistic for the forseeable future.) 2.…

1. I want to be ambitious while also being realistic. AAA studios won't even consider using Bevy until it has more features and has stood the test of time. So in the short term our market is essentially "indies and enthusiasts". I want Bevy to cater to those people, but with an eye toward larger projects. We don't want to design ourselves into a "locally optimal" corner that prevents us from appealing to large studio. That being said, even in the short term I am extremely interested in advanced rendering techniques and will be investing a good portion of my time on adding things like GI and PBR.

2. Small binaries is absolutely something I care about. Last time I checked we could produce a "hello world" game with windowing + rendering thats just a little bit over 1 MB. I think we could probably make that smaller with some effort.

edit for some additional clarity: this involved running a post-processing "strip" process on the binary.

Re: Bevy: A data-driven game engine and app framework built in Rust

#24
post #8

I have to say the API seems to be very pleasant and simple at a glance. Kudos to the author! > Being able to use Rust functions directly as systems might feel like magic, but I promise it's not! You may have noticed that we do this when registering systems in our App (...) > (...) This works because we implement the IntoQuerySystem trait for all functions that match a certain set of function signatures. This pattern…

That's pretty cool! Is there any material you'd recommend me reading that gives examples of these kinds of ergonomics with traits as they pertain to, say, vanilla web development?

I merely a beginner and learn the language on the side.

Things that come to mind are (incomplete list):

- From trait

- derive

- traits you can implement to convert a data structure into a iterator

- Deref, Drop traits, MutexGuard

These things appear magical at first but make for very expressive abstractions.

In regards to web-dev: a framework that makes heavy use of traits and macros is Rocket.

As for material: when I’m learning I typically have The Book, Rust by Example and some tabs of the standard library open. Then just go by curiosity. Perhaps not the best approach?

Re: Bevy: A data-driven game engine and app framework built in Rust

#25
post #23
post #20

Earlier quoted context omitted.

Great start here and a very compelling intro post. A couple of things I wondered about and didn't see answers to: 1. How ambitious is Bevy as an engine? Do you see it as aimed squarely at the casual-game space like ggez, or do you think it could eventually compete with Godot, growing more advanced features like GI? (I appreciate that competing with Unreal is probably, well, Unrealistic for the forseeable future.) 2.…

1. I want to be ambitious while also being realistic. AAA studios won't even consider using Bevy until it has more features and has stood the test of time. So in the short term our market is essentially "indies and enthusiasts". I want Bevy to cater to those people, but with an eye toward larger projects. We don't want to design ourselves into a "locally optimal" corner that prevents us from appealing to large studio…

As someone who may be tinkering with a game this decade, one big factor which favors “use prebuilt engine” in my thinking is that some of them abstract away the work required to port between different systems. Is this really a very big hurdle in your opinion? And do you see console ports being part of this engine in the future?

The API looks great in any case, and I’ll try it out, at least as a starting point to get back into Rust and ECS. Nice work!

Re: Bevy: A data-driven game engine and app framework built in Rust

#27
post #6

The original link posted here (the homepage) doesn't really get in to what makes Bevy interesting, I would recommend this great blog post instead that introduces it: https://bevyengine.org/news/introducing-bevy/ Yesterday's thread on /r/rust: https://www.reddit.com/r/rust/comments/i7bcwu/introducing_be...

Ok, we'll change the URL to that from https://bevyengine.org/. Thanks!

Re: Bevy: A data-driven game engine and app framework built in Rust

#28
post #25
post #23

Earlier quoted context omitted.

1. I want to be ambitious while also being realistic. AAA studios won't even consider using Bevy until it has more features and has stood the test of time. So in the short term our market is essentially "indies and enthusiasts". I want Bevy to cater to those people, but with an eye toward larger projects. We don't want to design ourselves into a "locally optimal" corner that prevents us from appealing to large studio…

As someone who may be tinkering with a game this decade, one big factor which favors “use prebuilt engine” in my thinking is that some of them abstract away the work required to port between different systems. Is this really a very big hurdle in your opinion? And do you see console ports being part of this engine in the future? The API looks great in any case, and I’ll try it out, at least as a starting point to get…

Console adoption and porting essentially require a game or games that need to be ported. Typically this happens through third party companies for games built on open source projects.

Re: Bevy: A data-driven game engine and app framework built in Rust

#30

What would be the difference between this (which looks really cool!) and https://amethyst.rs ?

From my limited experience (doing Amethyst's Pong tutorial and glancing through Bevy's home page), Amethyst is more mature and also seems more complex (and presumably more powerful). There's quite a bit of boilerplate to get started, but it gives you very fine-grained control over everything like how assets are loaded, how components are laid out in memory, etc. It seems like it's aiming more for the "real game studio" market than for enthusiasts, although last I checked it's also mainly focused on 2D for the time being.
Post reply on HN