This Week in Bevy

What happened this week in the Bevy Engine ecosystem

Links

Bevy on a Pico, Rhythm Engine, and Robot Rumble

2024-11-25

This week in Bevy we see the tail end of the 0.15 milestone (5 items left as of writing this issue). The release candidate process is a great improvement to Bevy releases (in my opinion) but it will be nice to see 0.15 close out, release, and new features start landing again.

The unofficial Bevy meetup had its 7th livestream which is up on YouTube and includes three talks:

  • Consoles and Beyond: Making Bevy no_std compatible
  • Proving compilers aren't hard with the Bevy Linter
  • In search of Bevy UI escape velocity

Showcase

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

bevy and rekordbox

Bevy + Rekordbox

showcase

The start of a Bevy 0.15 DDJ/Rekordbox visualizer. It currently detects the controller, channels, and effects, then visualizes some bars that animate with the song.

minecraft

Minecraft Title Screen

showcase

An implementation of Minecraft's title screen in Bevy, including support for loading assets and displaying the progress.

card game

Typst Cards

showcase

The card faces in this game (which we also saw in last week's issue) are being composited with Typst. Why Typst? It was a low-time-investment implementation and means prototyping visuals comes with instant feedback.

rhythm game

Rhythm Engine

showcase

Rhythm engine is a rhythm game with gameplay like osu! except hit objects can be any shape and animated. The shapes are polylines and morphing is accomplished using SDFs.

content warning (youtube video): flashing

bevy_cobweb_ui

bevy_cobweb_ui demo

showcase

A demo of bevy_cobweb_ui originally shared at the unofficial Bevy meetup

bevy on a pico

Bevy Raspberry Pi Pico

showcase

Bevy running on a Raspberry Pi Pico with an E-Paper Display. This is an application of the recent no_std work!

#[entry]
fn main() -> ! {
    init_heap();

    App::new()
        .add_plugins(PiPicoDemoPlugin)
        .init_resource::<Counter>()
        .add_systems(Startup, clear_display)
        .add_systems(Update, (
            draw_scene,
            render,
            update_counter
        ).chain())
        .run();

    loop {}
}
shaders and easingsshaders and easings

Bevy 0.15 shaders and easings

showcase

Experiments in using shaders with the new curves and easings functionality in Bevy 0.15.

grid pathfinding

Pathfinding

showcase

An implementation of A* grid pathfinding for this 2d game.

wasabi-16

WASABI-16

showcase

WASABI-16, a Bevy + Wasm fantasy console, has introduced network multiplayer APIs for game cartridges. A WASABI-16 multiplayer game cartridge embodies both client and server logic. A generalized game server, which is a headless Bevy app, can host any multiplayer game cartridge and serve it to clients as they connect.

fire fighting

ECS Refactor

showcase

We saw this project last week and it has since underwent an interesting refactor. Previously the logic was driven by enum variants, but moving to "tag-components" motivated a decrease in system sizes. Read more about the approach in the thread.

voxel editorvoxel editor

Voxel Editor

showcase

A voxel editor built from a custom marching cubes implementation. The marching cubes implementation was based off this YouTube video

robot rumble

Robot Rumble

showcase

This Bevy 0.14 game is a rewrite of a Python implementation. It uses lightyear for networking. The planets are procedurally generated in shaders.

Crates

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

bevy_mod_actuate

crate_release

A prototype for reactive UI and more in Bevy using Actuate: a reactive user-interface framework for Rust.

iyes_progress 0.13.0-rc.1

crate_release

iyes_progress is a progress-tracking crate (and integrates well with crates like bevy_asset_loader). The goal of the crate is to aid in the creation of loading screens that can do more than just asset loading (such as map setup or procedural generation).

0.13.0-rc.1 brings a major overhaul for Bevy 0.15 and there is a migration guide for current users.

v0.22.0-rc.1 of bevy_asset_loader has also been published with support for the iyes_progress release candidate.

bevy_debug_log 0.3

crate_release

bevy_debug_log allows viewing tracing logs inside your Bevy app; particularly on platforms like mobile where you have no easy way to follow the terminal output.

bevy_hui

bevy_hui

crate_release

bevy_hui is a pseudo HTML to bevy_ui templating crate. This is a UI crate built on top of bevy_ui with support for hot-reloading due to the way it uses templates. It is compatible with Bevy 0.15+.

No devlogs this week

Educational

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

Zero to FlyCam A great dev tool till bevy gets an editor

educational

How to make a fly cam.

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