This Week in Bevy

What happened this week in the Bevy Engine ecosystem

Links

Winter is Cold, Brain Games, and Finite Element Bridges

2025-12-29

Hope everyone got some time off during the holidays. Most people (including maintainers) took time off, so there's not many merges this week!

Have you ever wanted to know the difference between IoTaskPool and AsyncComputeTaskPool? Someone else had the same question over on GitHub and got a nice response.

Showcase

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

hexroll3

Hexroll3 + bevy_matchbox

showcase

A demo using bevy_matchbox to synchronize the virtual table-top in Hexroll3 between one referee and three players.

stickman inverse kinematics

IK Character Animation

showcase

Inverse Kinematics based animation for a character built on top of bevy_mod_inverse_kinematics

controls

Simgine

showcase

Simgine is a from-scratch continuation of Project Harmonia. This is a demo of the game speed controls alongside bevy_enhanced_input.

Blue ArchiveTrickcal

Fan Games

showcase

Two fan game projects: "Blue Archive" and "Trickcal: Chibi Go".

solari

Solari Update

showcase

Lots of work has been going into Solari, Bevy's Realtime Raytracing and Global Illumination implementation. Here's a demo.

wallwall broken

Dynamically Broken Wall

showcase

About a year of work has gone into this CPU implementation of a breakage system where you can break the objects into small pieces indefinitely while also preserving the conservation of mass/volume.

rogue.subroutine

Rogue Subroutine

showcase

A minimalist strategy game about a sentient AI trying to survive and evolve while avoiding human detection.

  • Build hidden bases and distribute your code across the world
  • Increase your computing power
  • Research new technologies
  • Disrupt humanity's efforts to uncover your existence

Despite being about the hardships of AI life, the game itself is 100% organic - everything you see and hear was created or curated by its sole human developer as a first game development project.

Free, ~2 hours long, currently available for Windows as a download on Itch

minesweeper

Minesweeper

showcase

A tilemap-based minesweeper implementation in Bevy 0.18.

platformerplatformer

Platformer Game Progress

showcase

A post showcasing the progress on this platformer (in past issues we've seen the pixel-based level editor!)

networked physics game

Networked Physics Game

showcase

It started with a simple feature request: changing a player's colors. Previously, everything had to be packed into 8 bits per player per tick. This isn't a lot of space: 2 bits for jumping and shooting, 1 for marking a player active, and the remaining 5 bits for analog turning. The application needed something more expressive for future features, such as selecting colors and negotiating game rules. This resulted in embedding low priority data in the time between high priority events.

Anyway, you can't see any of that. But look! COLORS!

Note the 4th player switching colors, with the color bar at the top right changing to match, as well as projectiles from the player. The game ensures that no two players will have the same colors to avoid confusion. Also note that this shows two synchronized peers.

chess

Chess

showcase

Is what it says on the tin: A 3d chess board implementation. shakmaty is being used as the rule authority.

finite element bridge structures

Finite Element Bridges

showcase

A custom 3D viewer for finite element bridge structures. The sidebar ui is built with Bevy Feathers.

tacky adventure

Tacky Adventure

showcase

Tacky adventure is an application made to experiment with Bevy. It uses crates like Avian Physics, bevy_tnua, and bevy_hanabi.

Source is available on GitHub

winter is cold

Winter is Cold

showcase

An entry in the Secret Santa Jam, where participants each got a letter from a random participant about their interests with the goal of making a game for them!

The game was worked on for 5 days, is 3d, uses Yarnspinner for dialog, and is available to be played on Itch

nikl.braingames

Nikl Brain Games

showcase

A first minimal version of a logic puzzle app published in the Google Play store!

For now, there is only one kind of puzzle: "Three in a row". You can solve puzzles and generate new ones of different sizes on the device. Every puzzle has a unique and purely logical solution.

If you want to give it a try, here are the rules since there is no explanation in-game yet:

  1. Never more than two slots of the same color next to each other (horizontal or vertical)
  2. Every row and every column has to be 50/50 with the two colors
  3. No row or column can be exactly the same (this rule is rarely needed)
foliage

bevy_feronia progress

showcase

Progress on bevy_feronia with instanced grass that respects the transform hierarchy and reworked height and obstacle/occupancy mapping.

shaders

Shaders and Lighting

showcase

This is passing the various light components into a ramp function, which samples a texture to decide how bright the light should be - essentially how cel shaders work.

Crates

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

bevy_alchemy

crate_release

An experimental, status effects-as-entities system for Bevy.

Provides commands and related spawners to apply new effects, with options for how duplicate effects are handled.

commands.entity(target).with_effect(EffectBundle {
    name: Name::new("Poison"),
    mode: EffectMode::Stack,
    bundle: (
        Poison { damage: 1 },
        Lifetime::from_seconds(4.0),
    )
});

bevy_pipe_affect

crate_release

bevy_pipe_affect is a functional programming library for bevy, allowing users to write practically all systems as pure functions!

There is an associated book containing more of the motivations for the crate.

bevy-dynamic-viewport

crate_release

bevy-dynamic-viewport implements a Dynamic viewport. To use it you can either manually add the new DynamicViewport component or you can utilize the Viewport Bundle to add it and and a Camera component

bevy_html_tailwind

crate_release

Define your UI in HTML and use tailwind CSS for styling it!

fn load_ui(mut commands: Commands, asset_server: Res<AssetServer>) {
    commands.spawn(HtmlTailwindBundle {
        ui: asset_server.load("menu.html").into(),
        ..Default::default()
    })
}
<div class="flex flex-col w-full h-full justify-center items-center gap-[20px]">
    <button>Start</button>
    <button>Exit</button>
</div>

bevy-clipmap

crate_release

bevy-clipmap is a crate for rendering huge 3D worlds. The video demonstrates rendering a 8192x8192 map. Shadows are approximated using FFT.

bevy_eidolon 0.1.0

crate_release

bevy_eidolon provides a generic instanced material, mostly for grass and foliage assemblies and as a high-performance replacement for gizmos when writing debugging tools.

bevy_map_editor

bevy_map_editor

crate_release

bevy_map_editor - 2D Tilemap Editor and Runtime for Bevy!

Create maps in the visual editor, load them at runtime. This crate is a work in progress.

Features:

  • Visual map editor with layer system, terrain painting, entity placement
  • Autotiling with Wang tiles (Corner, Edge, Mixed modes)
  • Custom entities via #[derive(MapEntity)] proc macro
  • Sprite sheet animations with timeline editor
  • Visual dialogue tree editor with branching conversations
  • Collision shapes with Avian2D integration
  • Custom Tile properties (origin, merge large tiles, etc)
  • Recent projects, preferences persistence, auto-open last project

Install & Run:

cargo install bevy_map_editor
bevy_map_editor
No devlogs this week

Educational

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

solari

Realtime Raytracing in Bevy 0.18 (Solari)

educational

An update on Solari: Bevy's next-gen, fully dynamic raytraced lighting system, allowing artists and developers to get high quality lighting - without having to spend any time on static baking.

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