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

Alright, while I wait for the big news to land, let's do a :D Every week*, I go through the built-up PRs, and see what work the community has cooked up and reviewed for us. When two people (anyone!) have approved a PR, it gets the Ready-For-Final-Review label and gets added to this queue.

There's 13 of those ready today: let's get started. github.com/bevyengine/bevy/pul+

*vacations and sick days excluded!

1. github.com/bevyengine/bevy/pul

A simple doc test explaining how to swap states. Very handy, but has merge conflicts. Lemme see how bad they are... Oh nice, not bad at all.

Some ugly mocked / hidden `App` shenanigans (plz join me in my crusade to merge bevy_app and bevy_ecs), but otherwise I'm pleased.

Great, let's try and merge this.

GitHubExample how to update state by stepancheg · Pull Request #10716 · bevyengine/bevyBy stepancheg

2. github.com/bevyengine/bevy/pul

A simple fix for a typo'd doc link. Francois appears to have already updated this to get the required new CI jobs: lovely.

Merging :)

GitHubFix doc comment on AssetActionMinimal by Davier · Pull Request #11105 · bevyengine/bevyBy Davier

3. github.com/bevyengine/bevy/pul

Some simple documentation explaining how to initialize the values for an `OrthographicProjection` in a `Camera2dBundle` correctly.

I think this is net useful, even if I do worry about these little notes rotting over time. Merging.

GitHubExplain Camera2dBundle.projection needs to be set carefully by stepancheg · Pull Request #11115 · bevyengine/bevyBy stepancheg

4. github.com/bevyengine/bevy/pul

👀 One of my favorite dev tools: a debug overlay that shows you the outlines of all of your UI nodes. This sort of thing is incredibly useful on the web, and I've resorted to randomly coloring my nodes before.

An actual toggle is *way* better. This definitely goes in the release notes: lemme add a label for it. There's still some work figuring out how to configure / present these dev tools cohesively, but we need a couple examples first. Merging!

GitHubAdd a gizmo-based overlay to show UI node outlines (Adopted) by pablo-lua · Pull Request #11237 · bevyengine/bevyBy pablo-lua

5. github.com/bevyengine/bevy/pul

Just as all animals become crab, all programs become a relational database. Today, we take one step closer to our destiny by adding query joins.

These are a neat little feature that builds on our query lenses to get a new query from the intersection of data of two existing queries. In other words, an inner join. I want a proper example for this, but that can be done in a follow-up.

We'll see how useful this is in practice: maybe left/right/outer joins will follow.

GitHubQuery Joins by hymm · Pull Request #11535 · bevyengine/bevyBy hymm

6. github.com/bevyengine/bevy/pul

The next step on my years-long master plan to ensure that users writing 2D games never ever have to think about "quaternions" advances: a dedicated `Rotation2D` math primitive. I wrote one of these for my own games and libs!

We still haven't swapped to a `Transform2D` that contains this: there's a whole RFC to write with the `-dev` folks about all of the different options and architecture there. Merging: this is a nice standard for the ecosystem even now.

GitHubAdd `Rotation2d` by Jondolf · Pull Request #11658 · bevyengine/bevyBy Jondolf

7. github.com/bevyengine/bevy/pul

A code quality PR for reflection: rather than messy, errorr-prone manual code, just use our existing macros to define `Reflect` implementations!

+18/-470 is the sort of line count I love to see. Merging once merge conflicts are fixed 😅

GitHubreflect: remove manual `Reflect` impls which could be handled by macros by soqb · Pull Request #12025 · bevyengine/bevyBy soqb

8. github.com/bevyengine/bevy/pul

Adds a `scale_around_center` method to our bounding volumes. The standard `grow` and `shrink` methods change things in absolute, rather than relative terms.

Some nice discussion by reviewers to ensure that the name is clear and the motivation is solid. Really cool to see the `bevy_math` primitives starting to get used in end-user games! Writing your own AABB gets old after the seventh time TBH.

Merging: I think this is useful and clear.

GitHubAdd `scale_around_center` method to `BoundingVolume` trait by chompaa · Pull Request #12142 · bevyengine/bevyBy chompaa

9. github.com/bevyengine/bevy/pul

Adds different joint types (bevel, miter) to our gizmo lines. These will be a little more expensive, but markedly prettier. A nice little bit of polish that will come in handy for the editor, or for the 1 in 100 games that use gizmos in the actual final product.

I'm really pleased with the final API we came up with: it's good to see the review process meaningfully improving submissions. Merging :) More follow-up to do if this interests you!

GitHubGizmo line joints by solis-lumine-vorago · Pull Request #12252 · bevyengine/bevyBy solis-lumine-vorago

10. github.com/bevyengine/bevy/pul

The first bit of work from the refactoring students from Purdue: moving some code around to make the light files less massive. Nice!

Merge conflicts (of course) and the students are off this week, so this one will wait for now. Classic: git is by far the hardest thing for most new open source contributors.

GitHubExtracting ambient light from light.rs, and creating light directory by nbielans · Pull Request #12369 · bevyengine/bevyBy nbielans

11. github.com/bevyengine/bevy/pul

Another little bevy_dev_tool: a simple FPS meter! While I think this is useful, I'm mostly keen on this as another example of a configurable and toggleable developer tool to use to refine github.com/bevyengine/bevy/iss

Our vision here is to have a standard way to configure and toggle these, to make it really easy to hook these up to things like a Quake-style dev console, ensure they play nice and reduce maintenance burden. Merging, but I expect to refine it :)

GitHubFps overlay by matiqo15 · Pull Request #12382 · bevyengine/bevyBy matiqo15

12. github.com/bevyengine/bevy/pul

Oh hey, one of the code quality changes I noticed while doing the bevy_color refactor. For some reason, we were using a `type PositionItem = [f32;3]` type alias when we have a perfectly nice `glam::Vec3` right there.

Great: it's such an awesome feeling to see the tiny issues you help generate get steadily and stochastically fixed up. Merging.

GitHubGizmos: Replace PositionItem with Vec3 by james7132 · Pull Request #12401 · bevyengine/bevyBy james7132

13. github.com/bevyengine/bevy/pul

Ah, more variant methods for getting components from the world. This time, with lifetimes! Rather than returning a reference to a component with a lifetime matching the `EntityMut` etc that it was generated from, instead have it match that of the `World`. Okay sure. Good naming, good thoroughness, covers the untyped APIs.

Maybe the fabled effect system will save us from our endless code duplication here one day 🥲 Merging: well-motivated and has no workaround.

GitHubAdd into_ methods for EntityMut and EntityWorldMut that consume self. by jkb0o · Pull Request #12419 · bevyengine/bevyBy jkb0o

Alright, that's the end of the merge train for this week :) This week (when I am less sick), I think I'm going to spend some time trying to shepherd the abstraction for bevy_dev_tools and figure out the animation story for bevy_color. Both of those are looking to be headline features, and I want to get them set up nicely for the next release :D I really like that sort of API design work, and I think we're ready.

Thanks for reading; stay tuned for more Exciting Bevy News soon*

*CI plz 🙃