Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit ad3fbd2

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

File tree

2 files changed

+66
-0
lines changed
Filter options

2 files changed

+66
-0
lines changed
13.4 KB
Loading

‎content/posts/newsletter-014/index.md

Copy file name to clipboardExpand all lines: content/posts/newsletter-014/index.md
+66Lines changed: 66 additions & 0 deletions
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 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.