1
1
+++
2
2
title = " This Month in Rust GameDev #26 - September 2021"
3
3
transparent = true
4
- date = 2021-10-04
5
- draft = true
4
+ date = 2021-10-10
6
5
+++
7
6
8
7
<!-- no toc -->
9
8
10
- <!-- Check the post with markdownlint-->
11
-
12
9
Welcome to the 26th issue of the Rust GameDev Workgroup's
13
10
monthly newsletter.
14
11
[ Rust] is a systems language pursuing the trifecta:
@@ -32,17 +29,17 @@ Feel free to send PRs about your own projects!
32
29
[ Rust ] : https://rust-lang.org
33
30
[ join ] : https://github.com/rust-gamedev/wg#join-the-fun
34
31
35
- - [ Rust GameDev Podcast] ( #rust-gamedev-podcast-6 )
32
+ - [ Rust GameDev Meetup] ( #rust-gamedev-meetup )
33
+ - [ Rust Graphics Meetup \# 1] ( #rust-graphics-meetup-1 )
34
+ - [ Rust GameDev Podcast \# 6] ( #rust-gamedev-podcast-6 )
36
35
- [ Game Updates] ( #game-updates )
37
36
- [ Learning Material Updates] ( #learning-material-updates )
38
37
- [ Engine Updates] ( #engine-updates )
39
38
- [ Tooling Updates] ( #tooling-updates )
40
39
- [ Library Updates] ( #library-updates )
41
40
- [ Popular Workgroup Issues in Github] ( #popular-workgroup-issues-in-github )
42
- - [ Meeting Minutes] ( #meeting-minutes )
43
41
- [ Requests for Contribution] ( #requests-for-contribution )
44
- - [ Jobs] ( #jobs )
45
- - [ Bonus] ( #bonus )
42
+ - [ Discussions] ( #discussions )
46
43
47
44
<!--
48
45
Ideal section structure is:
@@ -148,7 +145,7 @@ Listen and Subscribe from the following platforms:
148
145
BITGUN ([ Steam] [ bitgun-steam ] , [ Twitter] [ bitgun-twitter ] ,
149
146
[ Discord] [ bitgun-discord ] ) by [ @LogLogGames ] [ bitgun-twitter ] is an action
150
147
roguelike zombie shooter with lots of blood and guns, similar to games like
151
- Hotline Miami, Nuclear Throne and Heat Signature. The game is built using Godot
148
+ Hotline Miami, Nuclear Throne, and Heat Signature. The game is built using Godot
152
149
and Rust (via [ godot-rust] [ bitgun-godot-rust ] ).
153
150
154
151
They recently re-worked the in-game UI using [ egui] [ bitgun-egui ] with
@@ -185,7 +182,7 @@ Development for the web version has moved to the
185
182
[ Veloren] [ veloren ] is an open world, open-source voxel RPG inspired by Dwarf
186
183
Fortress and Cube World.
187
184
188
- In September, Veloren hosted its larges release party ever! At peak, 181 players
185
+ In September, Veloren hosted its largest release party ever! At peak, 181 players
189
186
were playing on the server together. You can read about all the changes to 0.11
190
187
in [ the release blog] [ veloren-011-release-blog ] , and be sure to watch the
191
188
[ release trailer] [ veloren-011-trailer ] ! During the release party, several devs
@@ -195,9 +192,9 @@ and give hope for much larger servers in the future.
195
192
196
193
Shaderc was replaced with Naga early on in the month. This was the result of
197
194
over a year of work. Hitboxes are in the process of being overhauled to handle
198
- non-cylidrical targets better. Improvements were made to how the cursor selects
199
- objects in game. As always, lots of experiemental work is being done to the
200
- economic system. Cultist raiders were added, which mean that raiding parties
195
+ non-cylindrical targets better. Improvements were made to how the cursor selects
196
+ objects in game. As always, lots of experimental work is being done to the
197
+ economic system. Cultist raiders were added, which means that raiding parties
201
198
will now attack nearby settlements. This is a great example of how the realtime
202
199
simulation is starting to become more visible to players.
203
200
@@ -293,7 +290,7 @@ Game made by [@kuviman] for [VimJam 2]. The theme for this jam was "Boss" and
293
290
the limitation was "On The Edge".
294
291
295
292
Monke Pizza is an online multiplayer monke pizza restaurant simulator. You are
296
- always on the edge of being fired. That is * if* you work here. Otherwise you are
293
+ always on the edge of being fired. That is * if* you work here. Otherwise, you are
297
294
on the edge of being hired. Because that is how BOSS is bossing.
298
295
299
296
Made using [ @kuviman ] 's own engine [ geng] .
@@ -374,29 +371,28 @@ Some of the [updates][rpg-cli-releases]:
374
371
375
372
![ supported platforms] ( supported_platforms.svg )
376
373
377
- [ ` good-web-game ` ] has been released on crates.io, together with [ ` ggez ` ] 0.6.1!
378
- ` ggez ` is a lightweight cross-platform game framework for making 2D games
379
- with minimum friction, with an API inspired by Love2D. ` good-web-game ` is a
380
- subset of ggez, which is based upon [ ` miniquad ` ] and can therefore run natively
374
+ [ good-web-game] has been released on crates.io, together with [ ggez] 0.6.1!
375
+ ggez is a lightweight cross-platform game framework for making 2D games
376
+ with minimum friction, with an API inspired by Love2D. good-web-game is a
377
+ subset of ggez, which is based upon [ miniquad] and can therefore run natively
381
378
on the web, mobile and of course desktop as well.
382
379
383
- ` good-web-game ` was originally created to run [ Zemeroth] on the web. However,
384
- as Zemeroth switched from using ` ggez ` to [ ` macroquad ` ] the project was
380
+ good-web-game was originally created to run [ Zemeroth] on the web. However,
381
+ as Zemeroth switched from using ggez to [ macroquad] the project was
385
382
discontinued, until recently. In search of [ a new graphics backend for ggez]
386
383
the ggez team now picked up development again and released a massive update,
387
- updating ` good-web-game ` for compatability to ` ggez ` 0.6, expanding its
384
+ updating good-web-game for compatability to ggez 0.6, expanding its
388
385
functionality.
389
386
390
- With only [ a single change in boilerplate code] many ` ggez ` 0.6 games can now be
391
- directly ported to ` good-web-game ` . Yet, it's no drop in replacement for ` ggez `
387
+ With only [ a single change in boilerplate code] many ggez 0.6 games can now be
388
+ directly ported to good-web-game. Yet, it's no drop in replacement for ggez
392
389
as [ several key differences remain] .
393
390
394
391
[ good-web-game ] : https://github.com/ggez/good-web-game
395
- [ `good-web-game` ] : https://github.com/ggez/good-web-game
396
- [ `ggez` ] : https://github.com/ggez/ggez
397
- [ `miniquad` ] : https://github.com/not-fl3/miniquad
392
+ [ ggez ] : https://github.com/ggez/ggez
393
+ [ miniquad ] : https://github.com/not-fl3/miniquad
398
394
[ Zemeroth ] : https://ozkriff.itch.io/zemeroth
399
- [ ` macroquad` ] : https://github.com/not-fl3/macroquad/
395
+ [ macroquad ] : https://github.com/not-fl3/macroquad/
400
396
[ a new graphics backend for ggez ] : https://github.com/ggez/ggez/issues/962
401
397
[ a single change in boilerplate code ] : https://github.com/PSteinhaus/PSteinhaus.github.io/blob/main/ggez/web-examples/README.md#ggez-animation-example
402
398
[ several key differences remain ] : https://github.com/ggez/good-web-game#differences
@@ -505,14 +501,14 @@ Traditional client-server systems were added and used in the ["Tanks" example][a
505
501
506
502
Clients send only command queue to the server and server sends game world updates
507
503
to the clients. Engine supports multiple players per client.
508
- For example players may be added for each active input device.
504
+ For example, players may be added for each active input device.
509
505
510
506
To allow wide variety of genres player is not attached to one specific entity
511
507
and may control many.
512
508
In RTS player may control all their units and will send commands for each one.
513
509
514
510
Gameplay system that consumes commands doesn't even need to be aware of netcode.
515
- Either way it just drains command queue of an entity and utilizes them.
511
+ Either way, it just drains command queue of an entity and utilizes them.
516
512
That system must not be run on clients at all.
517
513
518
514
[ Arcana] is very early work-in-progress and may not always work
@@ -534,9 +530,9 @@ This month [v0.23 was released][rg3d_0_23_post]. Some of the updates:
534
530
- Physically based rendering (PBR) with metallic workflow.
535
531
- High dynamic range (HDR) rendering pipeline & textures.
536
532
- Custom shaders and materials.
537
- - Emission maps - allows you defining glowing parts using emission map.
533
+ - Emission maps - allows you to define glowing parts using emission map.
538
534
- Gamma correction, manual/auto exposure, and color grading.
539
- - Lots of the editor's improvenents : material editor,
535
+ - Lots of the editor's improvements : material editor,
540
536
unified material pipeline for terrains, improved inspector, etc.
541
537
542
538
Check out the [ blog post] [ rg3d_0_23_post ] or
@@ -561,7 +557,7 @@ highly customizable and user modable action 2D action RPG's using Rust amd JSON.
561
557
562
558
The project started out as a part of the [ Capstone] game but was separated
563
559
as it grew in scope.
564
- It uses JSON files for most of its game data and resources specification,
560
+ It uses JSON files for most of its game data and resources specification
565
561
so that games can be created with very little interaction with the Rust code.
566
562
This has the benefit of making the end product very easy to modify,
567
563
both for non-developers involved in the development process, and by end users.
@@ -619,15 +615,15 @@ If you want to know more, you can check [the tutorial's news page][learn-wgpu-ne
619
615
620
616
![ borderlands save editor] ( borderlands-save.png )
621
617
622
- The [ Borderlands 3 Save Editor] [ borderlands-save-github ] by [ ZakisM] is a tool to
623
- help you modify your Borderlands 3 Saves and Profiles. Currently it runs on
624
- Windows, Mac OS and Linux. It supports modifying PC saves as well as decrypted
625
- PS4 saves (and converting between them). It uses the [ iced GUI
626
- framework ] [ borderlands-iced ] .
618
+ The [ Borderlands 3 Save Editor] [ borderlands-save-github ] by [ ZakisM]
619
+ is a tool to help you modify your Borderlands 3 Saves and Profiles
620
+ written using [ Iced ] . Currently, it runs on Windows, Mac OS and Linux.
621
+ It supports modifying PC saves as well as decrypted PS4 saves
622
+ (and converting between them) .
627
623
628
624
[ ZakisM ] : https://github.com/ZakisM
629
- [ borderlands-iced ] : https://github.com/iced-rs/iced
630
625
[ borderlands-save-github ] : https://github.com/ZakisM/bl3_save_edit
626
+ [ Iced ] : https://github.com/iced-rs/iced
631
627
632
628
## Library Updates
633
629
@@ -664,7 +660,7 @@ The goal is to enable low-latency multiplayer games written in Rust WASM.
664
660
665
661
Matchbox consists of:
666
662
667
- - A tiny signalling server, [ ` matchbox_server ` ] , which acts as a rendezvous
663
+ - A tiny signaling server, [ ` matchbox_server ` ] , which acts as a rendezvous
668
664
point. It helps peers discover each other and deal with NAT traversal in order
669
665
to establish more direct ways of communication.
670
666
- A crate, [ ` matchbox_socket ` ] , which handles connecting to a signalling server
@@ -698,7 +694,7 @@ fallible systems and beautiful syntax.
698
694
The goal of [ Sparsey] is to provide a sparse set-based ECS which fully takes
699
695
advantage of its core data structure. An example of this is component storage
700
696
grouping, a feature which allows getting the best performance possible when
701
- iterating over queries which match certain patterns described by the user, at
697
+ iterating over queries that match certain patterns described by the user, at
702
698
the cost of a performance penalty when inserting or removing components from
703
699
these storages.
704
700
@@ -905,30 +901,55 @@ _Discussions: [/r/rust](https://reddit.com/r/rust/comments/pjlb92/kas_gui_v010)_
905
901
906
902
<!-- Up to 10 links to interesting issues -->
907
903
908
- ## Meeting Minutes
909
-
910
- <!-- Up to 10 most important notes + a link to the full details -->
904
+ - [ rust-gamedev/rust-gamedev.github.io] ( https://github.com/rust-gamedev/rust-gamedev.github.io ) :
905
+ - [ #636 "Better solution for hosting images (or the site as a whole)?"] ( https://github.com/rust-gamedev/rust-gamedev.github.io/issues/636 ) ;
906
+ - [ #785 "Discussions section"] ( https://github.com/rust-gamedev/rust-gamedev.github.io/issues/785 ) .
907
+ - [ rust-gamedev/wg] ( https://github.com/rust-gamedev/wg ) :
908
+ - [ #90 "Rust on Consoles"] ( https://github.com/rust-gamedev/wg/issues/90 ) ;
909
+ - [ #113 "Rust GameDev Community Assets Store"] ( https://github.com/rust-gamedev/wg/discussions/113 ) ;
910
+ - [ #115 "Official WG meeting"] ( https://github.com/rust-gamedev/wg/discussions/115 ) .
911
911
912
- [ See all meeting issues] [ label_meeting ] including full text notes
913
- or [ join the next meeting] [ join ] .
912
+ ## Discussions
914
913
915
- [ label_meeting ] : https://github.com/rust-gamedev/wg/issues?q=label%3Ameeting
914
+ - [ /r/rust_gamedev] ( https://reddit.com/r/rust_gamedev ) :
915
+ - [ "Is WGSL a good choice?"] ( https://reddit.com/r/rust_gamedev/comments/pvbv50/is_wgsl_a_good_choice ) .
916
+ - [ "Unity files patent for ECS in game engines that would probably affect
917
+ many Rust ECS crates, including Bevy's"] ( https://reddit.com/r/rust/comments/pjtpkj/unity_files_patent_for_ecs ) .
916
918
917
919
## Requests for Contribution
918
920
919
921
<!-- Links to "good first issue"-labels or direct links to specific tasks -->
920
922
921
- ## Jobs
922
-
923
- <!-- An optional section for new jobs related to Rust gamedev -->
924
-
925
- ## Bonus
926
-
927
- <!-- Bonus section to make the newsletter more interesting
928
- and highlight events from the past. -->
929
-
930
- <!-- TODO: browse previous newsletter coord-issues and select some cool section
931
- that wasn't written. -->
923
+ - [ Graphite is looking for contributors] [ graphite-contribute ] to help reach
924
+ the 0.1 Alpha release and are participating as a [ Hacktoberfest] project.
925
+ - [ winit's "difficulty: easy" issues] [ winit-issues ] .
926
+ - [ Backroll-rs, a new networking library] [ backroll-rs ] .
927
+ - [ Embark's open issues] [ embark-open-issues ] ([ embark.rs] ).
928
+ - [ wgpu's "help wanted" issues] [ wgpu-issues ] .
929
+ - [ luminance's "low hanging fruit" issues] [ luminance-fruits ] .
930
+ - [ ggez's "good first issue" issues] [ ggez-issues ] .
931
+ - [ Veloren's "beginner" issues] [ veloren-beginner ] .
932
+ - [ Amethyst's "good first issue" issues] [ amethyst-issues ] .
933
+ - [ A/B Street's "good first issue" issues] [ abstreet-issues ] .
934
+ - [ Mun's "good first issue" issues] [ mun-issues ] .
935
+ - [ SIMple Mechanic's good first issues] [ simm-issues ] .
936
+ - [ Bevy's "good first issue" issues] [ bevy-issues ] .
937
+
938
+ [ graphite-contribute ] : https://github.com/GraphiteEditor/Graphite/issues/202
939
+ [ winit-issues ] : https://github.com/rust-windowing/winit/issues?q=is%3Aopen+is%3Aissue+label%3A%22difficulty%3A+easy%22
940
+ [ backroll-rs ] : https://github.com/HouraiTeahouse/backroll-rs/issues
941
+ [ embark.rs ] : https://embark.rs
942
+ [ embark-open-issues ] : https://github.com/search?q=user:EmbarkStudios+state:open
943
+ [ wgpu-issues ] : https://github.com/gfx-rs/wgpu/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
944
+ [ luminance-fruits ] : https://github.com/phaazon/luminance-rs/issues?q=is%3Aissue+is%3Aopen+label%3A%22low+hanging+fruit%22
945
+ [ ggez-issues ] : https://github.com/ggez/ggez/labels/%2AGOOD%20FIRST%20ISSUE%2A
946
+ [ veloren-beginner ] : https://gitlab.com/veloren/veloren/issues?label_name=beginner
947
+ [ amethyst-issues ] : https://github.com/amethyst/amethyst/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
948
+ [ abstreet-issues ] : https://github.com/a-b-street/abstreet/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
949
+ [ mun-issues ] : https://github.com/mun-lang/mun/labels/good%20first%20issue
950
+ [ simm-issues ] : https://github.com/mkhan45/SIMple-Mechanics/labels/good%20first%20issue
951
+ [ bevy-issues ] : https://github.com/bevyengine/bevy/labels/E-Good-First-Issue
952
+ [ Hacktoberfest ] : https://hacktoberfest.digitalocean.com/
932
953
933
954
------
934
955
0 commit comments