@@ -104,6 +104,142 @@ For full details and a list of breaking changes, see the
104
104
[ tetra ] : https://github.com/17cupsofcoffee/tetra
105
105
[ tetra-changelog ] : https://github.com/17cupsofcoffee/tetra/blob/main/CHANGELOG.md
106
106
107
+ ### [ Bevy Engine v0.4] [ bevy-0-4 ]
108
+
109
+ [ ![ bevy logo] ( bevy_logo.png )] [ bevy ]
110
+
111
+ [ Bevy] [ bevy ] is a refreshingly simple data-driven game engine built in Rust.
112
+ It is [ free and open source] [ bevy-repo ] forever!
113
+
114
+ This month, thanks to 66 contributors, 178 pull requests, and their
115
+ [ generous sponsors] [ bevy-sponsors ] , Bevy 0.4 was released. You can view the
116
+ [ full Bevy 0.4 announcement here] [ bevy-0-4 ] . Here are some highlights:
117
+
118
+ - WASM + WebGL2
119
+ - Bevy now has a WebGL2 render backend!
120
+ - Cross Platform Main Function
121
+ - By adding ` #[bevy_main] ` to your main function,
122
+ you can now publish the same app code to Windows, MacOS, Linux, Android, iOS,
123
+ and Web.
124
+ - Live Shader Reloading
125
+ - Changes to shaders are automatically recompiled and reloaded at runtime for
126
+ fast iteration cycles
127
+ - ECS Improvements
128
+ - Flexible System Parameters
129
+ - You can now specify system parameters in any order
130
+ - Improved compile times
131
+ - _ Much_ simpler IntoSystem implementation
132
+ - Easily define your own system parameters
133
+ - Improved Query Filter API
134
+ - Filters are now defined separately from components and read more naturally
135
+ - System Inputs, Outputs, and Chaining
136
+ - This allows interesting behaviors, such as system error handlers
137
+ - Schedule V2
138
+ - Custom Stages: implement your own stage logic
139
+ - Run Criteria: only run stages when a certain criteria is met
140
+ - Fixed Timestep: stages can now be run on a fixed timestep
141
+ - Typed Stage Builders: ergonomically interact with custom stages
142
+ - States
143
+ - By popular demand, Bevy now supports States. These are logical "app states"
144
+ that allow you to enable/disable systems according to the state your app is in.
145
+ - GLTF Improvements
146
+ - Camera Importing
147
+ - Automatic pixel format conversion for images loaded from a GLTF
148
+ - Default material loading
149
+ - Hierarchy Fixes
150
+ - Spawn Scenes as children
151
+ - Scenes can now be spawned as children, which allows transforming them via
152
+ their parent
153
+ - Dynamic Linking
154
+ - You can now force Bevy to dynamically link, which cuts compile times significantly
155
+ An example that compiles in ~ 1.4 seconds now compiles in ~ 0.5 seconds!
156
+ - Text Layout Improvements
157
+ - Migrated text layout to ` glyph_brush_layout ` , which resolved a number of text
158
+ bugs
159
+ - Renderer Optimization
160
+ - Made most of the cpu render logic incremental, which cut frame time by 2-4x
161
+ - Optimized text rendering, cutting frame time by ~ 3x
162
+ - Reflection API
163
+ - Created a new general-purpose Rust reflection api, which enables interacting
164
+ with Rust types dynamically. This replaced the ` bevy_property ` and ` bevy_type_registry `
165
+ systems
166
+ - 3D Texture Assets
167
+ - Logging and Profiling
168
+ - Bevy now has a new LogPlugin, which uses the ` tracing ` crate internally
169
+ - Created a custom android logcat ` tracing ` backend
170
+ - Visualizing Bevy system execution is now possible using tracing-chrome
171
+ - HIDPI
172
+ - Bevy now handles HIDPI displays properly / displays crisp 2x renders in
173
+ most cases
174
+ - Timer Improvements
175
+ - Quality-of-life improvements: pausing, field accessor methods, ergonomics improvements,
176
+ and internal refactoring / code quality
177
+ - Task System
178
+ - Improved performance (~ 20% in the Breakout example) and resolved a
179
+ deadlock in single-thread task pools.
180
+ - Apple Silicon support
181
+
182
+ _ Discussions:
183
+ [ /r/rust] ( https://www.reddit.com/r/rust/comments/kge7zy/bevy_04/ ) ,
184
+ [ hacker news] ( https://news.ycombinator.com/item?id=25480321 ) ,
185
+ [ twitter] ( https://twitter.com/cart_cart/status/1340376850560905218 ) _
186
+
187
+ [ bevy ] : https://bevyengine.org
188
+ [ bevy-repo ] : https://github.com/bevyengine/bevy
189
+ [ bevy-0-4 ] : https://bevyengine.org/news/bevy-0-4
190
+ [ bevy-sponsors ] : https://github.com/sponsors/cart
191
+
192
+ Join Bevy's [ Discord] [ bevy-discord ] , [ /r/bevy subreddit] [ bevy-reddit ] ,
193
+ and follow [ @BevyEngine on Twitter] [ bevy-twitter ] .
194
+
195
+ [ bevy-discord ] : https://discord.com/invite/gMUk5Ph
196
+ [ bevy-reddit ] : https://reddit.com/r/bevy
197
+ [ bevy-twitter ] : https://twitter.com/BevyEngine
198
+
199
+ ------
200
+
201
+ Community Plugin Updates:
202
+
203
+ - [ bevy_webgl2] ( https://github.com/mrk-its/bevy_webgl2 ) :
204
+ WebGL2 renderer plugin for WASM target
205
+ - [ bevy_rapier] ( https://github.com/dimforge/bevy_rapier ) :
206
+ Rapier Physics' official Bevy plugin was updated to support Bevy 0.4.
207
+ - [ bevy_megaui] ( https://github.com/mvlabat/bevy_megaui ) : A plugin for
208
+ [ megaui] ( https://crates.io/crates/megaui ) integration into Bevy
209
+ - [ bevy_prototype_inline_assets] ( https://crates.io/crates/bevy_prototype_inline_assets ) :
210
+ A simple plugin for bundling assets into your binary.
211
+ - [ bevy_doryen] ( https://github.com/smokku/bevy_doryen ) : A plugin integrating Bevy
212
+ ECS with [ doryen-rs] ( https://github.com/jice-nospam/doryen-rs ) Ascii
213
+ roguelike library.
214
+ - [ bevy_discovery] ( https://crates.io/crates/bevy_discovery ) : Automatically detects
215
+ and registers systems for you.
216
+ - [ bevy_prototype_parallax] ( https://github.com/btrepp/bevy-prototype-parallax ) :
217
+ A parallax scrolling background plugin.
218
+ - [ Kurinji] ( https://crates.io/crates/kurinji ) : Input Map for bevy. Converts user
219
+ input from different input hardware into game specific actions, eg. keyboard
220
+ "Space" or joystick "A" can be mapped to "Jump" Action. This allows decoupling
221
+ of the game code from device specific input api.
222
+ - [ bevy-earcutr] ( https://github.com/frewsxcv/bevy-earcutr ) : Draw polygons
223
+ - [ bevy_stl] ( https://github.com/nilclass/bevy_stl ) : STL mesh asset loader plugin
224
+
225
+ Community Tutorial Updates:
226
+
227
+ - [ Making Chess Clone in 3D] ( https://caballerocoll.com/blog/bevy-chess-tutorial ) :
228
+ Walkthrough on how to make a Chess Clone with 3D pieces
229
+ - [ 0.3 to 0.4 Migration Guide] ( https://sburris.xyz/posts/bevy-update-0-4/ )
230
+ - [ Bevy Chinese Website(Bevy中文网)] ( https://bevyengine-cn.github.io/ ) : Translate
231
+ official website and The Bevy Book in Chinese
232
+
233
+ Community Game Updates:
234
+
235
+ - [ Robbo] ( https://github.com/mrk-its/bevy-robbo ) :
236
+ Bevy port of great 8-bit Atari game, working native and in the browser
237
+ - [ SiO2] ( https://github.com/dmitriy-shmilo/sio2 ) : A simple powder toy clone
238
+ - [ snake_bevy] ( https://github.com/mtKeller/snake_bevy ) : It's Snake!
239
+ - [ DJMcNab/life-rs] ( https://github.com/DJMcNab/life-rs ) : Bevy reproduction of the
240
+ rules of [ Conway's Game of Life] ( https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life )
241
+ on a randomised board. Alternative implementation: [ Byteron/life-rs] ( https://github.com/Byteron/life-rs ) .
242
+
107
243
## Popular Workgroup Issues in Github
108
244
109
245
<!-- Up to 10 links to interesting issues -->
0 commit comments