2
2
title = " This Month in Rust GameDev #52 - June 2024"
3
3
transparent = true
4
4
date = 2024-07-03
5
- draft = true
5
+ draft = false
6
6
+++
7
7
8
8
<!-- no toc -->
@@ -38,7 +38,7 @@ Feel free to send PRs about your own projects!
38
38
- [ Interviews] ( #interviews )
39
39
- [ Blog Posts] ( #blog-posts )
40
40
- [ Jobs] ( #jobs )
41
- - [ Misc. Links ] ( #misc-links )
41
+ - [ Engine Newsletters ] ( #engine-newsletters )
42
42
- [ Future News] ( #future-news )
43
43
44
44
<!--
@@ -80,8 +80,8 @@ We will switch this to an actual @gamedev.rs address in the future. Please tell
80
80
81
81
### [ Untitled Pixel Wizards Game] [ pixel-wizards ]
82
82
83
- {{ embed_video(type="video/mp4", src="untitled-pixel-wizards-game.mp4",
84
- caption=" Enemies now perceive, pursue and attack.. and occasionally get burned to death.") }}
83
+ {{ embed_video(type="video/mp4", src="untitled-pixel-wizards-game.mp4") }}
84
+ * Enemies now perceive, pursue, and attack... and occasionally get burned to death.*
85
85
86
86
[ Untitled Pixel Wizards Game] [ pixel-wizards ] is a local-multiplayer [ Noita] -like platformer about
87
87
killing baddies using spells powered by pixel physics. This month was focused on juicing up said baddies:
@@ -123,8 +123,8 @@ It includes questions about Rust, libraries, experiences writing a custom game e
123
123
124
124
### [ Gunbug] [ gunbug ]
125
125
126
- [ ![ Gunbugs shooting at a bunch of eggplants] ( gunbug.jpg )] [ gunbug ]
127
- _ Gunbugs shooting at a bunch of eggplants _
126
+ [ ![ Gunbugs shooting at a bunch of eggplants] ( gunbug.jpg )] [ gunbug ]
127
+ * Gunbugs shooting at a bunch of eggplants *
128
128
129
129
Gunbug is a 2D online co-op horde survival shoot'em up game.
130
130
@@ -135,7 +135,7 @@ It is built with [Bevy] and uses [bevy_rapier] for ray casting,
135
135
[ bevy_kira_audio] for audio, and [ renet] for networking.
136
136
The iOS and macOS versions are built with [ xbuild] .
137
137
138
- You can wishlist the game on [ Steam] [ gunbug ] . Playtests start in the upcomingv months.
138
+ You can wishlist the game on [ Steam] [ gunbug ] . Playtests start in the upcoming months.
139
139
iOS and Android builds already work, but store pages don't exist yet.
140
140
141
141
[ gunbug ] : https://store.steampowered.com/app/2946990?utm_source=this_month_in_rust
@@ -183,8 +183,8 @@ _See also the [devlog article][gd-dev-june]._
183
183
184
184
### [ Bevy 0.14 Release Candidate] [ bevy-0.14-rc ]
185
185
186
- ![ Sharp Screen-Space Reflections in Bevy 0.14] ( ssr.jpg )
187
- _ Sharp Screen-Space Reflections in Bevy 0.14 _
186
+ ![ Sharp Screen-Space Reflections in Bevy 0.14] ( ssr.jpg )
187
+ * Sharp Screen-Space Reflections in Bevy 0.14 *
188
188
189
189
The Bevy game engine is gearing up to release version 0.14.
190
190
The (probably) last release candidate is out now and ready for testing.
@@ -231,27 +231,28 @@ and how to release the game on multiple platforms.
231
231
232
232
## Tooling Updates
233
233
234
- ### [ Rusty Playdate]
234
+ ### [ Rusty Playdate 0.5 ] [ Rusty Playdate ]
235
235
236
- ![ The Playdate console] ( ../051/playdate.png )
237
- _ The Playdate console _
236
+ ![ The Playdate console] ( ../051/playdate.png )
237
+ * The Playdate console *
238
238
239
239
[ Rusty Playdate] ([ GitHub] [ Rusty Playdate ] , [ Mastodon] [ Rusty Playdate Masto ] ) by [ @boozook ] ( https://github.com/boozook )
240
- is the large set of crates with bindings, toolset for the full cycle of creating games for the [ Playdate handheld console] [ playdate ] .
240
+ is a large set of crates and tools for the full cycle of creating games for the [ Playdate handheld console] [ playdate ] .
241
241
242
- Big part of the Rusty Playdate project is the ` cargo-playdate ` tool ([ Crates.io] [ cargo-playdate crates-io ] , [ GitHub] [ cargo-playdate gh ] )
243
- that helps to build games for [ Playdate] hardware or a simulator. It works as a cargo-plugin as well as standalone.
244
- The tool
245
- - manages the compilation of your program,
242
+ A big part of the Rusty Playdate project is the [ ` cargo-playdate ` ] [ cargo-playdate gh ] tool that functions as a build system.
243
+ It works as a cargo-plugin as well as a standalone, and does several things:
244
+ - It manages the compilation of your program,
246
245
- builds assets for the crate and its dependencies,
247
246
- generates a manifest,
248
247
- and assembles it all into a bundle that runs on the device or a simulator.
249
248
250
249
In this month ` cargo-playdate ` v0.5 has been [ released] [ Rusty Playdate Release ] and received massive refactoring, bugfixes and new features:
251
- - support of [ cargo's auto-targets] [ cargo-target-auto-discovery ] _ (targets such as ` bin ` or ` example ` that aren't declared in the Cargo.toml)_
252
- - [ target-specific package-info] [ pdb-pdxinfo-override ] inheritance from the main package-info
253
- - ` package.metadata.playdate.options ` inheritance from the ` workspace.metadata `
254
- - incremental builds now work as expected - fixed an old problem where the tool corrupts cargo's cache, which triggered full rebuild
250
+
251
+ - support for [ cargo's auto-targets] [ cargo-target-auto-discovery ] , i.e. targets such as ` bin ` or ` example ` that aren't declared in the Cargo.toml
252
+ - [ target-specific package-info] [ pdb-pdxinfo-override ] is inherited from the main package-info
253
+ - ` package.metadata.playdate.options ` is inherited from the ` workspace.metadata `
254
+ - incremental builds now work as expected
255
+
255
256
256
257
The register decoder in the [ ` pd-symbolize-crashlog ` ] [ playdate-symbolize-v0.2.0 ] was also updated.
257
258
It now properly decodes all available registers such as
@@ -263,7 +264,6 @@ _Discussions: [GitHub][Rusty Playdate Gh-discuss], [Matrix][Rusty Playdate Matri
263
264
264
265
[ playdate-symbolize-v0.2.0 ] : https://crates.io/crates/playdate-symbolize/0.2.0
265
266
[ cargo-target-auto-discovery ] : https://doc.rust-lang.org/cargo/reference/cargo-targets.html#target-auto-discovery
266
- [ cargo-playdate crates-io ] : https://crates.io/crates/cargo-playdate
267
267
[ pdb-pdxinfo-override ] : https://github.com/boozook/playdate/blob/main/support/build/README.md#target-specific-package-info " More about target-specific package-info "
268
268
[ cargo-playdate gh ] : https://github.com/boozook/playdate/tree/main/cargo " cargo-playdate tool is a part of 'Rusty Playdate' project "
269
269
[ Rusty Playdate Release ] : https://github.com/boozook/playdate/releases/tag/2024.06.18 " Release from June 18, 2024 "
@@ -279,7 +279,7 @@ _Discussions: [GitHub][Rusty Playdate Gh-discuss], [Matrix][Rusty Playdate Matri
279
279
### [ egui_ratatui] [ egui_ratatui ]
280
280
281
281
![ egui_ratatui running in Bevy] ( egui_ratatui.jpg )
282
- _ egui_ratatui running in Bevy _
282
+ * egui_ratatui running in Bevy *
283
283
284
284
[ egui_ratatui] [ egui_ratatui ] by [ gold-silver-copper] [ gold ] is an [ egui] [ egui ] widget that is also a [ ratatui] [ ratatui ] backend.
285
285
It allows you to create Terminal User Interfaces (TUIs) inside egui.
@@ -307,8 +307,8 @@ Certain APIs, such as loading banks from a pointer, are marked as unsafe, but ar
307
307
308
308
### [ Bevy Lunex] [ bevy-lunex ]
309
309
310
- ![ Bevypunk: a recreation of Cyberpunk 2077's UI made with Lunex] ( bevypunk.jpg )
311
- _ Bevypunk : a recreation of Cyberpunk 2077's UI made with Lunex _
310
+ ![ Bevypunk: a recreation of Cyberpunk 2077's UI made with Lunex] ( bevypunk.jpg )
311
+ * Bevypunk : a recreation of Cyberpunk 2077's UI made with Lunex *
312
312
313
313
314
314
Lunex is a path based retained layout engine for Bevy entities, built around vanilla Bevy ECS.
@@ -325,7 +325,8 @@ You can get started by reading the [bevy_lunex book][bevy-lunex-book].
325
325
326
326
### [ haalka]
327
327
328
- {{ embed_video(type="video/mp4", src="haalka.mp4", caption="A Minecraft-like UI made with haalka") }}
328
+ {{ embed_video(type="video/mp4", src="haalka.mp4") }}
329
+ * A Minecraft-like UI made with haalka*
329
330
330
331
হালকা: _ in bengali, haalka means "light" (e.g. not heavy) and can also be used to mean "easy"_
331
332
@@ -340,22 +341,22 @@ its core abstraction can be used to manage signals-powered reactivity for any en
340
341
341
342
### [ bevy_light_2d] [ bevy_light_2d ]
342
343
343
- ![ A candle shining 2D light] ( bevy_light_2d.gif )
344
+ ![ A candle shining 2D light] ( bevy_light_2d.gif )
344
345
_ A candle shining 2D light_
345
346
346
347
bevy_light_2d is a new general purpose 2D lighting for the Bevy game engine.
347
- Designed to be simple to use, yet expressive enough to fit a variety of needs. Features include
348
+ Designed to be simple to use, yet expressive enough to fit a variety of needs. Features include:
348
349
349
350
- Component driven design
350
351
- Configurable point lights
351
- - Camera specific ambient light
352
- - Single camera rendering
352
+ - Camera- specific ambient light
353
+ - Single- camera rendering
353
354
354
355
[ bevy_light_2d ] : https://github.com/jgayfer/bevy_light_2d
355
356
356
357
### [ bevy_hanabi] [ bevy_hanabi ] 0.11
357
358
358
- ![ Trails in Hanabi] ( bevy_hanabi_trails.gif )
359
+ ![ Trails in Hanabi] ( bevy_hanabi_trails.gif )
359
360
_ Trails in Hanabi_
360
361
361
362
Hanabi is a GPU particle system plugin for the Bevy game engine.
@@ -365,7 +366,7 @@ The most notable new feature in [bevy_hanabi 0.11][bevy_hanabi] is support for t
365
366
366
367
### [ berdicles] [ berdicles ]
367
368
368
- ![ A fountain of particles] ( berdicles.jpg )
369
+ ![ A fountain of particles] ( berdicles.jpg )
369
370
_ A fountain of particles_
370
371
371
372
berdicles is an expressive CPU particle system for the Bevy engine. Features include:
@@ -397,7 +398,7 @@ berdicles is an expressive CPU particle system for the Bevy engine. Features inc
397
398
398
399
### [ Metalmancy @ OpenSauce] [ metalmancy_interview ]
399
400
400
- ![ image/GIF description] ( metalmancy_interview.jpg )
401
+ ![ image/GIF description] ( metalmancy_interview.jpg )
401
402
_ Arcade cabinet close up_
402
403
403
404
[ Metalmancy] [ metalmancy_website ] are creating custom and configurable arcade machines. Their flagship game [ Thetawave] is coded in Rust.
@@ -413,7 +414,7 @@ and arcade machines at [OpenSauce][opensauce_website].
413
414
414
415
### [ Tiny Glade Developers Discuss Bevy, Proceduralism, Publishers & Cozy Games] [ tiny-glade-interview ]
415
416
416
- ![ An idyllic scenery made in Tidy Glade] ( tiny-glade.jpg )
417
+ ![ An idyllic scenery made in Tidy Glade] ( tiny-glade.jpg )
417
418
_ An idyllic scenery made in Tidy Glade_
418
419
419
420
To celebrate the release of Tiny Glade's [ demo version] [ tiny-glade-steam ] , Pounce Light's Anastasia Opara and
@@ -430,7 +431,7 @@ Bevy, Rust, self-publishing, and the "cozy games" genre.
430
431
431
432
### [ Dioxus Labs + "High-level Rust"] [ dioxus-post ]
432
433
433
- This post by the founder of [ Dioxus Labs] [ dioxus-labs ] is a direct response to
434
+ [ This post] [ dioxus-post ] by the founder of [ Dioxus Labs] [ dioxus-labs ] is a direct response to
434
435
the recently published [ "Leaving Rust gamedev after 3 years"] [ leaving-post ] by LogLogGames.
435
436
If you've missed the original post, it has made its rounds as a well-written critique of Rust's gamedev ecosystem and shortcomings
436
437
inherent to the language itself.
@@ -448,10 +449,10 @@ _Discussions: [lobste.rs](https://lobste.rs/s/dsqumn/dioxus_labs_high_level_rust
448
449
449
450
### Virtual Geometry in Bevy 0.14
450
451
451
- ![ The Stanford bunny split into meshlets] ( meshlets.jpg )
452
+ ![ The Stanford bunny split into meshlets] ( meshlets.jpg )
452
453
_ The Stanford bunny split into meshlets_
453
454
454
- Ever wondered how [ Unreal 5's Nanite] [ nanite ] works under the hood?
455
+ Ever wondered how [ Unreal 5's Nanite] [ nanite ] works under the hood?
455
456
Jasmine, who reimplemented the virtual geometry technology for Bevy's upcoming 0.14 release,
456
457
wrote a [ post] [ meshlets-post ] explaining the concepts and the nitty-gritty details of the implementation.
457
458
The post is very technical in nature, so if you've never heard of this technology before,
@@ -469,14 +470,7 @@ for an unannounced project.
469
470
470
471
[ ubisoft-job ] : https://www.ubisoft.com/en-us/company/careers/search/743999993500090-programmer-online-unannounced-project
471
472
472
- ## Misc. Links
473
-
474
- ### Notable GDC talks
475
-
476
- - [ 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 )
477
- - [ 'Valheim': Vikings, Roadmaps & Buying a Horse During Early Access] ( https://www.youtube.com/watch?v=YoOCUpdYYm4 )
478
-
479
- ### Engine Newsletters
473
+ ## Engine Newsletters
480
474
481
475
- This Week In Bevy
482
476
- [ Tiny Glade, VJ performances, and 2d lighting] ( https://thisweekinbevy.com/issue/2024-06-03-tiny-glade-vj-performances-and-2d-lighting )
@@ -486,7 +480,7 @@ for an unannounced project.
486
480
- This Week In Quads
487
481
- [ ` blocking_event_loop ` on ios opengl/metal, Docker article, and libxkbcommon on NixOS] ( https://macroquad.rs/twiq/week5/ )
488
482
489
- ## Future news
483
+ ## Future News
490
484
491
485
<!-- Section to get more people involved in writing news. -->
492
486
0 commit comments