mastodon.gamedev.place is one of the many independent Mastodon servers you can use to participate in the fediverse.
Mastodon server focused on game development and related topics.

Server stats:

5.3K
active users

Alice I. Cecile

Hi! With the @bevy release fresh upon us, it's time to take a bit of a vacation 💚 But, I wanted to set things up nicely before I retreat to a week of video games and rest. So, it's time for an out-of-cycle after a leisurely day of project management. I'll be poking my head in, but no focused work and no responsibilities until next Sunday!

We have 19 PRs in the community-approved backlog to get to; let's take a look!

github.com/bevyengine/bevy/pul+

@bevy 1. github.com/bevyengine/bevy/pul

Adds an optional Showcase section to our PR templates. I quite like this: the better PR descriptions were doing this already. And more importantly, this serves as a great base to start our release notes, and can be automatically scraped.

I insisted that we cut the already redundant Changelog (Solution, Showcase *and* Showcase is way too much), but with that done I'm happy with this. Merging once the linter is happy.

GitHubmeta: Add `Showcase` section to PR template by MrGVSV · Pull Request #11750 · bevyengine/bevyBy MrGVSV

@bevy 3. github.com/bevyengine/bevy/pul

Now, for "don't ignore draw errors". More unresolved merge conflicts. This is quite a bit trickier to resolve, so I'm going to leave it alone for now rather than giving it the label. *Everyone* was busy with the release!

GitHubDon't ignore draw errors by IceSentry · Pull Request #13240 · bevyengine/bevyBy IceSentry

@bevy 4. github.com/bevyengine/bevy/pul

A minor change to our advice on how to optimize compile performance for Bevy. In this case, it changes the linker when using Rustdoc (which is apparently a distinct setting).

Francois points out that this is mostly useful for Bevy contributors, not users, since it helps workaround an issue when building doc tests on Windows (please, why are these all totally separate binaries). That said, I agree with Jan: this is good advice even for users. Merging :)

GitHubUse rust-lld on windows rustdoc in config_fast_builds.toml by SkiFire13 · Pull Request #13553 · bevyengine/bevyBy SkiFire13

@bevy 5. github.com/bevyengine/bevy/pul

A more ambitious PR: a new `EventMutator` type. Reading and modifying a stream of events is a very common pattern in games, and the API for doing this in Bevy is *super* annoying, because both `EventReader` and `EventWriter` want to access the same data, generating conflicts.

A concern was raised about how events should be immutable once sent, which is definitely a valid form of event architecture. It's not what Bevy currently uses though 🤷 Great work, merging!

GitHubCreated an EventMutator for when you want to mutate an event before reading by BobG1983 · Pull Request #13818 · bevyengine/bevyBy BobG1983

@bevy 6. github.com/bevyengine/bevy/pul

Documents how to set up and use Tracy, the C++ profiling tool that Bevy hooks into, on MacOS. I am definitely unhappy about how hard to set up and use this (extremely powerful) tool is, but this PR is a solid step towards lessening that learning curve.

Merging.

GitHubAdd Mac OS tracy info to profiling docs by mweatherley · Pull Request #13826 · bevyengine/bevyBy mweatherley

@bevy 7. github.com/bevyengine/bevy/pul

A polish PR that missed the 0.14 release candidate. For consistency, we should include the systems that control auto exposure in `DefaultPlugins` by default, even though they'll be passed over most of the time.

This PR was making our web builds fail due to incompatibility with the WebGL (too many bindings), so it was cut from 0.14. Now that that's fixed, this will actually act as a test to ensure we don't enable it on broken platforms. Merging.

GitHubInclude AutoExposurePlugin in CorePipelinePlugin by Kurble · Pull Request #13963 · bevyengine/bevyBy Kurble

@bevy 8. github.com/bevyengine/bevy/pul

A nice little QoL feature for hooks: quickly specify various `on_insert` etc methods as part of the `Component` derive by setting an attribute for the macro. Great!

Code is solid and docs are good; merging.

There's a PR that adds `on_replaced` hooks: I'll mention that it'll need to be updated to account for this too.

GitHubComponent Hook functions as attributes for Component derive macro by Jenya705 · Pull Request #14005 · bevyengine/bevyBy Jenya705

@bevy 9. github.com/bevyengine/bevy/pul

A caching optimization in our layouting system. Not too shabby 10% performance gain, but the real win is in the rounding micro-optimization in the linked PR. 30% gain by reducing branches, oof.

Anyways, I thought I already merged this, but evidently not. Let's do that now.

GitHubOptimize ui_layout_system by re0312 · Pull Request #14064 · bevyengine/bevyBy re0312

@bevy 10. github.com/bevyengine/bevy/pul

The math wizards are at it again: this time, sampling uniformly from the surface of any triangle mesh. Pretty easy algorithm honestly; weight the triangles by area to pick a triangle, and then sample within the triangle. Neat!

Good clean separation; I'm pleased with the API design. I am deeply annoyed that some of the methods called here return `Option` rather than a useful `Result`, but not this PR's fault. Merging :)

GitHubUniform mesh sampling by mweatherley · Pull Request #14071 · bevyengine/bevyBy mweatherley

@bevy 11. github.com/bevyengine/bevy/pul

Bevy should crash less. Crashes are really frustrating for developers and crippling for users. If an asset load failure event is processed after the asset is dropped, we definitely shouldn't crash.

Just defensively returning `()` is much more reasonable than panicking. Merging!

GitHubFix crash when an asset load failure event is processed after asset drop by brianreavis · Pull Request #14123 · bevyengine/bevyBy brianreavis

@bevy 12. github.com/bevyengine/bevy/pul

Our delightful `StateScoped` component is missing a couple of derives: `Reflect` and `Clone`. Sure, that's reasonable: this is basically just a fancy `PhantomData`.

Feature-flagged correctly, so this is good to go. Merging.

GitHubimpl Reflect + Clone for StateScoped by brandon-reinhart · Pull Request #14156 · bevyengine/bevyBy brandon-reinhart

@bevy 13. github.com/bevyengine/bevy/pul

Context is vital to good error messages. In this case, we're giving an error about an unstyled child in a UI hierarchy (reasonable to complain about), but not saying anything about which entity it is. Whoops.

Simple fix, simple merge.

GitHubadd entity to error message by hymm · Pull Request #14163 · bevyengine/bevyBy hymm

@bevy 14. github.com/bevyengine/bevy/pul

Similar PR from the same author (I bet they ran into this at work...): we changed our Display impl for Entity in this release, so we should clean up the logging in our `log_components` Command.

Great, merging.

GitHubuse Display for entity id in log_components by hymm · Pull Request #14164 · bevyengine/bevyBy hymm

@bevy 16. github.com/bevyengine/bevy/pul

And another PR for hard-coded feature detection for low-end GPUs. This time, GPU preprocessing on Android. Bah: I really want better support for querying this at runtime, rather than relying on hardcoded mess like this throughout the code base.

I trust Francois's judgement here though, and that's a much more pervasive problem. Merging; we need a fix in to avoid platform regressions.

GitHubdisable gpu preprocessing on android with Adreno 730 GPU and earilier by Litttlefish · Pull Request #14176 · bevyengine/bevyBy Litttlefish

@bevy 17 + 18. github.com/bevyengine/bevy/pul and github.com/bevyengine/bevy/pul

A pair of twin PRs, making `bevy_reflect` optional in `bevy_core` and `bevy_input`. This was requested by the Tiny Glade devs to make their upgrade process smoother, but it's a good idea (and a consistent pattern) anyways.

Both sets of changes are good; merging :)

GitHubbevy_input: allow use without bevy_reflect by torsteingrindvik · Pull Request #14167 · bevyengine/bevyBy torsteingrindvik

@bevy 19. github.com/bevyengine/bevy/pul

A trivial PR to update some example links after we split apart `bevy_state` (and moved the examples). Great, nice find.

I wish there was a proper way to link examples from rustdoc, but I suppose this will do. Merging.

GitHubFix state example urls by SpecificProtagonist · Pull Request #14209 · bevyengine/bevyBy SpecificProtagonist

@bevy Alright, that's all for this week! Eager to try out Bevy 0.14? Check out our freshly-minted Bevy Jam #5: participate alone or with a team, and learn , and while having a good time!

Now it's time for me to go on a bit of a vacation; don't make too much of a mess while I'm gone eh? ;)

itch.io/jam/bevy-jam-5

itch.ioBevy Jam #5A game jam from 2024-07-20 to 2024-08-12 hosted by alice-i-cecile. Welcome to the fifth official Bevy Jam! In this 9 day event, your goal is to make a game using Bevy , the free and open-source game engine built in Ru...

@alice_i_cecile @bevy this is so funny i'm too compiler-brained and assumed that "normalization" implied "of an associated type"

@alice_i_cecile @bevy I participated in the last bevy jam, was the first time I actually submitted something to a game jam, was great fun, looking forward to this one

@alice_i_cecile@gamedev.place @bevy I quite dislike the `./capture` thingy, I'm using it like `$HOME/tracy/bin/capture`... ; a `tracy --capture` would help me forget where the heck I installed tracy :')