Live data from Hacker News

Bevy game development tutorials and in-depth resources

taintedcoders.com

41–50 of 121 posts

Re: Bevy game development tutorials and in-depth resources

#41

Earlier quoted context omitted.

I hear Rust being slow to compile is their biggest gripe, but really - look at what you’re gaining for the slowdown! Bevy gives you a very nice ECS to model your app but compilation can be slower than hand crafted code, while not using it gives you tonnes more code and the complexities that come with it, just to compile faster?

I swear I have only heard about ECS and people trying to show off how good the ECS is when it comes to Bevy, never about an actual game.

"There are more rust game engines than rust games" - Confucius

Re: Bevy game development tutorials and in-depth resources

#42

Earlier quoted context omitted.

It's a single data structure that contains your entire game though? Are you asking? but calling it a "single data structure" is a bit reductive. No it isn't. It's like a tiny database. Depending on how someone implements it, it could use arrays, hash maps and b-trees. There is no universe where this means a binary that does nothing should be 50 megabytes .

> It's like a tiny database. No it isn't. It also handles system management and concurrency, basically the main loop of your application. I also would be cautious of assigning the blame of the binary size onto the data structure on its own.

system management

What does that mean?

concurrency

Some data structures and databases deal with concurrency.

Re: Bevy game development tutorials and in-depth resources

#43

Earlier quoted context omitted.

Compile times are my biggest struggle, too. I'm vibecoding Bevy with parallel agents, and the bottleneck is often compiling the changes on my 7950X, not getting Codex to write them. As far as file sizes go, I'd be really interested in how a Rust compiler that didn't monomorphize so much would perform. Right now you have to modify the source code to write polymorphic generic functions, but it doesn't strictly have to…

Bevy website has some tips for improving compile times, have you tried them out?

Yes, absolutely. I did that before vibecoding too, as rapidly editing and testing is so crucial.

The way Bevy's internal state is so easily saved and loaded is convenient for this.

Re: Bevy game development tutorials and in-depth resources

#44

Earlier quoted context omitted.

> It's like a tiny database. No it isn't. It also handles system management and concurrency, basically the main loop of your application. I also would be cautious of assigning the blame of the binary size onto the data structure on its own.

system management What does that mean? concurrency Some data structures and databases deal with concurrency.

In this case systems are the S of ECS and contain all your game logic, acting upon the entities and components (E and C).

By system management I assume they mean the APIs bevy offers for scheduling and sequencing systems and events so your game logic remains modularized while still running in the correct order.

Re: Bevy game development tutorials and in-depth resources

#45

Those of us unfamiliar with Bevy can deduce what it might be, but it would be really nice if your introduction included at least a link titled "Bevy game engine" which links to bevy.org. Then your unfamiliar readers can first hop to bevy.org to see what it's all about.

Very much agreed and appreciated. I've added an explanation to the top of the homepage.

Re: Bevy game development tutorials and in-depth resources

#46
post #2

Thank you. Not many free and in-depth resource for Bevy engine. Mostly are paid ones. I am surprised that you switch from Ruby to Rust. Seems a different beast to me.

> Mostly are paid ones. can someone link to some of those paid resources?

I think Chris Biscardi has some paid resources that involve Bevy at https://www.rustadventure.dev/pricing they might be referring to.

He's also got plenty of free resources which I love to watch: https://www.youtube.com/@chrisbiscardi

Re: Bevy game development tutorials and in-depth resources

#47

My problem with bevy isn't the basics, but the architecture. I always feel like I'm making wrong decisions on if something should be a component or a field, and how it interacts with other stuff in systems. I just feel like I'm making an unmaintainable mess, but I'm not sure how it could be improved.

I think ECS is a new enough architecture that the patterns are still very much folk lore.

I think a lot of the way I try and structure my Bevy apps comes down to trying to separate the rendering from my game logic. Its very easy to confuse the two responsibilities.

Coming from the web and Ruby I find the lack of automated testing and TDD to be foreign to me. So I've been trying to figure out patterns that make my games easier to test. Hoping to write about it soon.

Re: Bevy game development tutorials and in-depth resources

#48
post #44

Earlier quoted context omitted.

system management What does that mean? concurrency Some data structures and databases deal with concurrency.

In this case systems are the S of ECS and contain all your game logic, acting upon the entities and components (E and C). By system management I assume they mean the APIs bevy offers for scheduling and sequencing systems and events so your game logic remains modularized while still running in the correct order.

Exactly this.

Re: Bevy game development tutorials and in-depth resources

#49

My problem with bevy isn't the basics, but the architecture. I always feel like I'm making wrong decisions on if something should be a component or a field, and how it interacts with other stuff in systems. I just feel like I'm making an unmaintainable mess, but I'm not sure how it could be improved.

I think ECS is a new enough architecture that the patterns are still very much folk lore. I think a lot of the way I try and structure my Bevy apps comes down to trying to separate the rendering from my game logic. Its very easy to confuse the two responsibilities. Coming from the web and Ruby I find the lack of automated testing and TDD to be foreign to me. So I've been trying to figure out patterns that make my gam…

> I think ECS is a new enough architecture that the patterns are still very much folk lore.

ECS is a pretty old idea, built on concepts that are even older. I was playing around with an ECS-like engine of my own in C over 10 years ago, based on blog posts and talks that are now 20-25 years old. Even the Wikipedia article for ECS can trace the origins back to the 1960s. (Though obviously it hasn't been applied to video games for quite that long.)

Nowadays I'd probably reach for Godot and Kotlin if I just wanted to build a game in an ergonomic language on a solid foundation. You could still apply ECS concepts there, as well.

Re: Bevy game development tutorials and in-depth resources

#50

Earlier quoted context omitted.

It's a single data structure that contains your entire game though? Are you asking? but calling it a "single data structure" is a bit reductive. No it isn't. It's like a tiny database. Depending on how someone implements it, it could use arrays, hash maps and b-trees. There is no universe where this means a binary that does nothing should be 50 megabytes .

> It's like a tiny database. No it isn't. It also handles system management and concurrency, basically the main loop of your application. I also would be cautious of assigning the blame of the binary size onto the data structure on its own.

I would say yes it’s like a tiny database but as well as all the other things your added. And I think that’s a good thing, because it does this at the type level!

I’m actually seeing if I can build a parser using bevy_ecs just because the way their state machine works, it looks like it would be fun

Post reply on HN