This Week in Bevy

What happened this week in the Bevy Engine ecosystem

Links

Tilemaps, Multiplayer, and Mesh merging

2024-02-19

Welcome to another week in the Bevy ecosystem!

This week we've got a wide assortment of showcases, from 3d movement to world generation and more than a few mentions of multiplayer networking.

The long awaited bevy_ecs_tilemap support for Bevy 0.12 is released. This brings bevy_ecs_ldtk's support for Bevy 0.12 with it as well.

Alice posted another #bevymergetrain on mastodon. These threads are always a great place to gain some additional insight into currently open pull requests.

Jondolf added Mesh::merge which makes combining multiple meshes into one mesh significantly easier.

let mut cuboid = Mesh::from(shape::Box::default());
let mut cylinder = Mesh::from(shape::Cylinder::default());
let mut torus = Mesh::from(shape::Torus::default());

cuboid.merge(cylinder);
cuboid.merge(torus);

If you're looking to get started contributing, perhaps consider trying to document the Image type or ScheduleLabel's dependencies.

Bevy 0.13 is coming soon. Although Bevy's release schedule aims for a release every 3 months, there is no firm release date even though we can already start to see preparations for the release.

Showcase

Bevy work from the #showcase channel in Discord and around the internet. Use hashtag #bevyengine.

Brush painting landscapes

Brush tools for a terrain editor

showcase

Brush tools for building terrain was added to bevy_mesh_terrain_editor

starwolf 1st person Netcode + Physics rollback and corrections

Starwolves: Space

showcase

Physics prediction and netcode for a first-person prototype. Includes a video, a blog post, and the source code

hexagons are the bestagons

Map controls

showcase

Map controls for a WIP game based using the hexx crate.

visualizing chords with note circle

Visualizing melodies and chords

showcase

A web-runnable prototype dedicated to visualizing melodies and chords. Source is available on GitHub.

3d character movement demo

3d character movement demo

showcase

A movement demo from someone's first game! Includes a YouTube Video showing off the movement. Notably includes pretty smooth 3d animations using the animation player.

Tree, vine, and foliage generation in Ethertia

Ethertum Foliage/Vine/Tree generation

showcase

Ethertia is a multiplayer sandbox survival game taking inspiration from Minecraft that introduced new generation for foliage, vines, and trees this week.

There is a YouTube video showcasing some of the world generation as well as a GitHub repo with the source code.

settletopia settlement creation

Settletopia

showcase

Settletopia is a multiplayer settlement management and kingdom development game that added multiple new features this week, including expedition creations, new settlement creation, and caravans for transporting resources. Includes a YouTube video showing off some of the new features.

Crates

New releases to crates.io and substantial updates to existing projects

bevy_ecs_tilemap v0.12.0

crate_release

bevy_ecs_tilemap gets its Bevy 0.12 compatibility release. The crate is an implementation of tilemaps where each tile is its own entity in the ECS.

The discord url for this one also includes a discussion that will be interesting to other open source maintainers around migration guides and the weight of technical writing in open source.

seldom_pixel 0.5

crate_release

seldom_pixel is a crate for limiting color palettes. 0.5 brings Bevy 0.12 support.

seldom_pixel also offers optional support for bevy_ecs_tilemap

bevy_replicon 0.22.0

crate_release

bevy_replicon is a high-level networking crate for Bevy.

There is a full changelog in the repo.

lightyear 0.9.0

crate_release

lightyear is a server-authoritative networking library for Bevy. The 0.9.0 release brings a new websocket Transport as well as support for bandwidth limiting and priority management.

lightyear includes its own book detailing the features of the crate and how to use them from beginner to advanced.

bevy_tiled_blueprints' first release

crate_release

bevy_tiled_blueprints is a library for reading output from the Tiled level editor into Bevy apps.

bevy_ehttp's first release

crate_release

bevy_ehttp handling web requests using ehttp, that works on WASM and native versions.

Kayak v0.5.0

crate_release

Kayak is an alternative to bevy_ui that is in the early stages of development. 0.5 notably brings Bevy 0.12 support (as the library skipped Bevy 0.11) and updates to the batching/z-sorting to make it more robust.

There is a book that summarizes the features.

warbler_grass 0.5

crate_release

warbler_grass is a crate for efficiently rendering 3d grass using actual meshes. 0.5 brings Bevy 0.12 support as well as enabling the use of normal maps, making spherical grass planes possible.

bevy_ecs_ldtk 0.9

crate_release

bevy_ecs_ldtk is a formalization of support for the LDtk level editor built on top of bevy_ecs_tilemap. This release brings Bevy 0.12 and LDtk 1.5.3 support and includes a rewrite to the asset types with a more correct memory model, better APIs, and better performance.

A new bevy_ecs_ldtk documentation book is now in-progress and includes a migration guide for upgrading from 0.8 to 0.9.

Devlogs

vlog style updates from long-term projects

Start Screen for ¿Quién es el Mechaburro?

¿Quién es el Mechaburro?

devlog

¿Quién es el Mechaburro? was originally an entry to the very first Bevy game jam (The theme was "Unfair Advantage").

¿Quién es el Mechaburro? is a singleplayer/local multiplayer game (up to 8 players) with bots (8 total burros) inspired by twin-stick shooters, aspects of mario kart and a card game I played with my family growing up called "Burro."

This devlog covers a whole host of new features, upgrades across bevy versions, and showcasing at a local arcade bar.

Educational

Tutorials, deep dives, and other information on developing Bevy applications, games, and plugins

Opinionated Build Practices

educational

tbillington maintains an opinionated practices repo in bevy_best_practices. The repo now contains their practices for building Bevy projects which includes alternative task runners like just and alternative linker suggestions.

Pull Requests Merged This Week
Contributing

Want to contribute to Bevy?

Here you can find two types of potential contribution: Pull Requests that might need review and Issues that might need to be worked on.

How do I contribute?

Pull Requests Opened this week

Issues Opened this week