4 ms·
Lead Bevy developer (and creator) here. Ask me anything!
by _cart 4y ago
Lead Bevy developer (and creator) here. Ask me anything!
- karmakurtisaani 4y agoWhat does data oriented mean in practice?
- elanning 4y agoThis chapter encapsulates much of data oriented design: https://www.dataorienteddesign.com/dodbook/node5.html https://www.dataorienteddesign.com/dodbook/node5.html
- piefayth 4y agoOne of my grievances with most engines is a poor story around networked physics. It’s desirable to me to be able to leverage historical physics states in a performant way, sometimes querying or stepping many modified versions of those states at once. Bevy’s data oriented design seems great for the kind of stateless physics required here, but I couldn’t find any physics OR networking features in a quick five minute browse. Is this something that is well supported by Bevy today, or will be in the future?
- _cart 4y agoWe haven't (yet) prioritized an official physics plugin for Bevy, but the Rapier physics engine has their own official Bevy plugin, which is the de-facto standard at this point. It supports opt-in determinism, which should be great for some networked physics scenarios. https://rapier.rs/docs/user_guides/bevy_plugin/getting_started_bevy https://rapier.rs/docs/user_guides/bevy_plugin/getting_start... The story is similar for networking. Ultimately we will have a built in api, but we're focused on more fundamental things at the moment. There are _tons_ of community-developed networking plugins though: https://bevyengine.org/assets/#networking https://bevyengine.org/assets/#networking
- lazypenguin 4y agoHi Cart, have you considered giving a presentation or writing an article about how you successfully manage the project? I remember when you first publicly released bevy and the onslaught of support you received. I'd be curious how you were able to successfully manage that as it's clear you've done that well as Bevy continues to grow at an incredible pace.
- _cart 4y agoI'd consider doing that once I feel like I've actually "solved" this problem. Adjusting to this scale of community development has been a slow and sometimes painful process. I started with a "benevolent dictator for as long as I can manage it" model and we have slowly been transitioning into a more distributed decision making process where more people are reviewing code and more people have merge rights. Currently these merge rights are very "scoped" and I am still making basically every "controversial" call when it comes to code and api design. This means that I am a bottleneck, and the pressure to resolve this increases as the community grows. I have "big plans" here that involve continuing to expand the scope of the other maintainers (Francois and Alice), pulling in even more maintainers, and empowering "working groups" to make decisions more autonomously. Expect to see significant progress here in the very near future.
- the_duke 4y agoI still haven't been able to use Bevy yet, but as always: the release notes are a joy to read and the speed of development is impressive. The only question concerns the missing last paragraph: what's next on the roadmap? Is a UI overhaul (and an early stage editor) happening soonish?
- _cart 4y agoHaha that was definitely a miss. We normally do include that section at the end. From a high level, breaking ground on the Bevy editor is my priority. But getting there still requires some intermediate steps (finalizing UI, scenes, and assets, which are all functional at the moment but still need some work). Some of my priorities for the next 3-month release cycle are: high level render targets, asset preprocessing, a new "stageless" ECS scheduler, multi-track animation playback / blending, and bevy organization scaling.
- The_rationalist 4y ago
- dukeofdoom 4y agoHow hard would it be to port a pygame to this? What would be the advantages?
- alice-i-cecile 4y agoIt would be a full rewrite, so moderately easier than writing it from scratch. The main advantages right now would probably be improved performance, better cross-platform support and access to a wide collection of interoperable community plugins. The ECS architecture and the fact that's in Rust could also be serious benefits, but for small games, those are really a matter of taste.
- Waterluvian 4y agoWhat’s the largest or most impressive game shipped that uses the Bevy engine? (Open or closed source) I like asking this because while a whole bunch of smaller games do a great job showing examples of how to use the engine, larger games practically demonstrate the scalability of the engine.
- tomtheelder 4y agoI doubt there are projects of significant scale right now. This is a very, very young engine.
- alice-i-cecile 4y agoThe largest "game" that I'm aware of is a piece of closed source CAD software [0]. They've been thrilled with the performance and ergonomics of the code, although they're relying on egui [1] for the UI. As to scale, they crunch absolutely absurd amounts of data, seem to have an impressive amount of functionality, and are regularly hiring new folks from the community onto their team. [0]: https://www.foresightmining.com/ https://www.foresightmining.com/ [1]: https://github.com/emilk/egui https://github.com/emilk/egui
- Waterluvian 4y agoWow. What a great example. Thank you!
- _cart 4y agoAs a disclaimer: Bevy is still very new, our apis are still in flux and incomplete, and we actually recommend that people don't use Bevy for "serious projects" yet in our official docs. Don't expect to see Elden Ring equivalents in Bevy for a long time. People shouldn't be staking their livelihoods on Bevy yet (although some still do because they see our value and potential ... there are a surprising number of paid Bevy jobs out there). There are very few "complete games / apps" built in Bevy. We're still very much in the "enthusiast / jammer" phase, but we're dangerously close to working our way out of that. To my knowledge there are only a couple of "released" full games / apps: Molecoole was very recently the first Bevy game released on Steam: https://store.steampowered.com/app/1792170/Molecoole/ https://store.steampowered.com/app/1792170/Molecoole/ Noumenal is a really cool "constructive solid geometry" Bevy-based 3D modeler on the iOS app store: https://noumenal.app/ https://noumenal.app/ That being said, we just had a very successful first Bevy game jam: https://itch.io/jam/bevy-jam-1/ https://itch.io/jam/bevy-jam-1/ We also have a number of nice open source games listed in Bevy Assets: https://bevyengine.org/assets/#games https://bevyengine.org/assets/#games And there are a lot of Bevy games listed on itch.io: https://itch.io/games/tag-bevy https://itch.io/games/tag-bevy