Skip to content

Commit dd57aaf

Browse files
authored
Merge branch 'source' into n22-bounty-bros
2 parents fd1df7c + 28f6240 commit dd57aaf

File tree

10 files changed

+184
-0
lines changed

10 files changed

+184
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
public/
2+
.idea/

content/news/022/bevy-retro.gif

621 KB
Loading
121 KB
Loading

content/news/022/egui.gif

1.7 MB
Loading

content/news/022/index.md

Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,56 @@ multiple turn lanes, U-turns, and stop signs much better.
123123
[A/B Street]: https://github.com/a-b-street/abstreet
124124
[@dabreegster]: https://twitter.com/CarlinoDustin
125125

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+
126176
### [Bounty Bros.][bounty_bros]
127177

128178
[![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].
152202

153203
## Engine Updates
154204

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+
155217
## Learning Material Updates
156218

157219
## Library & Tooling Updates
158220

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+
159239
### [naga]
160240

161241
![Dota2 running on Naga](gfx-dota2-naga.jpg)
@@ -173,6 +253,109 @@ done by [naga], roughly 4x as fast as the C++ alternative
173253
[gfx-portability]: https://github.com/gfx-rs/portability
174254
[gfx-naga-blog]: https://gfx-rs.github.io/2021/05/09/dota2-msl-compilation.html
175255

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+
176359
## Popular Workgroup Issues in Github
177360

178361
<!-- Up to 10 links to interesting issues -->
652 KB
Loading
292 KB
Loading

content/news/022/rustcraft.png

153 KB
Loading
270 KB
Loading

content/news/022/the_process.gif

1.67 MB
Loading

0 commit comments

Comments
 (0)