Skip to content

Commit 4823ef7

Browse files
Release N51 (rust-gamedev#1521)
Co-authored-by: Jan Hohenheim <[email protected]> Co-authored-by: Forest Anderson <[email protected]>
1 parent 21ee91e commit 4823ef7

File tree

3 files changed

+99
-67
lines changed

3 files changed

+99
-67
lines changed

content/news/051/bevy_rep.jpg

255 KB
Loading

content/news/051/fyrox-editor.png

743 KB
Loading

content/news/051/index.md

+99-67
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
+++
22
title = "This Month in Rust GameDev #51 - May 2024"
33
transparent = true
4-
date = 2024-06-03
5-
draft = true
4+
date = 2024-06-05
5+
draft = false
66
+++
77

88
<!-- no toc -->
99

1010
<!-- Check the post with markdownlint-->
1111

12-
Welcome to the 51th issue of the Rust GameDev Workgroup's
12+
Welcome to the 51st issue of the Rust GameDev Workgroup's
1313
monthly newsletter.
1414
[Rust] is a systems language pursuing the trifecta:
1515
safety, concurrency, and speed.
@@ -34,14 +34,8 @@ Feel free to send PRs about your own projects!
3434
- [Engine Updates](#engine-updates)
3535
- [Learning Material Updates](#learning-material-updates)
3636
- [Tooling Updates](#tooling-updates)
37-
- [Library Updates](#library-updates)
38-
- [Popular Workgroup Issues in GitHub](#popular-workgroup-issues-in-github)
3937
- [Other News](#other-news)
40-
- [Meeting Minutes](#meeting-minutes)
41-
- [Discussions](#discussions)
42-
- [Requests for Contribution](#requests-for-contribution)
43-
- [Jobs](#jobs)
44-
- [Bonus](#bonus)
38+
- [Misc. Links](#misc-links)
4539

4640
<!--
4741
Ideal section structure is:
@@ -67,6 +61,29 @@ If needed, a section can be split into subsections with a "------" delimiter.
6761

6862
## Announcements
6963

64+
### Survey Results
65+
66+
Last month, we asked you to fill out a survey to help us improve the rebooted newsletter. Thanks to 52 of you, we've got [some data][survey-data] now!
67+
We analyzed the results in [this blog post][survey_results]. The biggest takeaways are:
68+
- People are generally excited about the newsletter
69+
- The current frequency of the newsletter is good
70+
- Readers do not want anything in the newsletter generated by AI
71+
- Contributing to the newsletter could be easier. If you've got ideas on how to make this happen, please [let us know](https://github.com/rust-gamedev/rust-gamedev.github.io/issues/1519)!
72+
73+
You can visit the [blog post][survey_results] to see the full results and some nice plots.
74+
We will discuss how to act on this feedback next month and keep you updated on the changes we make.
75+
76+
Thanks to everyone who participated!
77+
78+
[survey-data]: https://github.com/janhohenheim/rust-gamedev-statistics/tree/main/jan-hohenheim-2024
79+
[survey_results]: <https://gamedev.rs/blog/survey-02>
80+
81+
### Email Subscription
82+
83+
Last month, we announced that we would add an email subscription option to the newsletter.
84+
Unfortunately, we did not manage to implement this in time for this issue.
85+
He will [work on this feature](https://github.com/rust-gamedev/rust-gamedev.github.io/issues/24) for the next month, and we hope to have it ready for you then.
86+
7087
## Game Updates
7188

7289
### [Way of Rhea][wor]
@@ -92,8 +109,8 @@ You can support development by [purchasing Way of Rhea on Steam][wor], or
92109

93110
### [Untitled Pixel Wizard Game][pixel-wizards]
94111

95-
[![A target being destroyed by a rudimentary flame thrower spell](untitled-pixel-wizards-game.gif)][pixel-wizards]
96-
_A deadly foe meets their end._
112+
[![A target being destroyed by a rudimentary flame thrower spell](untitled-pixel-wizards-game.gif)][pixel-wizards]
113+
_A deadly foe meets its end._
97114

98115
[Untitled Pixel Wizard Game][pixel-wizards] is a local-multiplayer [Noita]-like platformer about
99116
killing baddies using spells powered by pixel physics.
@@ -104,9 +121,7 @@ rigid bodies; see [Bridging Physics Worlds][pixel-wizards-bridging-physics-world
104121
This month:
105122

106123
- [Tilemapping via LDTK][pixel-wizards-tilemapping]: levels got just a tiny bit prettier.
107-
- [Level Progression][pixel-wizards-levels]: players learned to die, and levels link together.
108-
- [Architectural Ruminations][pixel-wizards-arch]: reflections on using Rust for game development,
109-
prompted by LogLog Games's '[Leaving Rust gamedev after 3 years]'.
124+
- [Level Progression][pixel-wizards-levels]: players learn to die, and levels link together.
110125
- [Target Practice][pixel-wizards-targets]: the first "enemy" was added to the game.
111126

112127
[pixel-wizards]: https://slowrush.dev
@@ -116,68 +131,92 @@ This month:
116131
[pixel-wizards-arch]: https://www.slowrush.dev/news/architectural-questions/
117132
[pixel-wizards-levels]: https://www.slowrush.dev/news/level-progression/
118133
[pixel-wizards-tilemapping]: https://www.slowrush.dev/news/tilemapping/
119-
[caspark]: https://github.com/caspark/
120-
[Leaving Rust gamedev after 3 years]: https://loglog.games/blog/leaving-rust-gamedev/
134+
[Leaving Rust game dev after 3 years]: https://loglog.games/blog/leaving-rust-gamedev/
121135

122136
### [mirr/orb]
123137

124-
![mirr/orb](mirrorb.png)
138+
![mirr/orb](mirrorb.png)
139+
_A typical level and its UI_
125140

126141
[mirr/orb] by [syn9]
127142
is a puzzle game about bouncing lasers off mirrors to activate orbs.
128143

129-
The game was created in 9 days using syn9's Rust mini game framework (mgfw) and released on May 27th.
144+
The game was created in 9 days using syn9's Rust mini game framework [mgfw] and released on May 27th.
130145

131146
This release contains 110 levels which pull from 870 available puzzle layouts.
132147

133148
[mirr/orb]: https://syn9dev.itch.io/mirrorb
134149
[syn9]: https://twitter.com/Syn9Dev
150+
[mgfw]: https://github.com/Syn-Nine/mgfw
135151

136152
### [CyberGate Playground][cybergate-shorts]
137153

138-
![Improved Hammer Destruction](cybergate.gif)
154+
![Improved Hammer Destruction](cybergate.gif)
139155
_Shooting a Hammer against a Floating Wall and Destroying part of it_
140156

141157
CyberGate Playground is a multiplayer browser game where players claim territory
142158
by painting the environment in their color, with the goal of overpowering opponents.
143159

144160
The past few months' updates include:
145-
- Flying with butterfly-like mechanics;
146-
- [Fusion Upgrade:][cybergate-fuse] Combine hammers, balls, dices, to multiply their powers;
147-
- Hammer destruction made more challenging and interesting, with upgrades enabling deeper wall penetration;
148-
- Improved Strength and Weight system, and calculate their impact on character movement and abilities;
149-
- Added an 'Owned Upgrades' menu using `yakui` crate, giving a neat overview of all acquired upgrades;
150-
- Many other UI / gameplay improvements based on player feedback;
161+
- Flying with butterfly-like mechanics
162+
- [Fusion Upgrade:][cybergate-fuse] Combine hammers, balls, and dice to multiply their powers
163+
- Hammer destruction made more challenging and interesting, with upgrades enabling deeper wall penetration
164+
- Improved strength and weight system, and calculate their impact on character movement and abilities
165+
- Added an 'Owned Upgrades' menu using `yakui` crate, giving a neat overview of all acquired upgrades
166+
- Many other UI / gameplay improvements based on player feedback
151167

152168
Rust's ownership and strongly typed features played a crucial role in allowing the gameplay code to scale
153169
to more complex and detailed mechanics while retaining correct, clean, and bug-free code.
154170

155171
CyberGate Playground is a passion project.
156-
If you're interested in the game's progress, join the [Discord server][cybergate-discord]
172+
If you're interested in the game's progress, join the [Discord server][cybergate-discord].
157173

158174
[cybergate-shorts]: https://youtube.com/@cyber-gate/shorts
159175
[cybergate-discord]: https://discord.gg/P3D8weeQ7Z
160176
[cybergate-fuse]: https://www.youtube.com/shorts/ewnZ6VVSYMM
161177

162178
## Engine Updates
163179

164-
### [Macroquad]
180+
### Macroquad Newsletter
165181

166-
![quad-gl](twiq_3d_helmet.gif)
182+
![quad-gl](twiq_3d_helmet.gif)
167183
_"Basic" 3d rendering (gltf helmet)_
168184

169-
[@Fedor](https://github.com/not-fl3/), creator of [*Quad], a game engine written in Rust, is starting a [This week in Quads](https://macroquad.rs/twiq) newsletter.
185+
[@Fedor](https://github.com/not-fl3/), creator of [*Quad], a game engine written in Rust, is starting a ["This week in Quads"](https://macroquad.rs/twiq) newsletter.
170186

171-
Overall polish, developer experience, performance optimization and basic 3d visualization have been worked on.
187+
This month overall polish, developer experience, performance optimization, and basic 3d visualization have been worked on.
172188

173-
[Macroquad]: https://github.com/not-fl3/macroquad
174189
[*Quad]: https://www.patreon.com/posts/on-buses-and-101117631
175190

191+
### [Fyrox 0.34][fyrox-release]
192+
193+
![Fyrox editor](fyrox-editor.png)
194+
_The improved Fyrox editor UI_
195+
196+
[Fyrox] got a huge update this month. For those who don't know, Fyrox is a game engine written in Rust that is especially notable for sporting a Unity-like editor.
197+
198+
[This release][fyrox-release] includes code hot reloading, project exporter, assets preview generation, UI prefabs, GLTF support, static and dynamic batching,
199+
keyboard navigation, animation support for UI, editor style and usability improvements, and many more.
200+
201+
[Fyrox]: https://fyrox.rs
202+
[fyrox-release]: https://fyrox.rs/blog/post/fyrox-game-engine-0-34/
203+
204+
### Bevy 0.14 WIP
205+
206+
![Bevy repeated textures](bevy_rep.jpg)
207+
_One of the upcoming features in Bevy 0.14 is easier texture repetition for GLTF objects_
208+
209+
The 0.14 release of [Bevy] nears completion, but the team is still working on detailed
210+
release notes and the migration guide. If you want to help, you can grab one of the [open documentation issues][bevy-docs-issues].
211+
212+
[Bevy]: https://bevyengine.org/
213+
[bevy-docs-issues]: https://github.com/bevyengine/bevy-website/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3AA-Release-Notes
214+
176215
## Learning Material Updates
177216

178217
### Xkcd Machine
179218

180-
![XKCD Machine](xkcd_machine.gif)
219+
![XKCD Machine](xkcd_machine.gif)
181220
_A small part of the XKCD Machine_
182221

183222
Chromakode released a detailed [blog post][xkcd_machine_blogpost] about their implementation of [xkcd "Machine"][xcd_machine_playable].
@@ -192,11 +231,11 @@ Machine is written in React/Typescript, and uses [Rapier][xkcd_rapier]: a physic
192231

193232
### [Rusty Playdate]
194233

195-
![The Playdate console](playdate.png)
234+
![The Playdate console](playdate.png)
196235
_The Playdate console_
197236

198237
[Rusty Playdate] ([GitHub][Rusty Playdate], [Mastodon][Rusty Playdate Masto]) by [@boozook](https://github.com/boozook)
199-
is the large set of crates with bindings, cargo-plugin and toolset for the full cycle of creating games for the [Playdate handheld console][playdate].
238+
is the large set of crates with bindings, cargo-plugin, and toolset for the full cycle of creating games for the [Playdate handheld console][playdate].
200239
This is a fairly new console reminiscent of a GameBoy with a crank handle geared towards indie games.
201240

202241
The current release sports the following notable improvements:
@@ -213,20 +252,14 @@ _Discussions: [GitHub][Rusty Playdate Gh-disc], [Matrix][Rusty Playdate Matrix].
213252
[Rusty Playdate Matrix]: https://matrix.to/#/#playdate.rs:matrix.org
214253
[playdate]: https://play.date/
215254

216-
## Library Updates
217-
218-
## Popular Workgroup Issues in GitHub
219-
220-
<!-- Up to 10 links to interesting issues -->
221-
222255
## Other News
223256

224257
<!-- One-liners for plan items that haven't got their own sections. -->
225258

226259
### Bevy rustunit meetup #3
227260

228-
![Bevy meetup youtube extract](bevy_rustunit_meetup_3.jpg)
229-
_Bevy meetup youtube extract, showing its 3 participants._
261+
![Bevy meetup YouTube extract](bevy_rustunit_meetup_3.jpg)
262+
_Bevy meetup YouTube extract, showing its 3 participants._
230263

231264
[Rustunit][rustunit] has hosted its 3rd unofficial online [Bevy Engine][bevy] meetup on April 19th with the following topics:
232265
- Intro / Code of Conduct
@@ -240,8 +273,8 @@ and join [the meetup group][rustunit_bevy_meetup_event] to get notified of futur
240273

241274
### Bevy rustunit meetup #4
242275

243-
![Bevy meetup youtube extract](bevy_rustunit_meetup_4.jpg)
244-
_Bevy meetup youtube extract, showing its 4 participants._
276+
![Bevy meetup YouTube extract](bevy_rustunit_meetup_4.jpg)
277+
_Bevy meetup YouTube extract, showing its 4 participants._
245278

246279
[Rustunit][rustunit] has hosted its 4th unofficial online [Bevy Engine][bevy] meetup on May 24th with the following topics:
247280
- Francois - Catching Rendering Regressions on all Platforms
@@ -254,7 +287,6 @@ and join [the meetup group][rustunit_bevy_meetup_event] to get notified of futur
254287
[rustunit_bevy_meetup_4_youtube]: https://www.youtube.com/watch?v=rnE_nINEs2M
255288
[rustunit]: https://rustunit.com/
256289
[rustunit_bevy_meetup_event]: https://www.meetup.com/bevy-game-development/
257-
[bevy]: https://bevyengine.org/
258290

259291

260292
### RustNL
@@ -264,12 +296,12 @@ and join [the meetup group][rustunit_bevy_meetup_event] to get notified of futur
264296
While the conference was not specific to game development,
265297
organizers contacted rust game development communities
266298
to showcase games developed in Rust between talks,
267-
which you can [watch on youtube][rustnl_games_youtube].
299+
which you can [watch on YouTube][rustnl_games_youtube].
268300

269301
Special mention to the following talks, relevant to game development:
270-
- [Let's Build High Performance Rust UI][rustnl_kevin_boos_talk] by Kevin Boos
302+
- [Let's Build High-Performance Rust UI][rustnl_kevin_boos_talk] by Kevin Boos
271303
- [A Research Project on Rust User Interface Architecture][rustnl_xilem_talk] by Ralph Levien about [Xilem][rustnl_xilem_intro]
272-
- [(Th)Rust for Space: Initial momentum][rustnl_michael_melchiore_talk] by Michaël Melchiore, who gave a shout out to [Bevy Engine][rustnl_bevy_engine].
304+
- [(Th)Rust for Space: Initial momentum][rustnl_michael_melchiore_talk] by Michaël Melchiore, who gave a shout-out to [Bevy Engine][rustnl_bevy_engine].
273305

274306
[rustnl_main_website]: https://2024.rustnl.org/
275307
[rustnl_games_youtube]: https://www.youtube.com/watch?v=XLefuzE-ABU&t=7583s
@@ -279,32 +311,32 @@ Special mention to the following talks, relevant to game development:
279311
[rustnl_michael_melchiore_talk]: https://www.youtube.com/watch?v=XLefuzE-ABU&t=3898s
280312
[rustnl_bevy_engine]:https://bevyengine.org/
281313

282-
## Meeting Minutes
283-
284-
<!-- Up to 10 most important notes + a link to the full details -->
314+
## Misc. Links
285315

286-
[See all meeting issues][label_meeting] including full text notes
287-
or [join the next meeting][join].
316+
### New libraries
288317

289-
[label_meeting]: https://github.com/rust-gamedev/wg/issues?q=label%3Ameeting
318+
- [egui_ratatui](https://github.com/gold-silver-copper/egui_ratatui): A ratatui backend that is also an egui widget.
319+
Deploy on the web with WASM or ship natively with Bevy, macroquad, or eframe
320+
- [bevy_ratatui_render](https://github.com/cxreiff/bevy_ratatui_render): A Bevy plugin for rendering your game to the terminal using ratatui
321+
- [bevy_light_2d](https://github.com/jgayfer/bevy_light_2d): General purpose 2D lighting for the Bevy game engine
290322

291-
## Discussions
323+
### Library Updates
292324

293-
<!-- Links to handpicked reddit/twitter/urlo/etc threads that provide
294-
useful information -->
325+
- [Kira 0.9](https://github.com/tesselode/kira/releases/tag/v0.9.0): Library for expressive game audio
326+
- [Quinn 0.11.2](https://github.com/quinn-rs/quinn/releases/tag/0.11.2): Async-friendly QUIC implementation in Rust
327+
- [rolt and jolt-sys 0.3.1](https://github.com/SecondHalfGames/jolt-rust/blob/main/CHANGELOG.md#v030): Rust bindings to Jolt Physics
328+
- [Hanabi 0.11](https://github.com/djeedai/bevy_hanabi/blob/v0.11.0/CHANGELOG.md): A GPU particle system plugin for the Bevy game engine
295329

296-
## Requests for Contribution
330+
### Blog Posts
297331

298-
<!-- Links to "good first issue"-labels or direct links to specific tasks -->
299-
300-
## Jobs
301-
302-
<!-- An optional section for new jobs related to Rust gamedev -->
332+
- [Architectural Ruminations][pixel-wizards-arch]: reflections on using Rust for game development,
333+
prompted by LogLog Games's [Leaving Rust game dev after 3 years]
303334

304-
## Bonus
335+
### Videos
305336

306-
<!-- Bonus section to make the newsletter more interesting
307-
and highlight events from the past. -->
337+
- [The Secret Behind Photorealistic And Stylized Graphics](https://www.youtube.com/watch?v=KkOkx0FiHDA):
338+
Explaining the rendering techniques behind photorealistic and stylized graphics
339+
- [GDC: Tunes of the Kingdom](https://www.youtube.com/watch?v=N-dPDsLTrTE): Evolving physics and sounds for ‘The Legend of Zelda: Tears of the Kingdom’
308340

309341
------
310342

0 commit comments

Comments
 (0)