Tim's Avatar

Tim

@dev.timjen.net

Contributing to @bevyengine.org and other open-source projects.

15 Followers  |  65 Following  |  11 Posts  |  Joined: 04.03.2025  |  2.231

Latest posts by dev.timjen.net on Bluesky

An example of mirrors in the Bevy game engine. A low-poly fox looks at a reflection of itself in a mirror.

An example of mirrors in the Bevy game engine. A low-poly fox looks at a reflection of itself in a mirror.

I dusted off an old patch and landed the infrastructure for portals and mirrors in Bevy for 0.18: github.com/bevyengine/bevy/pull/13797

This builds the Lengyel oblique clip plane technique into the engine, which is the fastest way to do the clipping necessary for mirrors to work.

10.12.2025 19:17 β€” πŸ‘ 46    πŸ” 8    πŸ’¬ 0    πŸ“Œ 0
Bevy Metrics

The Bevy Metrics dashboard is now live at metrics.bevy.org!

For each Bevy commit this tracks compile times, binary size, and runs stress tests on standardized, real gaming hardware. These are all graphed to identify historical trends and track down commits that improve or regress the state of Bevy!

10.12.2025 22:22 β€” πŸ‘ 56    πŸ” 11    πŸ’¬ 2    πŸ“Œ 1
Video thumbnail

Avian finally has built-in move and slide, the movement and collision algorithm at the heart of kinematic character controllers! #bevy #gamedev #physics #kcc

PR: github.com/avianphysics...

25.11.2025 21:00 β€” πŸ‘ 172    πŸ” 21    πŸ’¬ 4    πŸ“Œ 0

I'm late, but I finally finished by blog post!

It goes over the web features of the #bevy CLI prototype, how we got there and what we still plan to do:
dev.timjen.net/blog/bevy-fi...

08.11.2025 13:34 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Avian Physics 0.4 - Joona Aalto Massive performance improvements, and overhauled forces and joints

I just released version 0.4 of Avian, an ECS-driven physics engine for @bevy.org.

This is the biggest release yet, featuring 3x performance(!), overhauled forces and joints, voxel colliders, Bevy 0.17 support, and much more.

As always, release notes can be found here:
joonaa.dev/blog/09/avia...

13.10.2025 12:09 β€” πŸ‘ 82    πŸ” 13    πŸ’¬ 2    πŸ“Œ 0
Preview
Bevy 0.17 Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!

Bevy 0.17 is out now! It features Raytracing, Improved Observers / Events, UI Widgets, Rust Hotpatching, Light Textures, DLSS, Tilemap Chunks, Web Assets, Reflect Auto-Registration, UI Gradients, Raymarched Atmosphere, Virtual Geometry BVH Culling, and more!

bevy.org/news/bevy-0-17

30.09.2025 19:41 β€” πŸ‘ 227    πŸ” 81    πŸ’¬ 4    πŸ“Œ 8
Preview
Persistent Simulation Islands by Jondolf Β· Pull Request #809 Β· Jondolf/avian Objective Closes #578. Sleeping and waking are crucial for reducing CPU overhead for large game worlds. Up until now, Avian has used basic per-body sleeping that only allows sleeping for dynamic bo...

Today, I finally merged simulation islands for Avian!

Islands are graph-like structures where bodies are connected via contacts or joints. They are used for sleeping and waking, which is crucial for reducing CPU overhead for large scenes with many dynamic bodies.

github.com/Jondolf/avia...

27.09.2025 21:45 β€” πŸ‘ 24    πŸ” 3    πŸ’¬ 2    πŸ“Œ 1
Post image

New blog post: "Realtime Raytracing in Bevy 0.17 (Solari)"
jms55.github.io/posts/2025-0...

20.09.2025 21:23 β€” πŸ‘ 74    πŸ” 17    πŸ’¬ 0    πŸ“Œ 2
Video thumbnail

I’m Not a Robot, a game about solving CAPTCHAs, is out now!

good luck :)

> neal.fun/not-a-robot/

16.09.2025 14:50 β€” πŸ‘ 835    πŸ” 326    πŸ’¬ 53    πŸ“Œ 78
GodotΒ 4.5, making dreams accessible – Godot Engine From mind-blowing effects now made possible by the stencil buffer to accessible descriptions of your GUI elements that opens up the possibility for people with disabilities to play your game β€” we are ...

#GodotEngine 4.5 has finally arrived! πŸŽ‰

With this new release, we made meticulous efforts in order to amplify what is possible to do with our engine, guided by our goal of making gaming and game development for everyone!

godotengine.org/releases/4.5/

15.09.2025 20:30 β€” πŸ‘ 1394    πŸ” 417    πŸ’¬ 30    πŸ“Œ 70
Preview
Bevy's 5th birthday Bevy gets another year older

Some Bevy Birthday thoughts

www.christopherbiscardi.com/bevy-5th-bir...

13.09.2025 01:57 β€” πŸ‘ 33    πŸ” 5    πŸ’¬ 2    πŸ“Œ 0
Preview
crates.io phishing campaign | Rust Blog Empowering everyone to build reliable and efficient software.

We received reports of a phishing campaign targeting crates​.io users. Do not click on links asking to authenticate to protect your account. More information: blog.rust-lang.org/2025/09/12/c...

12.09.2025 14:22 β€” πŸ‘ 113    πŸ” 58    πŸ’¬ 0    πŸ“Œ 2
Video thumbnail

I added a replay system and camera controls to my game and I'm having too much fun now #bevyengine

05.09.2025 17:13 β€” πŸ‘ 78    πŸ” 11    πŸ’¬ 4    πŸ“Œ 0
JMS55's Blog

New blog post: "Bevy's Fifth Birthday - Progress and Production Readiness"

jms55.github.io/posts/2025-0...

03.09.2025 16:19 β€” πŸ‘ 25    πŸ” 5    πŸ’¬ 0    πŸ“Œ 0
Preview
Bevy Merch | Official Merchandise | Bonfire Check out Bevy Merch on Bonfire and shop official merchandise today! Featuring limited edition custom apparel, printed with care in the USA just for you.

We're excited to announce our new Bevy Merch store: merch.bevy.org. You can now show your support for Bevy in style!

25.08.2025 22:09 β€” πŸ‘ 51    πŸ” 12    πŸ’¬ 2    πŸ“Œ 1

It would certainly be interesting if the editor was just one crate in your game's workspace. Initially with default plugins, but then you could expand it with plugins depending on your use cases.
Then, cargo could be our plugin manager for the editor :)

27.08.2025 16:30 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
"The" Bevy Editor should not exist charlotte, for your information

hot take: talking about "the" bevy editor is a trap... we should focus on building composable, modular tools that deliver incremental value, just like everything else we do in @bevy.org www.charlotte.fyi/posts/toward...

26.08.2025 01:43 β€” πŸ‘ 63    πŸ” 10    πŸ’¬ 6    πŸ“Œ 2
Coding Adventure: Ray-Traced Glass and Caustics
YouTube video by Sebastian Lague Coding Adventure: Ray-Traced Glass and Caustics

My latest coding adventure is now up on YT -- some experiments with ray-tracing glass and water, and the cool caustics they can cause
youtu.be/wA1KVZ1eOuA?...

16.08.2025 12:44 β€” πŸ‘ 192    πŸ” 30    πŸ’¬ 6    πŸ“Œ 2

Finally, remember that this feature doesn't make your app multi-threaded by itself!
It just simplifies the process of building and running already multi-threaded apps.

Try out bevy_seedling with firewheel_web_audio to get started with multi-threading, which uses it for audio. No more stutters!

14.08.2025 22:09 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

This is all not very accessible, so the CLI prototype automates it for you!
It also adds the rustflags gracefully without overwriting existing rustflags in the project (which would happen if you specified them manually).

Hopefully this will accelerate development of Wasm multi-threading in Bevy.

14.08.2025 22:09 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

First, you need to manually enable the Wasm multi-threading features, then also rebuild std with those features (which requires nightly).
But when you run the app, it still wouldn't work!
Turns out, security is important. So browsers require you to enable cross-origin isolation headers.

14.08.2025 22:09 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Currently, Bevy runs everything on a single thread when you are targeting the web.
This leaves a lot of performance on the table and can lead to issues like stuttering audio.
Some third-party plugins are adding support for running some parts in different threads, but it makes them quite hard to run!

14.08.2025 22:09 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Enable building and running web apps using Wasm multi-threading by TimJentzsch Β· Pull Request #499 Β· TheBevyFlock/bevy_cli Objective Closes #226. Currently, all web apps are running on a single thread, which leaves a lot of performance on the table. One of Bevy's premises is that it makes multi-threading automatic ...

We just added experimental support to the #bevy CLI prototype to build and run multi threaded web apps!

github.com/TheBevyFlock...

14.08.2025 22:09 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0

wrote about some of the work i've done in the past year and what i'm hoping to accomplish next year in bevy! ✨

www.charlotte.fyi/posts/bevys-...

12.08.2025 19:41 β€” πŸ‘ 55    πŸ” 12    πŸ’¬ 3    πŸ“Œ 0
Preview
Bevy's Fifth Birthday Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!

Today is Bevy's fifth birthday! As always, I've used this as a chance to reflect on the past year and outline my hopes and dreams for the next year of #bevy:

bevy.org/news/bevys-f...

11.08.2025 10:54 β€” πŸ‘ 154    πŸ” 40    πŸ’¬ 4    πŸ“Œ 7
Preview
Allow web headers to be defined in config by TimJentzsch Β· Pull Request #544 Β· TheBevyFlock/bevy_cli Objective Closes #538. You currently can only specify additional web server headers via the --header arg, but not persistently in the config. This would be nice to simplify the command definition a...

2. github.com/TheBevyFlock...

This allows you to specify additional response headers for the local web server used for `bevy run web`.

It was already possible to pass them directly in the command via `--headers`, but with this PR you can also persist them in the `Cargo.toml` via our config system.

10.08.2025 20:44 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

We initially only accounted for the directory to not be a Cargo workspace, but there can be multiple other failure cases that turn out to come up more in practice.

We now ensure that the user can see the original error message by `cargo metadata` to diagnose the issue.

10.08.2025 20:44 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Improve error message when `cargo metadata` fails by TimJentzsch Β· Pull Request #543 Β· TheBevyFlock/bevy_cli Objective Previously, when cargo metadata fails, you'd always get this error: But cargo metadata failing can also have other causes. We also need to original error from cargo metadata to help ...

We landed two improvements for the #bevy CLI alpha today.

1. github.com/TheBevyFlock...

This improves the error message when `cargo metadata` fails. We run this at the start of _every_ CLI command, to understand the structure of the workspace.
So a good UX is crucial here!

10.08.2025 20:44 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

I'm so happy to share that the stairs update is liiiiiive. This is by far our biggest update that we've been cooking since *checks calendar* omg, since March x_x Huge thanks to everyone who helped us test it while in beta <3

Now lemme walk you through some of the new shinies 🧡

29.07.2025 12:02 β€” πŸ‘ 4493    πŸ” 602    πŸ’¬ 94    πŸ“Œ 72
The image of the post above, showing pure black.

The image of the post above, showing pure black.

The image is all black for me, is that intended? :D
I guess rendering a black square could also improve rendering times a lot though, we should consider it!

29.07.2025 09:58 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@dev.timjen.net is following 20 prominent accounts