u/catheap_games

▲ 56 r/bevy

Trouble understanding BSN

Hi,

I've been trying to wrap my head around everything related to BSN and bsn! since 0.19 released, but I'm still partially confused about how to use it in theory, and quite confused about to use it in practice.

  1. Is there any example that connects DynamicWorld with the new BSN features, or is DynamicWorld bound to become legacy once an official bsn loader drops?

  2. Is a bsn loader something that I will be able to patch into 0.19, or will I need to wait 2-5 months and migrate everything to 0.20 for that?

  3. If I understand it correctly, Template and FromTemplate are intermediate formats between bsn! and spawned game "bundles", and for the most part, I don't need to write any code directly with Templates and don't need to manually implement FromTemplate?

  4. Speaking of which, are bundles on their way out as the recommended way to spawn things? Or will they always be side by side with bsn! for some technical reasons? What are the cases that I shouldn't try to force bsn! into?

  5. Why can I spawn `Mesh2d(asset_value(Rectangle::new(img.x, img.y)))` but `MeshMaterial2d(asset_value(ColorMaterial { ... })` does not work?

  6. I can see the few small uses of bsn! in bevy_city and a lot of examples with UI, but is there any more comprehensive example that demonstrates this in a game, or otherwise a larger example that isn't just "spawn a button" "spawn a camera" but more along the lines of "spawn an NPC with a different shirt color and list of components based on some input"?

  7. Is there any example that actually does persistence with BSN - is there something that simplifies my approach as it is now in 0.19, or is it still same as in 0.18 where I just have to query all my entities, save their information in a separate struct with serde::serializable on them, and save entity ids of parents and children separately so I can re-map them on load?

Both the release notes and bsn! / Scene / bevy_scene documentation are excellent and I don't want to make it sound like they're not, but I did not manage to wrap my head around it properly. The new beta Bevy Book is also excellent but it doesn't seem to have any information about Scenes yet either.

reddit.com
u/catheap_games — 2 days ago

Rack Extension SDK 5.0.0 is officially released

Reason studios apparently have been working on more things for Reason 14 than just the customer-facing improvements. The details are technical, but my understanding (as someone who isn't currently developing REs, but looked into it briefly) is that this will allow to make richer GUIs for REs and possibly - and this is just my guess - slowly move away from the old rule set where skeumorphic design was highly recommended.

In plain terms, I think we're more likely to see ports of VSTs and new plugins that don't rely on "physical" knobs and buttons as much, and a wider range of user interfaces will be allowed.

Any developers here who thought about how the new features impact them?

reddit.com
u/catheap_games — 2 days ago
▲ 2 r/rust

I know about Are We GUI Yet, but as these lists go, it says very little about project maturity (besides download count) and usability, so I'd like to hear about people's experiences, especially if you've tried a bunch of them.

My current goal with this is to make small 'doodles', micro apps, prototypes mostly for myself, small productivity tools; and my goals/requirements are deployment to browser, easy to use, preferably immediate mode GUI, nothing serious or enterprise, and no HTML. Secondary goals are small wasm build and egui support. As these will be single user prototypes, accessibility isn't a requirement now.

I know about Leptos, Dioxus, Yew, Tauri, etc, and I respect them, but I'm trying to steer away from HTML and HTML-ish projects for now (25 years of webdev did that to me). I also don't need any full stack / server-side features right now.

I have some experience with Bevy and I love it, and will continue using it, but it's a little heavy. I can try stripping down more things and see if I can run bevy_egui without bevy's 2d feature set, but right now the wasm-opt-ed file sits at 19MB, which is a bit too much for a to-do list type app.

Yesterday I found Ratzilla, which is of course Ratatui in browser, and I love it, but it's not for every use case. Hello world wasm file at 300kB.

I also found Egor, which seems like an intentionally simple/limited game engine (which is what I'm looking for right now), and its lightning/particle example is at 3MB, which is very nice. I think I'll explore this one further. This particular example has linearly growing RAM usage, maybe because of the ECS it used, so maybe it's not an issue, but somewhat of a red flag.

I had a brief glance at GPUI, Ply, Iced, and a few others, but they didn't sit right at me at first. Willing to reconsider of course.

reddit.com
u/catheap_games — 2 months ago