@@ -123,6 +123,56 @@ multiple turn lanes, U-turns, and stop signs much better.
123
123
[ A/B Street ] : https://github.com/a-b-street/abstreet
124
124
[ @dabreegster ] : https://twitter.com/CarlinoDustin
125
125
126
+ ### [ The Process]
127
+
128
+ ![ Animated image showing a small factory in the middle of the game island] ( the_process.gif )
129
+ _ This factory has never looked livelier!_
130
+
131
+ [ The Process] by @setzer22 is an upcoming game about factory building, process
132
+ management and carrot production, built with Rust using the Godot game engine!
133
+
134
+ This month has been focused on improving the game's UI and extending the machine
135
+ logistics system, but there was also room for a few cosmetic improvements:
136
+
137
+ - Improved visualization of connections in the [ logistic
138
+ network] ( https://twitter.com/PlayTheProcess/status/1391484080798281728 ) .
139
+ - Implemented configurable filters for machines to build a [ sorting
140
+ machine] ( https://twitter.com/PlayTheProcess/status/1392894719311613953 ) !
141
+ - New materials and [ terrain
142
+ shader] ( https://twitter.com/PlayTheProcess/status/1396175924652019718 ) .
143
+ - [ Trees and dynamically updating
144
+ grass] ( https://twitter.com/PlayTheProcess/status/1399774534417498121 ) using
145
+ instanced rendering.
146
+
147
+ _ Discussions:
148
+ [ /r/rust_gamedev] ( https://www.reddit.com/r/rust_gamedev/comments/nbmfvz/better_logistics_in_the_process_made_with_godot/ ) ,
149
+ [ Twitter] ( https://twitter.com/PlayTheProcess/status/1391484080798281728 ) _
150
+
151
+ [ The Process ] : https://twitter.com/PlayTheProcess/
152
+
153
+ ### [ pGLOWrpg] [ pglowrpg-github ]
154
+
155
+ ![ Game features] ( pglowrpg_progress.gif )
156
+
157
+ [ pGLOWrpg] [ pglowrpg-github ] by [ @Roal_Yr]
158
+ is a Procedurally Generated Living Open World RPG,
159
+ a long-term project in development, which aims to be a narrative text-based game
160
+ with maximum portability and accessibility.
161
+
162
+ Recent updates include:
163
+
164
+ - Implemented dev features test arena.
165
+ - Implemented entity system draft.
166
+ - Sanitized coordinate systems everywhere (ooof!)
167
+ - Much refactoring.
168
+ - Resumed river generation development.
169
+
170
+ _ Discussions: [ Twitter] [ pglowrpg-twitter ] _
171
+
172
+ [ @Roal_Yr ] : https://twitter.com/Roal_Yr
173
+ [ pglowrpg-twitter ] : https://twitter.com/pglowrpg
174
+ [ pglowrpg-github ] : https://github.com/roalyr/pglowrpg
175
+
126
176
### [ Bounty Bros.] [ bounty_bros ]
127
177
128
178
[ ![ bounty-bros-title-screen] ( bounty-bros.png )] [ bounty_bros_webgame ]
@@ -152,10 +202,40 @@ You can read the full update in the [Blog Post][bounty_bros].
152
202
153
203
## Engine Updates
154
204
205
+ ### [ Rustcraft] [ rustcraft ]
206
+
207
+ ![ rustcraft-img] ( rustcraft.png )
208
+
209
+ [ Rustcraft] [ rustcraft ] by [ @dskart ]
210
+ is a simple Minecraft engine written in Rust using wgpu.
211
+
212
+ It handles infinite world generation using gradient noise as well as placing
213
+ and breaking blocks.
214
+
215
+ [ rustcraft ] : https://github.com/dskart/rustcraft
216
+
155
217
## Learning Material Updates
156
218
157
219
## Library & Tooling Updates
158
220
221
+ ### [ egui]
222
+
223
+ ![ egui] ( egui.gif )
224
+
225
+ [ egui] by [ @emilk ] is an easy-to-use immediate mode GUI library in pure Rust.
226
+
227
+ This month [ version 0.12] of egui was released, with improved plots,
228
+ multitouch, user memory stores, window pivots, and more.
229
+
230
+ You can try out egui in the [ online demo] .
231
+
232
+ _ Discussions: [ /r/rust] ( https://www.reddit.com/r/rust/comments/n9f6vt/announcing_egui_012_the_simple_gui_library/ ) _
233
+
234
+ [ egui ] : https://github.com/emilk/egui
235
+ [ online demo ] : https://emilk.github.io/egui
236
+ [ version 0.12 ] : https://github.com/emilk/egui/blob/master/CHANGELOG.md
237
+ [ @emilk ] : https://twitter.com/ernerfeldt
238
+
159
239
### [ naga]
160
240
161
241
![ Dota2 running on Naga] ( gfx-dota2-naga.jpg )
@@ -173,6 +253,109 @@ done by [naga], roughly 4x as fast as the C++ alternative
173
253
[ gfx-portability ] : https://github.com/gfx-rs/portability
174
254
[ gfx-naga-blog ] : https://gfx-rs.github.io/2021/05/09/dota2-msl-compilation.html
175
255
256
+ ### [ rafx]
257
+
258
+ ![ Rafx Wireframe Demo] ( rafx-wireframe-demo.jpg )
259
+ _ Demo with wireframes enabled_
260
+
261
+ Rafx is a multi-backend renderer that optionally integrates with the
262
+ [ distill] [ rafx-distill ] asset pipeline.
263
+
264
+ This month, [ @dvd ] completed work on the new job system. It implements three
265
+ steps: extract, prepare, and write. These jobs are now more structured, making
266
+ them easier to implement while supporting concurrent execution and reducing
267
+ dynamic allocation. They also integrate with a visibility system to ensure that
268
+ off-screen objects are not processed.
269
+
270
+ [ @aclysma ] continued work on OpenGL ES 2.0/3.0 backends and documented
271
+ [ implementation details] [ rafx-implementation-details ] of currently available
272
+ rendering backends.
273
+
274
+ Additionally, some rendering features were improved and added: mesh rendering
275
+ now uses an instance-rate vertex buffer instead of per-object uniforms,
276
+ improving performance. Rendering features now support wireframe and untextured
277
+ rendering modes. An egui render feature was added, and the demo now uses egui
278
+ instead of imgui.
279
+
280
+ [ rafx ] : https://github.com/aclysma/rafx
281
+ [ rafx-distill ] : https://github.com/amethyst/distill
282
+ [ rafx-implementation-details ] : https://github.com/aclysma/rafx/tree/master/docs/api/backends
283
+ [ @aclysma ] : https://github.com/aclysma
284
+ [ @dvd ] : https://github.com/DavidVonDerau
285
+
286
+ ### [ Bevy Retro] [ bevy_retro ]
287
+
288
+ ![ ui-example] ( bevy-retro.gif )
289
+ _ Bevy Retro UI example_
290
+
291
+ [ Bevy Retro] [ bevy_retro ] is a [ Bevy] plugin designed for making pixel-perfect
292
+ games as easily as possible.
293
+
294
+ This project was released under the [ Katharos License] [ katharos_license ] . This
295
+ license has moral and ethical implications that you may or may not agree with,
296
+ so please read it before making use of this project.
297
+
298
+ In the last two months Bevy Retro has gained a few new features, the biggest of
299
+ which being an integration with the [ RAUI] UI library ( also featured in this
300
+ newsletter ), allowing you to design fully-fledged user interface for Bevy Retro
301
+ games. Additional features added were:
302
+
303
+ - A simple sound playing API
304
+ - Text rendering for the BDF font format
305
+ - Custom render hook support allowing you to use raw [ Luminance] API calls to render
306
+ anything you want into the low-resolution framebuffer
307
+
308
+ You can ask questions or give feedback for Bevy Retro
309
+ [ on GitHub] ( https://github.com/katharostech/bevy_retro/discussions ) .
310
+
311
+ [ bevy_retro ] : https://github.com/katharostech/bevy_retro
312
+ [ Bevy ] : https://bevyengine.org
313
+ [ katharos_license ] : https://github.com/katharostech/katharos-license
314
+ [ Luminance ] : https://github.com/phaazon/luminance-rs
315
+ [ RAUI ] : https://raui-labs.github.io/raui/
316
+
317
+ ### [ Texture Generator]
318
+
319
+ ![ A tilemap with procedural textures] ( texture-generator.png )
320
+ _ A preview to version 0.5 with furniture_
321
+
322
+ [ Texture Generator] by [ Orchaldir] is a library to generate textures,
323
+ and a library to use those textures to render tilemaps.
324
+ Both libraries can generate color & depth images and
325
+ support post processing effects like lighting & ambient occlusion.
326
+ For randomness the instance id (e.g. the 145th brick) and/or the tile id are hashed.
327
+
328
+ The [ current release] focuses on furniture.
329
+
330
+ [ Texture Generator ] : https://github.com/Orchaldir/texture_generator
331
+ [ Orchaldir ] : https://github.com/Orchaldir
332
+ [ current release ] : https://github.com/Orchaldir/texture_generator/projects/8
333
+
334
+ ### [ bevy_asset_loader]
335
+
336
+ ![ Configuring two asset collections] ( bevy_asset_loader.png )
337
+
338
+ ` bevy_asset_loader ` by [ @nikl_me] is a plugin for [ Bevy] [ bevy ] apps aiming to
339
+ improve a common pattern for asset-loading. The boilerplate required to load
340
+ assets during a "loading state" is reduced to a minimum. At the same time, the
341
+ plugin brings together the internal names of assets and their filepath, making
342
+ it easier to add new assets and to keep an overview over already existing ones.
343
+
344
+ The library introduces the ` AssetCollection ` trait that can be derived. Any
345
+ number of asset collections can be loaded by a single ` AssetLoader ` during a
346
+ configured app state. When all assets are loaded, the collections will be
347
+ inserted into Bevy's ECS as resources. Afterwards, the ` AssetLoader ` will
348
+ switch into a second configurable app state. At this point, your app can use
349
+ the asset collections that now contain loaded asset handles.
350
+
351
+ Currently, a single file always corresponds to one asset and more complex
352
+ assets like e.g. ` TextureAtlas ` are not yet supported. There are plans to
353
+ extend the ` asset ` attribute to allow loading more complex assets. Stay tuned!
354
+
355
+ [ bevy_asset_loader ] : https://github.com/NiklasEi/bevy_asset_loader
356
+ [ bevy ] : https://github.com/bevyengine/bevy
357
+ [ @nikl_me ] : https://twitter.com/nikl_me
358
+
176
359
## Popular Workgroup Issues in Github
177
360
178
361
<!-- Up to 10 links to interesting issues -->
0 commit comments