@@ -31,20 +31,15 @@ Feel free to send PRs about your own projects!
3131
3232- [ Announcements] ( #announcements )
3333- [ Game Updates] ( #game-updates )
34- - [ Untitled Pixel Wizards Game] ( #untitled-pixel-wizards-game )
3534- [ Engine Updates] ( #engine-updates )
3635- [ Learning Material Updates] ( #learning-material-updates )
3736- [ Tooling Updates] ( #tooling-updates )
3837- [ 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 )
4540- [ Jobs] ( #jobs )
46- - [ Bonus ] ( #bonus )
47- - [ Future news ] ( #future-news )
41+ - [ Misc. Links ] ( #misc-links )
42+ - [ Future News ] ( #future-news )
4843
4944<!--
5045Ideal section structure is:
@@ -70,15 +65,14 @@ If needed, a section can be split into subsections with a "------" delimiter.
7065
7166## Announcements
7267
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+
7370## Game Updates
7471
7572### [ Untitled Pixel Wizards Game] [ pixel-wizards ]
7673
7774{{ 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.") }}
8276
8377[ Untitled Pixel Wizards Game] [ pixel-wizards ] is a local-multiplayer [ Noita] -like platformer about
8478killing 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
9993
10094### [ Gunbug] [ gunbug ]
10195
102- [ ![ Gunbug] ( gunbug.jpg )] [ gunbug ]
96+ [ ![ Gunbugs shooting at a bunch of eggplants] ( gunbug.jpg )] [ gunbug ]
97+ _ Gunbugs shooting at a bunch of eggplants_
10398
10499Gunbug is a 2D online co-op horde survival shoot'em up game.
105100
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
107102solo or with up to 10 players.
108103
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] .
112107
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.
115110
116111[ gunbug ] : https://store.steampowered.com/app/2946990?utm_source=this_month_in_rust
117112[ 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.
124119
125120### [ godot-rust]
126121
127- ![ godot-rust logo] ( godot-rust.png )
122+ ![ godot-rust logo] ( godot-rust.jpg )
128123
129124godot-rust ([ GitHub] [ gd-github ] , [ Discord] [ gd-discord ] , [ Mastodon] [ gd-mastodon ] , [ Twitter] [ gd-twitter ] ) by [ @Bromeon ]
130125provides Rust bindings for the [ Godot engine] ( https://godotengine.org/ ) .
@@ -156,8 +151,54 @@ _See also the [devlog article][gd-dev-june]._
156151[ gd-twitter ] : https://twitter.com/GodotRust
157152[ godot-rust ] : https://godot-rust.github.io
158153
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+
159167## Learning Material Updates
160168
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+
161202## Tooling Updates
162203
163204### [ Rusty Playdate]
@@ -226,58 +267,130 @@ educational software at a startup with no issues so far.
226267[ egui ] : https://github.com/emilk/egui
227268[ erat_web ] : https://gold-silver-copper.github.io/
228269
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.
230288
231- <!-- Up to 10 links to interesting issues -->
289+ You can get started by reading the [ bevy_lunex book ] [ bevy-lunex-book ] .
232290
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
234318
235319### [ Metalmancy @ OpenSauce] [ metalmancy_interview ]
236320
237- ![ image/GIF description] ( metalmancy_interview.png )
321+ ![ image/GIF description] ( metalmancy_interview.jpg )
238322_ Arcade cabinet close up_
239323
240324[ Metalmancy] [ metalmancy_website ] are creating custom and configurable arcade machines. Their flagship game [ Thetawave] is coded in Rust.
241325
242326Hyelim of [ Framework] [ framework_website ] interviewed Carlo and Joanna on their games
243327and arcade machines at [ OpenSauce] [ opensauce_website ] .
244328
245-
246-
247329[ metalmancy_interview ] : https://www.youtube.com/watch?v=qUIAnZ0cvvo&t=291s
248330[ metalmancy_website ] : https://www.micronote.tech/
249331[ framework_website ] : https://frame.work
250332[ opensauce_website ] : https://opensauce.com/
251333[ Thetawave ] : https://store.steampowered.com/app/2427510/Thetawave
252334
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_
254339
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.
256343
257- <!-- Up to 10 most important notes + a link to the full details -->
258344
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
261351
262- [ label_meeting ] : https://github.com/rust-gamedev/wg/issues?q=label%3Ameeting
352+ ### [ Dioxus Labs + "High-level Rust" ] [ dioxus-post ]
263353
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.
265358
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.
268361
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/
270369
271- <!-- Links to "good first issue"-labels or direct links to specific tasks -->
272370
273371## Jobs
274372
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 )
276384
277- ## Bonus
385+ ### Engine Newsletters
278386
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/ )
281394
282395## Future news
283396
0 commit comments