1
1
+++
2
2
title = " This Month in Rust GameDev #37 - August 2022"
3
3
transparent = true
4
- date = 2022-09-05
5
- draft = true
4
+ date = 2022-09-24
5
+ draft = false
6
6
+++
7
7
8
8
<!-- no toc -->
@@ -32,15 +32,9 @@ Feel free to send PRs about your own projects!
32
32
- [ Announcements] ( #announcements )
33
33
- [ Game Updates] ( #game-updates )
34
34
- [ Engine Updates] ( #engine-updates )
35
- - [ Learning Material Updates] ( #learning-material-updates )
36
35
- [ Tooling Updates] ( #tooling-updates )
37
36
- [ Library Updates] ( #library-updates )
38
- - [ Popular Workgroup Issues in Github] ( #popular-workgroup-issues-in-github )
39
37
- [ Other News] ( #other-news )
40
- - [ Discussions] ( #discussions )
41
- - [ Requests for Contribution] ( #requests-for-contribution )
42
- - [ Jobs] ( #jobs )
43
- - [ Bonus] ( #bonus )
44
38
45
39
<!--
46
40
Ideal section structure is:
@@ -148,7 +142,7 @@ The source code is available on [GitHub][combobox-source].
148
142
![ Mole Rancher Screenshot] ( mole_rancher.png )
149
143
150
144
[ Mole Rancher] [ mole-rancher ] is a game where you made it through university, got
151
- your PhD,and now you have been selected to work in an top secret experimental
145
+ your PhD, and now you have been selected to work in an top secret experimental
152
146
facility which promises a way to generate infinite energy through the combination
153
147
of various strange particles.
154
148
@@ -191,6 +185,15 @@ Twitch][rust-gamedev-twitch].
191
185
[ @GraphiteEditor ] : https://twitter.com/GraphiteEditor
192
186
[ @switchborg ] : https://twitter.com/switchborg
193
187
188
+ ### [ Bombercrab Challenge Report] [ bombercrab-article ]
189
+
190
+ ![ screenshot of the game: many players, block and an explosion] ( bombercrab.jpg )
191
+
192
+ [ Pablo Mansanet shared a report] [ bombercrab-article ] about how
193
+ the 2022 Tokyo Rust Game Hack went.
194
+
195
+ [ bombercrab-article ] : https://blog.tonari.no/rust-game-hack-2022
196
+
194
197
## Game Updates
195
198
196
199
### [ Catacomb 2-64k] [ catacomb-2-repo ]
@@ -207,8 +210,8 @@ will follow in September on [64kramsystem's blog][64ramsystem-blog].
207
210
208
211
The port uses the [ Rust-SDL2 bindings] [ rust-sdl2-bindings ] . More exact ports
209
212
of id Software games are expected in the future, with the introduction of a
210
- refactoring tool based on the [ Language Server Protocol ] [ language-server-protocol ]
211
- /[ Rust Analyzer] [ rust-analyzer ] .
213
+ refactoring tool based on the
214
+ [ Language Server Protocol ] [ language-server-protocol ] /[ Rust Analyzer] [ rust-analyzer ] .
212
215
213
216
[ catacomb-2-repo ] : https://github.com/64kramsystem/catacomb_ii-64k
214
217
[ 64ramsystem-blog ] : https://saveriomiroddi.github.io
@@ -238,7 +241,7 @@ Recent updates:
238
241
239
242
[ Join the Discord server] [ cybergate-dis ] to participate in upcoming Phase 5.0!
240
243
241
- _ Discussions: [ /r/rust_gamedev] ( https://www. reddit.com/r/rust_gamedev/comments/x60n9y/cybergate_45_progress_browser_udp_client_with/ ) _
244
+ _ Discussions: [ /r/rust_gamedev] ( https://reddit.com/r/rust_gamedev/comments/x60n9y/cybergate_45_progress_browser_udp_client_with/ ) _
242
245
243
246
[ cybergate-yt ] : https://youtube.com/channel/UClrsOso3Xk2vBWqcsHC3Z4Q
244
247
[ cybergate-dis ] : https://discord.gg/R7DkHqw7zJ
@@ -259,7 +262,7 @@ Mac, Linux as well as for browsers using WebAssembly.
259
262
260
263
The aquarium can be controlled in various different ways:
261
264
262
- - System monitoring binary to show CPU usage, disk usage and processes.
265
+ - System monitoring binary to show CPU usage, disk usage, and processes.
263
266
- Integrate with Google Sheets to control fishes.
264
267
- Back it with an URL that generates a JSON file.
265
268
@@ -291,7 +294,6 @@ history of five classic video games. It also includes code listings of modern
291
294
versions of the games written in Python with the PyGame Zero framework.
292
295
293
296
[ Infinite Bunner ] : https://github.com/ollej/rust-bunner-macroquad
294
- [ @ollej ] : https://twitter.com/ollej
295
297
[ rust-game-ports ] : https://github.com/rust-gamedev/rust-game-ports
296
298
[ Code the Classics vol 1 ] : https://wireframe.raspberrypi.org/books/code-the-classics1
297
299
@@ -323,7 +325,7 @@ _Promotional image of the Math It game_
323
325
[ Math It] was made with [ Bevy] for the [ Bevy Jam 2] .
324
326
325
327
The goal of the game is to get as close as possible
326
- to the target number, and compete with others on a global leaderboard.
328
+ to the target number and compete with others on a global leaderboard.
327
329
328
330
[ Math It ] : https://vrixyz.itch.io/math-it
329
331
[ Bevy Jam 2 ] : https://itch.io/jam/bevy-jam-2
@@ -438,9 +440,7 @@ as well as awesome game demos.
438
440
[ Gamercade ] : https://gamercade.io
439
441
[ Gamercade-Discord ] : https://discord.gg/Qafv2Fpt5j
440
442
[ Gamercade-Github ] : https://github.com/gamercade-io/gamercade_console
441
- [ Gamercade-Video ] : https://www.youtube.com/watch?v=cRsOvefap_U
442
-
443
- ## Learning Material Updates
443
+ [ Gamercade-Video ] : https://youtube.com/watch?v=cRsOvefap_U
444
444
445
445
## Tooling Updates
446
446
@@ -517,8 +517,6 @@ tweens to most operations.
517
517
518
518
[ bevy_kira_audio ] : https://github.com/NiklasEi/bevy_kira_audio/
519
519
[ Kira ] : https://github.com/tesselode/kira
520
- [ @nikl_me ] : https://twitter.com/nikl_me
521
- [ Bevy ] : https://bevyengine.org/
522
520
[ 0.11.0 ] : https://github.com/NiklasEi/bevy_kira_audio/blob/main/CHANGELOG.md#v0110
523
521
[ 0.12.0 ] : https://github.com/NiklasEi/bevy_kira_audio/blob/main/CHANGELOG.md#v0120
524
522
@@ -540,7 +538,6 @@ users to define their own dynamic assets.
540
538
541
539
[ @nikl_me ] : https://twitter.com/nikl_me
542
540
[ bevy_asset_loader ] : https://github.com/NiklasEi/bevy_asset_loader/
543
- [ Bevy ] : https://bevyengine.org/
544
541
545
542
### [ Notan v0.6] [ Notan ]
546
543
@@ -575,8 +572,8 @@ and vice-versa.
575
572
Learn more about this release in the [ release post] [ shipyard-release-post ] .
576
573
577
574
_ Discussions:
578
- [ /r/rust] ( https://www. reddit.com/r/rust/comments/wi71lu/shipyard_06_release/ )
579
- [ /r/rust_gamedev] ( https://www. reddit.com/r/rust_gamedev/comments/wi72vc/shipyard_06_release/ ) _
575
+ [ /r/rust] ( https://reddit.com/r/rust/comments/wi71lu/shipyard_06_release/ )
576
+ [ /r/rust_gamedev] ( https://reddit.com/r/rust_gamedev/comments/wi72vc/shipyard_06_release/ ) _
580
577
581
578
[ Shipyard ] : https://github.com/leudz/shipyard
582
579
[ shipyard-visualizer ] : https://leudz.github.io/shipyard/visualizer
@@ -590,20 +587,20 @@ on archetypes for fast cache-friendly iteration. And there are quite a few novel
590
587
features:
591
588
592
589
- [ Edict] allows to express relations between entities using [ ` Relation ` ] trait.
593
- Relations are linked to a pair of entities - origin and target. This opens a
594
- wide range of opportunities to create entity graphs with custom logic.
590
+ Relations are linked to a pair of entities - origin and target. This opens a
591
+ wide range of opportunities to create entity graphs with custom logic.
595
592
- Custom hooks for components and relations to trigger actions when component is
596
- dropped/replaced, or when relation target is dropped.
593
+ dropped/replaced, or when relation target is dropped.
597
594
- Optional [ ` Component ` ] trait. [ Edict] allows using component types that do not
598
- implement [ ` Component ` ] with some restrictions.
595
+ implement [ ` Component ` ] with some restrictions.
599
596
- Change tracking with flexible queries for modified components suitable for
600
- complex use cases. E.g. incremental saves can fetch all components modified
601
- since previous save.
597
+ complex use cases. E.g. incremental saves can fetch all components modified
598
+ since previous save.
602
599
- Type-agnostic component borrowing. Component type may define list of types
603
- that can be borrowed from it. Important use case is borrowing [ ` dyn Traits ` ] .
600
+ that can be borrowed from it. Important use case is borrowing [ ` dyn Traits ` ] .
604
601
- [ Edict] supports parallel execution. Built-in scheduler uses systems that
605
- implement [ ` System ` ] trait. Functions can be safely transformed into systems
606
- similarly to [ ` bevy_ecs ` ] .
602
+ implement [ ` System ` ] trait. Functions can be safely transformed into systems
603
+ similarly to [ ` bevy_ecs ` ] .
607
604
608
605
[ Edict ] : https://github.com/zakarumych/edict
609
606
[ @zakarumych ] : https://github.com/zakarumych
@@ -639,31 +636,94 @@ real-time, using components can make a big difference.
639
636
[ connected components ] : https://en.wikipedia.org/wiki/Component_(graph_theory)
640
637
[ improved pruning rules ] : https://www.researchgate.net/publication/287338108_Improving_jump_point_search
641
638
642
- ## Popular Workgroup Issues in Github
643
-
644
- <!-- Up to 10 links to interesting issues -->
645
-
646
639
## Other News
647
640
648
641
<!-- One-liners for plan items that haven't got their own sections. -->
649
642
650
- ## Discussions
651
-
652
- <!-- Links to handpicked reddit/twitter/urlo/etc threads that provide
653
- useful information -->
654
-
655
- ## Requests for Contribution
656
-
657
- <!-- Links to "good first issue"-labels or direct links to specific tasks -->
658
-
659
- ## Jobs
660
-
661
- <!-- An optional section for new jobs related to Rust gamedev -->
662
-
663
- ## Bonus
664
-
665
- <!-- Bonus section to make the newsletter more interesting
666
- and highlight events from the past. -->
643
+ <!-- TODO: do i need to put announcements here? oR move them to the next month? -->
644
+
645
+ - Other game updates:
646
+ - [ Caveth] [ caveth ] is a game made with macroquad
647
+ where you can shoot enemies with a cannon.
648
+ - [ Im-Oab released a free Steam demo of the shump Flesh] [ flesh-demo ]
649
+ and also added [ new enemy types] ( https://twitter.com/Im_Oab/status/1557714901434781696 ) ,
650
+ [ boss animations] ( https://twitter.com/Im_Oab/status/1564581193454354432 ) ,
651
+ and [ bullet shadows] ( https://twitter.com/Im_Oab/status/1562015685521604610 ) .
652
+ - [ Spherical Go] [ spherical-go ] if the Go game's implementation
653
+ with a variety of spherical fields.
654
+ - [ Combine and Conquer has a new devlog about 0.10 version] [ cnc-0-10 ] that brings
655
+ vector graphics, "merger" and "splitter" structures, new tech-tree UI,
656
+ overlay improvements, and new tiers for existing structures.
657
+ - [ bevy-cheeseball] is a 3D marble game inspired by Monkey Ball
658
+ and made with Bevy and Rapier.
659
+ - [ Punchy] [ punchy-v0-0-4 ] was released, featuring MVP for the first boss enemy,
660
+ an entirely refactored fighter state model [ which was written up on the wiki] [ punchy-wiki ] ,
661
+ updates to the enemy AI targeting, camera progression boundaries,
662
+ updates to debug tools, a health recovery item,
663
+ and updates to the way attacks are defined and loaded from resources.
664
+ - Other learning material updates:
665
+ - [ Console #118 - Interview with Connor of rend3] [ console-118 ]
666
+ - PhaestusFox added a bunch of new videos
667
+ to their [ "Bevy Basics"] [ bevy-basics ] YouTube series.
668
+ - [ @fronkongames shared a quick guide] [ unity-guide ] to integrating Rust code
669
+ into Unity.
670
+ - [ @samkevich published a "Learn OpenGL with Rust" series] [ learn_gl_with_rust ] .
671
+ - [ @jack1232 released a "Rust wgpu Graphics Programming Tutorial" YouTube series] [ yt-wgpu ] .
672
+ - Other engine updates:
673
+ - [ Fyrox v0.27] [ fyrox-0-27 ] features a new Fish Folly game example,
674
+ compile-time reflection, plugin, and scripting
675
+ improvements, and two new book chapters about [ particle systems] [ fyrox-book-1 ]
676
+ and [ terrain] [ fyrox-book-2 ] .
677
+ - [ Pyxel v0.18] [ pyxel ] 's main highlight is the experimental web support.
678
+ - [ Bevy released a blog post] [ bevy-birthday ] about the second birthday
679
+ of the engine with a retrospective and future plans.
680
+ - Other tooling updates:
681
+ - [ @HackerFoo shared a video] [ noumenal-vid ] of a WIP meta-editor to record
682
+ contact movement to create interactive tutorials for Noumenal.
683
+ - [ nbody-wasm-sim] is a WebGPU N-Body astrophysics simulation in Rust + WASM.
684
+ - [ wgen] is a simple multi-threaded heightmap generator made with egui and three_d.
685
+ - [ bevy-shell-template] is an opinionated, monolithic template for Bevy
686
+ with cross-platform CI/CD, native + WASM launchers,
687
+ and managed cross-platform deployment.
688
+ - Other library updates:
689
+ - [ bevy_streamdeck] is a Bevy plugin to interact with Stream Deck.
690
+ - [ kira v0.7 release] [ kira-0-7 ] brings a bunch of important bug fixes
691
+ some of which require breaking changes.
692
+ - [ egui v0.19] [ egui ] brings a lot of various small API improvements and optimizations.
693
+ - [ Alex Dixon shared a blog post] [ maths-rs-post ] about creating another
694
+ linear algebra library - [ maths-rs] .
695
+ - [ fundsp] is an audio digital signal processing library for audio processing
696
+ and synthesis.
697
+ - [ bevy_ecs_tilemap] is an ECS-friendly tilemap rendering crate for Bevy.
698
+
699
+ [ flesh-demo ] : https://store.steampowered.com/app/1660850/Flesh/?beta=0
700
+ [ caveth ] : https://github.com/Dequog/caveth
701
+ [ spherical-go ] : https://github.com/Dominux/spherical-go
702
+ [ cnc-0-10 ] : https://buckmartin.de/combine-and-conquer/2022-08-20-v0.0.10.html
703
+ [ bevy-cheeseball ] : https://github.com/Rust-Ninja-Sabi/rust-bevy-cheeseball
704
+ [ punchy-v0-0-4 ] : https://reddit.com/r/rust_gamedev/comments/x1ekmg/fish_folk_punchy_v004
705
+ [ punchy-wiki ] : https://github.com/fishfolks/punchy/wiki/Fighter-State-Machine
706
+ [ bevy-basics ] : https://youtube.com/playlist?list=PL6uRoaCCw7GN_lJxpKS3j-KXuThRiSXc6
707
+ [ console-118 ] : https://console.substack.com/p/console-118
708
+ [ unity-guide ] : https://rjgameiro.medium.com/let-fun-rust-unity-f7f62609ba49
709
+ [ learn_gl_with_rust ] : https://github.com/samkevich/learn_gl_with_rust
710
+ [ yt-wgpu ] : https://youtube.com/playlist?list=PL_UrKDEhALdJS0VrLPn7dqC5A4W1vCAUT
711
+ [ fyrox-0-27 ] : https://fyrox.rs/blog/post/feature-highlights-0-27
712
+ [ fyrox-book-1 ] : https://fyrox-book.github.io/fyrox/scene/particle_system_node.html
713
+ [ fyrox-book-2 ] : https://fyrox-book.github.io/fyrox/scene/terrain_node.html
714
+ [ pyxel ] : https://twitter.com/kitao/status/1564234852185960449
715
+ [ bevy-birthday ] : https://bevyengine.org/news/bevys-second-birthday/
716
+ [ noumenal-vid ] : https://youtube.com/watch?v=qJOPLxFfbMw
717
+ [ nbody-wasm-sim ] : https://github.com/simbleau/nbody-wasm-sim
718
+ [ wgen ] : https://github.com/jice-nospam/wgen
719
+ [ bevy-shell-template ] : https://github.com/kurbos/bevy-shell-template
720
+ [ bevy_streamdeck ] : https://github.com/vleue/bevy_streamdeck
721
+ [ kira-0-7 ] : https://github.com/tesselode/kira/releases/tag/v0.7.0
722
+ [ egui ] : https://twitter.com/ernerfeldt/status/1561010036255739904
723
+ [ maths-rs ] : https://github.com/polymonster/maths-rs
724
+ [ maths-rs-post ] : https://www.polymonster.co.uk/blog/maths-rs
725
+ [ fundsp ] : https://github.com/SamiPerttu/fundsp
726
+ [ bevy_ecs_tilemap ] : https://github.com/StarArawn/bevy_ecs_tilemap
667
727
668
728
------
669
729
0 commit comments