@@ -31,20 +31,15 @@ Feel free to send PRs about your own projects!
31
31
32
32
- [ Announcements] ( #announcements )
33
33
- [ Game Updates] ( #game-updates )
34
- - [ Untitled Pixel Wizards Game] ( #untitled-pixel-wizards-game )
35
34
- [ Engine Updates] ( #engine-updates )
36
35
- [ Learning Material Updates] ( #learning-material-updates )
37
36
- [ Tooling Updates] ( #tooling-updates )
38
37
- [ Library Updates] ( #library-updates )
39
- - [ Popular Workgroup Issues in GitHub] ( #popular-workgroup-issues-in-github )
40
- - [ Other News] ( #other-news )
41
- - [ Metalmancy @ OpenSauce] ( #metalmancy-opensauce )
42
- - [ Meeting Minutes] ( #meeting-minutes )
43
- - [ Discussions] ( #discussions )
44
- - [ Requests for Contribution] ( #requests-for-contribution )
38
+ - [ Interviews] ( #interviews )
39
+ - [ Blog Posts] ( #blog-posts )
45
40
- [ Jobs] ( #jobs )
46
- - [ Bonus ] ( #bonus )
47
- - [ Future news ] ( #future-news )
41
+ - [ Misc. Links ] ( #misc-links )
42
+ - [ Future News ] ( #future-news )
48
43
49
44
<!--
50
45
Ideal section structure is:
@@ -70,15 +65,14 @@ If needed, a section can be split into subsections with a "------" delimiter.
70
65
71
66
## Announcements
72
67
68
+ TODO: I'll be working on adding an email subscription this weekend, so I'll write about it here once that's done :) - Jan
69
+
73
70
## Game Updates
74
71
75
72
### [ Untitled Pixel Wizards Game] [ pixel-wizards ]
76
73
77
74
{{ embed_video(type="video/mp4", src="untitled-pixel-wizards-game.mp4",
78
- caption="Enemies now perceive, pursue and attack.. and occasionally get burned to death.") }}
79
-
80
- [ ![ A Hound chases a player, and its corpse ragdolls after it is burned to death by a fireball] ( untitled-pixel-wizards-game.gif )] [ pixel-wizards ]
81
- _ Enemies now perceive, pursue and attack.. and occasionally get burned to death._
75
+ caption="Enemies now perceive, pursue and attack.. and occasionally get burned to death.") }}
82
76
83
77
[ Untitled Pixel Wizards Game] [ pixel-wizards ] is a local-multiplayer [ Noita] -like platformer about
84
78
killing baddies using spells powered by pixel physics. This month was focused on juicing up said baddies:
@@ -99,19 +93,20 @@ killing baddies using spells powered by pixel physics. This month was focused on
99
93
100
94
### [ Gunbug] [ gunbug ]
101
95
102
- [ ![ Gunbug] ( gunbug.jpg )] [ gunbug ]
96
+ [ ![ Gunbugs shooting at a bunch of eggplants] ( gunbug.jpg )] [ gunbug ]
97
+ _ Gunbugs shooting at a bunch of eggplants_
103
98
104
99
Gunbug is a 2D online co-op horde survival shoot'em up game.
105
100
106
- Gunbug focuses on shooting lots of enemies with lots of guns. It can be played
101
+ It focuses on shooting lots of enemies with lots of guns. It can be played
107
102
solo or with up to 10 players.
108
103
109
- It is built with the [ Bevy] game engine. It uses [ bevy_rapier] for ray casting,
110
- [ bevy_kira_audio] for audio, and [ renet] for networking. iOS and MacOS versions
111
- are built with [ xbuild] .
104
+ It is built with [ Bevy] and uses [ bevy_rapier] for ray casting,
105
+ [ bevy_kira_audio] for audio, and [ renet] for networking.
106
+ The iOS and macOS versions are built with [ xbuild] .
112
107
113
- You can wishlist the game on [ Steam] [ gunbug ] . Playtests start in the upcoming
114
- months. iOS and Android builds already work, but store pages don't exist yet.
108
+ You can wishlist the game on [ Steam] [ gunbug ] . Playtests start in the upcomingv months.
109
+ iOS and Android builds already work, but store pages don't exist yet.
115
110
116
111
[ gunbug ] : https://store.steampowered.com/app/2946990?utm_source=this_month_in_rust
117
112
[ xbuild ] : https://github.com/rust-mobile/xbuild
@@ -124,7 +119,7 @@ months. iOS and Android builds already work, but store pages don't exist yet.
124
119
125
120
### [ godot-rust]
126
121
127
- ![ godot-rust logo] ( godot-rust.png )
122
+ ![ godot-rust logo] ( godot-rust.jpg )
128
123
129
124
godot-rust ([ GitHub] [ gd-github ] , [ Discord] [ gd-discord ] , [ Mastodon] [ gd-mastodon ] , [ Twitter] [ gd-twitter ] ) by [ @Bromeon ]
130
125
provides Rust bindings for the [ Godot engine] ( https://godotengine.org/ ) .
@@ -156,8 +151,54 @@ _See also the [devlog article][gd-dev-june]._
156
151
[ gd-twitter ] : https://twitter.com/GodotRust
157
152
[ godot-rust ] : https://godot-rust.github.io
158
153
154
+ ### [ Bevy 0.14 Release Candidate] [ bevy-0.14-rc ]
155
+
156
+ ![ Sharp Screen-Space Reflections in Bevy 0.14] ( ssr.jpg )
157
+ _ Sharp Screen-Space Reflections in Bevy 0.14_
158
+
159
+ The Bevy game engine is gearing up to release version 0.14.
160
+ The (probably) last release candidate is out now and ready for testing.
161
+ If you want to help out,
162
+ check out the [ draft release notes] [ bevy-0.14-rc ] and the [ draft migration guide] [ bevy-0.14-rc-migration ] and report any issues you find.
163
+
164
+ [ bevy-0.14-rc ] : https://bevyengine.org/news/draft-bevy-0-14/
165
+ [ bevy-0.14-rc-migration ] : https://bevyengine.org/learn/migration-guides/0-13-to-0-14/
166
+
159
167
## Learning Material Updates
160
168
169
+ ### [ Bevy Cheatbook] [ bevy-cheatbook ]
170
+
171
+ The community-beloved unofficial [ Bevy Cheatbook] [ bevy-cheatbook ] by Ida "Iyes" is a collection of Bevy tutorials, recipes and advanced documentation.
172
+ The cheatbook is currently in the process of being updated to Bevy 0.14 and now features the following new chapters:
173
+ - [ Transform Interpolation/Extrapolation] ( https://bevy-cheatbook.github.io/cookbook/smooth-movement.html ) :
174
+ How to get smooth-looking movement on-screen for things you simulate in FixedUpdate
175
+ - [ Internal Parallelism] ( https://bevy-cheatbook.github.io/programming/par-iter.html ) :
176
+ Multithreading within a Bevy system
177
+ - [ One-Shot Systems] ( https://bevy-cheatbook.github.io/programming/one-shot-systems.html ) :
178
+ Systems that you run on-demand, not in a schedule
179
+ - [ Background Computation] ( https://bevy-cheatbook.github.io/fundamentals/async-compute.html ) :
180
+ How to do processing that may span multiple frame updates and not hold up the game's framerate with long CPU work.
181
+
182
+ [ bevy-cheatbook ] : https://bevy-cheatbook.github.io/
183
+
184
+ ### [ Game development in Rust with Macroquad] [ macro-learning ]
185
+
186
+ Olle Wreede of [ Agical] [ agical ] published a [ complete guide] [ macro-learning ] on
187
+ how to develop a classic 2D shoot 'em up game using the game library
188
+ Macroquad and the Rust programming language.
189
+
190
+ It covers everything from a simple Hello World Macroquad application to adding graphics, audio, a shader, a graphical menu,
191
+ and how to release the game on multiple platforms.
192
+
193
+ [ agical ] : https://www.agical.se/
194
+ [ macro-learning ] : < https://mq.agical.se/ >
195
+
196
+ ### Other learning materials
197
+
198
+ - [ Using tracing to profile a Bevy project] ( https://rornic.com/posts/using-tracing-to-profile-a-bevy-project/ )
199
+ - [ Bevycation of Brackeys First Game in Godot Tutorial] ( https://github.com/Occuros/bevycation_brackeys_first-game-in-godot ) :
200
+ A Bevy version of Brackeys' [ "How to make a Video Game - Godot Beginner Tutorial"] ( https://www.youtube.com/watch?v=LOhfqjmasi0 )
201
+
161
202
## Tooling Updates
162
203
163
204
### [ Rusty Playdate]
@@ -226,58 +267,130 @@ educational software at a startup with no issues so far.
226
267
[ egui ] : https://github.com/emilk/egui
227
268
[ erat_web ] : https://gold-silver-copper.github.io/
228
269
229
- ## Popular Workgroup Issues in GitHub
270
+ ### [ FMOD-oxide] [ fmod-oxide ]
271
+
272
+ Safe rust bindings to the FMOD sound engine. This crate tries to be as rusty and low-cost as possible, without comprimising on any APIs.
273
+ Certain APIs, such as loading banks from a pointer, are marked as unsafe, but are still available for use.
274
+
275
+ [ fmod-oxide ] : https://crates.io/crates/fmod-oxide
276
+
277
+ ### [ Bevy Lunex] [ bevy-lunex ]
278
+
279
+ ![ Bevypunk: a recreation of Cyberpunk 2077's UI made with Lunex] ( bevypunk.jpg )
280
+ _ Bevypunk: a recreation of Cyberpunk 2077's UI made with Lunex_
281
+
282
+
283
+ Lunex is a path based retained layout engine for Bevy entities, built around vanilla Bevy ECS.
284
+ It gives you the ability to make your own custom UI using regular ECS like every other part of your app.
285
+ Notably, this includes world-space 3D UI!
286
+
287
+ The above screenshot is from the [ Bevypunk UI Web Demo] [ bevypunk ] , which includes a main menu and a character creation screen.
230
288
231
- <!-- Up to 10 links to interesting issues -->
289
+ You can get started by reading the [ bevy_lunex book ] [ bevy-lunex-book ] .
232
290
233
- ## Other News
291
+ [ bevy-lunex ] : https://github.com/bytestring-net/bevy_lunex
292
+ [ bevy-lunex-book ] : https://bytestring-net.github.io/bevy_lunex/
293
+ [ bevypunk ] : https://idedary.itch.io/bevypunk
294
+
295
+ ### [ haalka]
296
+
297
+ {{ embed_video(type="video/mp4", src="haalka.mp4", caption="A Minecraft-like UI made with haalka") }}
298
+
299
+ হালকা: _ in bengali, haalka means "light" (e.g. not heavy) and can also be used to mean "easy"_
300
+
301
+ Haalka is an ergonomic reactivity library powered by the [ FRP] ( https://en.wikipedia.org/wiki/Functional_reactive_programming ) signals of [ futures-signals] ( https://github.com/Pauan/rust-signals ) .
302
+ It is a port of the web UI libraries [ MoonZoon] ( https://github.com/MoonZoon/MoonZoon ) and [ Dominator] ( https://github.com/Pauan/rust-dominator )
303
+ and offers the same signal semantics as a thin layer on top of bevy_ui.
304
+
305
+ While haalka is primarily targeted at UI and provides high level UI abstractions as such,
306
+ its core abstraction can be used to manage signals-powered reactivity for any entity, not just bevy_ui nodes.
307
+
308
+ [ haalka ] : https://github.com/databasedav/haalka
309
+
310
+
311
+ ### Other Library Updates and Releases
312
+
313
+ - [ gdext-coroutines] ( https://github.com/Houtamelo/gdext_coroutines ) : Run Rust coroutines in Godot 4.2+ (through GDExtension), inspired on Unity's Coroutines design.
314
+ - [ FunDSP 0.18] ( https://github.com/SamiPerttu/fundsp ) : FunDSP is an audio DSP ([ digital signal processing] ( https://en.wikipedia.org/wiki/Digital_signal_processing ) )
315
+ library for audio processing and synthesis. This release is a rewrite that adds no_std and SIMD support.
316
+
317
+ ## Interviews
234
318
235
319
### [ Metalmancy @ OpenSauce] [ metalmancy_interview ]
236
320
237
- ![ image/GIF description] ( metalmancy_interview.png )
321
+ ![ image/GIF description] ( metalmancy_interview.jpg )
238
322
_ Arcade cabinet close up_
239
323
240
324
[ Metalmancy] [ metalmancy_website ] are creating custom and configurable arcade machines. Their flagship game [ Thetawave] is coded in Rust.
241
325
242
326
Hyelim of [ Framework] [ framework_website ] interviewed Carlo and Joanna on their games
243
327
and arcade machines at [ OpenSauce] [ opensauce_website ] .
244
328
245
-
246
-
247
329
[ metalmancy_interview ] : https://www.youtube.com/watch?v=qUIAnZ0cvvo&t=291s
248
330
[ metalmancy_website ] : https://www.micronote.tech/
249
331
[ framework_website ] : https://frame.work
250
332
[ opensauce_website ] : https://opensauce.com/
251
333
[ Thetawave ] : https://store.steampowered.com/app/2427510/Thetawave
252
334
253
- <!-- One-liners for plan items that haven't got their own sections. -->
335
+ ### [ Tiny Glade Developers Discuss Bevy, Proceduralism, Publishers & Cozy Games] [ tiny-glade-interview ]
336
+
337
+ ![ An idyllic scenery made in Tidy Glade] ( tiny-glade.jpg )
338
+ _ An idyllic scenery made in Tidy Glade_
254
339
255
- ## Meeting Minutes
340
+ To celebrate the release of Tiny Glade's [ demo version] [ tiny-glade-steam ] , Pounce Light's Anastasia Opara and
341
+ Tomasz Stachowiak have joined 80 Level [ in an interview] [ tiny-glade-interview ] to discuss the game's history, proceduralism,
342
+ Bevy, Rust, self-publishing, and the "cozy games" genre.
256
343
257
- <!-- Up to 10 most important notes + a link to the full details -->
258
344
259
- [ See all meeting issues] [ label_meeting ] including full text notes
260
- or [ join the next meeting] [ join ] .
345
+ [ tiny-glade-interview ] : https://80.lv/articles/exclusive-tiny-glade-developers-discuss-bevy-proceduralism-publishers-cozy-games
346
+ [ tiny-glade-steam ] : https://store.steampowered.com/app/2198150/Tiny_Glade/
347
+
348
+ <!-- One-liners for plan items that haven't got their own sections. -->
349
+
350
+ ## Blog Posts
261
351
262
- [ label_meeting ] : https://github.com/rust-gamedev/wg/issues?q=label%3Ameeting
352
+ ### [ Dioxus Labs + "High-level Rust" ] [ dioxus-post ]
263
353
264
- ## Discussions
354
+ This post by the founder of [ Dioxus Labs] [ dioxus-labs ] is a direct response to
355
+ the recently published [ "Leaving Rust gamedev after 3 years"] [ leaving-post ] by LogLogGames.
356
+ If you've missed the original post, it has made its rounds as a well-written critique of Rust's gamedev ecosystem and shortcomings
357
+ inherent to the language itself.
265
358
266
- <!-- Links to handpicked reddit/twitter/urlo/etc threads that provide
267
- useful information -->
359
+ [ Dioxus Labs + "High-level Rust" ] [ dioxus-post ] is a detailed response to the original post, outlining concrete steps to improve the situation
360
+ and signaling the author's readiness to fund the development of features they see as necessary for the ecosystem to thrive.
268
361
269
- ## Requests for Contribution
362
+ _ Discussions: [ lobste.rs] ( https://lobste.rs/s/dsqumn/dioxus_labs_high_level_rust ) ,
363
+ [ /r/rust] ( https://www.reddit.com/r/rust/comments/1dkzzn5/dioxus_labs_highlevel_rust/ ) ,
364
+ [ Hacker News] ( https://news.ycombinator.com/item?id=40766805 ) _
365
+
366
+ [ dioxus-post ] : https://dioxus.notion.site/Dioxus-Labs-High-level-Rust-5fe1f1c9c8334815ad488410d948f05e
367
+ [ dioxus-labs ] : https://dioxuslabs.com/
368
+ [ leaving-post ] : https://loglog.games/blog/leaving-rust-gamedev/
270
369
271
- <!-- Links to "good first issue"-labels or direct links to specific tasks -->
272
370
273
371
## Jobs
274
372
275
- <!-- An optional section for new jobs related to Rust gamedev -->
373
+ Ubisoft Montreal is searching for an [ online Rust programmer] [ ubisoft-job ]
374
+ for an unannounced project.
375
+
376
+ [ ubisoft-job ] : https://www.ubisoft.com/en-us/company/careers/search/743999993500090-programmer-online-unannounced-project
377
+
378
+ ## Misc. Links
379
+
380
+ ### Notable GDC talks
381
+
382
+ - [ Larian Cinematics: A Top-Down Look at Our Bottom-Up Approach in 'Baldur's Gate 3'] ( https://www.youtube.com/watch?v=MdmY9Mt-vz8&t )
383
+ - [ 'Valheim': Vikings, Roadmaps & Buying a Horse During Early Access] ( https://www.youtube.com/watch?v=YoOCUpdYYm4 )
276
384
277
- ## Bonus
385
+ ### Engine Newsletters
278
386
279
- <!-- Bonus section to make the newsletter more interesting
280
- and highlight events from the past. -->
387
+ - This Week In Bevy
388
+ - [ Tiny Glade, VJ performances, and 2d lighting] ( https://thisweekinbevy.com/issue/2024-06-03-tiny-glade-vj-performances-and-2d-lighting )
389
+ - [ Bevy 0.14-rc.2, Powerglove, and Soup!] ( https://thisweekinbevy.com/issue/2024-06-10-bevy-014-rc2-powerglove-and-soup )
390
+ - [ Meshlets, Stable Interpolation, and Generalized ECS Reactivity with Observers!] ( https://thisweekinbevy.com/issue/2024-06-17-meshlets-stable-interpolation-and-generalized-ecs-reactivity-with-observers )
391
+ - [ Water, Global Illumination, and UI toolkits] ( https://thisweekinbevy.com/issue/2024-06-24-water-global-illumination-and-ui-toolkits )
392
+ - This Week In Quads
393
+ - [ ` blocking_event_loop ` on ios opengl/metal, Docker article, and libxkbcommon on NixOS] ( https://macroquad.rs/twiq/week5/ )
281
394
282
395
## Future news
283
396
0 commit comments