Skip to content

Commit ad3fbd2

Browse files
cartozkriff
andauthored
N14: Bevy Engine (#297)
* N14: Bevy Engine * N14: Bevy: Style tweaks & trim some details Co-authored-by: Andrey Lesnikov <ozkriff@gmail.com>
1 parent 9a8859d commit ad3fbd2

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed
13.4 KB
Loading

content/posts/newsletter-014/index.md

+66
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,72 @@ extensions for Tetra. This includes:
654654
[puppetmaster]: https://github.com/puppetmaster-
655655
[tetrapack]: https://github.com/puppetmaster-/tetrapack
656656

657+
### [Bevy Engine v0.2][bevy-0-2]
658+
659+
[![bevy logo](bevy_logo.png)][bevy]
660+
661+
[Bevy][bevy] is a refreshingly simple data-driven game engine built in Rust.
662+
It is [free and open source][bevy-repo] forever!
663+
664+
This month, thanks to 87 contributors, 174 pull requests, and their
665+
[generous sponsors][bevy-sponsors], Bevy 0.2 was released. You can view the
666+
[full Bevy 0.2 announcement here][bevy-0-2]. Here are some highlights:
667+
668+
- Async Task System: Bevy now has a brand new async-friendly task system,
669+
which enables the creation of context-specific task pools. For example, you might
670+
have separate pools for compute, IO, networking, etc. This also provides the
671+
flexibility to load balance work appropriately according to work type and/or priority.
672+
This new task system completely replaces Rayon and the cpu usage wins were huge!
673+
- Initial Web Platform Support: (A subset of) Bevy now runs on the web using
674+
WebAssembly/WASM! Specifically, Bevy apps can run Bevy ECS schedules, react to
675+
input events, create an empty canvas (using winit), and a few other things. This
676+
is a huge first step, but it is important to call out that there are still a
677+
number of missing pieces, such as 2D/3D rendering, multi-threading, and sound.
678+
- Parallel Queries: Systems that use queries already run in parallel,
679+
but before this change the queries themselves could not be iterated in parallel.
680+
Bevy 0.2 adds the ability to easily iterate queries in parallel, which builds on
681+
top of the new Async Task System.
682+
- Transform System Rewrite: Bevy's old transform system used separate
683+
`Translation`, `Rotation`, and `Scale` components as the "source of truth",
684+
which were then synced to a `LocalTransform` component after each update. There
685+
are Good Reasons™ to use this approach, but it created a "lag" between the
686+
calculated LocalTransform and the source components and dataflow between components
687+
is hard to reason about. This problem was resolved by making a newer, simpler
688+
transform system that uses a consolidated `Transform` type.
689+
- Joystick/Gamepad Input: The Bevy Input plugin now has cross-platform support
690+
for most controllers thanks to the gilrs library!
691+
- Bevy ECS Performance Improvements: generational entity IDs,
692+
read-only queries, lock-free world APIs, direct component lookup.
693+
694+
Community plugin updates:
695+
696+
- [bevy_rapier](https://github.com/dimforge/bevy_rapier):
697+
Rapier Physics' official Bevy plugin was updated to support Bevy 0.2.
698+
- [bevy_ninepatch](https://crates.io/crates/bevy_ninepatch):
699+
Display 9-Patch UI elements, where you can specify how
700+
different parts of a PNG should grow.
701+
- [bevy_mod_picking](https://github.com/aevyrie/bevy_mod_picking): 3d cursor
702+
picking and highlighting.
703+
- [bevy_contrib_colors](https://crates.io/crates/bevy_contrib_colors):
704+
A simple color library.
705+
- [bevy_input_map](https://crates.io/crates/bevy_prototype_input_map):
706+
Converts user inputs from different input hardware into game specific actions.
707+
Ex: keyboard "Space" or joystick "A" can be mapped to a "Jump" Action.
708+
- [bevy_prototype_lyon](https://github.com/Nilirad/bevy_prototype_lyon):
709+
Draw 2D shapes, like triangles, circles, and beziers.
710+
- [bevy_contrib_inspector](https://github.com/jakobhellermann/bevy-contrib-inspector):
711+
Visually edit fields of your bevy resources in a browser or native view.
712+
713+
_Discussions:
714+
[/r/rust](https://reddit.com/r/rust/comments/iw1yyp/bevy_02),
715+
[hacker news](https://news.ycombinator.com/item?id=24530698),
716+
[twitter](https://twitter.com/cart_cart/status/1307445918535315456)_
717+
718+
[bevy]: https://bevyengine.org
719+
[bevy-repo]: https://github.com/bevyengine/bevy
720+
[bevy-0-2]: https://bevyengine.org/news/bevy-0-2
721+
[bevy-sponsors]: https://github.com/sponsors/cart
722+
657723
### [rg3d][rg3d]
658724

659725
[![a scene with lightning and a hi-poly character model](rg3d.jpg)][rg3d_twitter]

0 commit comments

Comments
 (0)