8000 N31: Release (#974) · nxsy/rust-gamedev.github.io@1baa787 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1baa787

Browse files
N31: Release (rust-gamedev#974)
* Remove draft * Added popular workgroup issues and discussions * Added other news section * Spelling and grammar pass * Added request for contribution section * Removed empty sections * Fixed dis-order image link * Added section about the gamedev showcase * Improved discussions section * Update content/news/031/index.md Co-authored-by: Joe Clay <27cupsofcoffee@gmail.com> * Update content/news/031/index.md Co-authored-by: Joe Clay <27cupsofcoffee@gmail.com> * Update content/news/031/index.md Co-authored-by: Joe Clay <27cupsofcoffee@gmail.com> Co-authored-by: Joe Clay <27cupsofcoffee@gmail.com>
1 parent 77e4ae3 commit 1baa787

File tree

1 file changed

+129
-51
lines changed

1 file changed

+129
-51
lines changed

content/news/031/index.md

Lines changed: 129 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
+++
22
title = "This Month in Rust GameDev #31 - February 2022"
33
transparent = true
4-
date = 2022-03-01
5-
draft = true
4+
date = 2022-03-10
65
+++
76

87
<!-- no toc -->
@@ -33,18 +32,16 @@ Feel free to send PRs about your own projects!
3332

3433
- [Bevy Jam](#bevy-jam-1)
3534
- [Rust GameDev Meetup](#rust-gamedev-meetup)
35+
- [Rust GameDev Showcase](#rust-gamedev-showcase)
3636
- [Game Updates](#game-updates)
3737
- [Learning Material Updates](#learning-material-updates)
3838
- [Engine Updates](#engine-updates)
3939
- [Tooling Updates](#tooling-updates)
4040
- [Library Updates](#library-updates)
4141
- [Other News](#other-news)
42-
- [Popular Workgroup Issues in Github](#popular-workgroup-issues-in-github)
43-
- [Meeting Minutes](#meeting-minutes)
4442
- [Discussions](#discussions)
4543
- [Requests for Contribution](#requests-for-contribution)
4644
- [Jobs](#jobs)
47-
- [Bonus](#bonus)
4845

4946
<!--
5047
Ideal section structure is:
@@ -72,12 +69,12 @@ If needed, a section can be split into subsections with a "------" delimiter.
7269

7370
![Bevy Jam](bevy-jam.png)
7471

75-
The first ever [Bevy Jam][bevy-jam] just finished! Bevy Jam is a week long event,
72+
The first-ever [Bevy Jam][bevy-jam] just finished! Bevy Jam is a week-long event,
7673
where the goal is to make a game in [Bevy Engine][bevy-engine], the free and open-source
7774
game engine built in Rust.
7875

7976
The theme was Unfair Advantage. 431 people joined the jam and 75 teams submitted
80-
entries. A ten day "voting period" has started, which will end on March 14th.
77+
entries. A ten-day "voting period" has started, which will end on March 14th.
8178
[Anyone can play and vote on the submissions][bevy-jam-submissions].
8279

8380
The winning team will receive any two items from the [Bevy Merch][bevy-merch] store.
@@ -91,7 +88,7 @@ The winning team will receive any two items from the [Bevy Merch][bevy-merch] st
9188

9289
![Gamedev meetup poster](gamedev-meetup.png)
9390

94-
The 13th Rust Gamedev Meetup took place in in February. You can watch the
91+
The 13th Rust Gamedev Meetup took place in February. You can watch the
9592
recording of the meetup [here on Youtube][gamedev-meetup-video]. The meetups
9693
take place on the second Saturday every month via the [Rust Gamedev Discord
9794
server][rust-gamedev-discord] and are also [streamed on
@@ -103,6 +100,18 @@ Twitch][rust-gamedev-twitch].
103100
[gamedev-meetup-form]: https://forms.gle/BS1zCyZaiUFSUHxe6
104101
[rust-meetup-feb-time]: https://everytimezone.com/s/c1b2eb7b
105102

103+
## Rust GameDev Showcase
104+
105+
The Rust Gamedev Working Group is working on a showcase of games made in Rust!
106+
If you're interested in submitting your own footage, fill out [this
107+
form][showcase-form]. You can also read more about the process of creating the
108+
showcase in the [showcase discussion on Github][showcase-discussion]. The
109+
deadline for submissions has been extended until the 19th of February. Hope to
110+
see your game in there!
111+
112+
[showcase-form]: https://docs.google.com/forms/d/1MpA7J9BFXAgoCJZJrxi8r4sqzhhYCzCtFo5kXGVOZj4/edit
113+
[showcase-discussion]: https://github.com/rust-gamedev/wg/discussions/121
114+
106115 9E88
## Game Updates
107116

108117
### [Name Needed][name-needed]
@@ -113,11 +122,11 @@ _The player orders a selection of blocks to be broken, and a brick wall to be
113122
built._
114123

115124
[Name Needed][name-needed] by [@DomWilliams0][domwilliams-github] is a one-man
116-
effort to produce an open source, intuitive and high performance Dwarf
125+
effort to produce an open source, intuitive, and high-performance Dwarf
117126
Fortress-esque game with a custom engine.
118127

119128
Recent progress has been on procedural terrain generation, the player UI, item
120-
stacks and build jobs. A major refactor of the AI system integrated Rust's
129+
stacks, and build jobs. A major refactor of the AI system integrated Rust's
121130
superb `async`/`await` support, which is documented in the most recent devlog.
122131

123132
- [Devlog #5: voxel world goals][name-needed-devlog5]
@@ -187,11 +196,11 @@ The latest release:
187196

188197
### [Dis-order]
189198

190-
![Screenshot of Dis-order](dis-order.png)
199+
![Screenshot of Dis-order](dis-order.jpg)
191200

192201
Dis-order by [@jkhelsing] is a short sokoban-esque puzzle game made in 72 hours
193202
for MiniJam 100. In Dis-order you're making chaos instead of order, you win when
194-
there are are no patterns or order in the level.
203+
there are no patterns or order in the level.
195204

196205
It's made using [Bevy][dis-order-bevy] and uses [bevy_smud][bevy_smud] for shape
197206
rendering, and a compute pass for the [particle
@@ -238,7 +247,7 @@ release, a [trailer with some of the changes][veloren-012-release-trailer] was
238247
posted. This release was 5 months in the making, so the changelog is quite
239248
large. During the release party, the official server reached a cap of 195
240249
players online at once, which is another record for Veloren. Changes were made
241-
to allow server owners to more easily handle IPv4 and IPv6 connections.
250+
to allow server owners to handle IPv4 and IPv6 connections.
242251
Improvements were also made to trading price calculations to properly normalize
243252
loot tables.
244253

@@ -307,7 +316,7 @@ The tutorial showcases:
307316
- essential features of the [bevy][bevy] engine
308317
- important ECS notions for beginners
309318
- WASM build
310-
- and soon, android native apk build
319+
- and soon, android native APK build
311320

312321
_Discussions: [Twitter][bevy_minesweeper_twitter], [dev.to][Bevy Minesweeper]_
313322

@@ -365,7 +374,7 @@ build the required GDNative libraries.
365374

366375
Bruno Lipovac [released a blog post][Supercharging your Web with Rust and Bevy]
367376
that detailed building 3D applications for use on the web with Bevy. It walks
368-
through setting up a Bevy project, and importing some models. It also details
377+
through setting up a Bevy project and importing some models. It also details
369378
some more fine-detail items, such as lighting and sky. It then shows how to
370379
compile the project and serve it.
371380

@@ -384,10 +393,10 @@ will be a procedural texturing tool.
384393
This application saw its first public release a month ago, where it added
385394
support for its first use case: manual channel shuffling.
386395

387-
The latest version, [v0.4.0][Vismut v0.4.0], brings an all new interface that's
388-
not only prettier, but also much easier to use thanks to `bevy_egui`!
396+
The latest version, [v0.4.0][Vismut v0.4.0], brings an all-new interface that's
397+
not only prettier but also much easier to use thanks to `bevy_egui`!
389398

390-
Upcoming versions will turn it into a fully featured node based procedural
399+
Upcoming versions will turn it into a fully-featured node-based procedural
391400
texturing tool. [Read the introduction][Vismut Introduction]
392401
on the auth 10000 or's blog for more information.
393402

@@ -403,7 +412,7 @@ on the author's blog for more information.
403412
![Blackjack: Showcase of the new catmull-clark subdivision](blackjack.gif)
404413

405414
[Blackjack] by @setzer22 is a new procedural modeling application made in Rust,
406-
using rend3, wgpu and egui. It follows the steps of applications like
415+
using rend3, wgpu, and egui. It follows the steps of applications like
407416
Houdini, or Blender's geometry nodes project and provides a node-based
408417
environment to compose procedural recipes to create 3d models.
409418

@@ -437,7 +446,7 @@ supercharges your layer stack, providing a completely non-destructive editing
437446
experience.
438447

439448
After officially launching the alpha version last month, work has progressed
440-
designing the node graph system. Also, the team has spent this month adding
449+
in designing the node graph system. Also, the team has spent this month adding
441450
polish to the application and continuing work on more website content.
442451

443452
A new editor feature is the Gradient tool which makes it possible to add some
@@ -462,7 +471,7 @@ Check out the [new website][graphite-website], try the
462471
### [vach]
463472

464473
[vach] is an archiving file format developed from the ground up for games and
465-
other realtime applications by [@zeskeertwee] and [@sokorototo]. It is
474+
other real-time applications by [@zeskeertwee] and [@sokorototo]. It is
466475
written in pure Rust.
467476

468477
Its primary objectives (in no particular order) are:
@@ -477,12 +486,12 @@ Its primary objectives (in no particular order) are:
477486
- Be as compact as possible - the smallest valid archive is only 13 bytes.
478487
- Each entry has some metadata attached to it - this is implemented using
479488
bitflags and up to 8 bits are free to the user.
480-
- Has mutlithreaded implementations of both the loader and the writer.
489+
- Has multithreaded implementations of both the loader and the writer.
481490

482-
A [CLI][vach-cli] is allowing one to use vach as a general purpose archive
491+
A [CLI][vach-cli] is allowing one to use vach as a general-purpose archive
483492
format. The CLI is fully multithreaded, allowing for insane un/packing speeds.
484493

485-
Feel free to drop into the [repo][vach] and open an issue, pull request or
494+
Feel free to drop into the [repo][vach] and open an issue, pull request, or
486495
drop a star 🌟. It helps maintain momentum in the project.
487496

488497
[vach]: https://github.com/zeskeertwee/vach
@@ -495,7 +504,7 @@ drop a star 🌟. It helps maintain momentum in the project.
495504
![Sparsey](sparsey.png)
496505

497506
[Sparsey] by [@LechintanTudor] is a sparse set-based Entity Component System
498-
with beautiful and concise syntax.
507+
with a beautiful and concise syntax.
499508

500509
The biggest change in this release was the removal of component change detection
501510
which had a significant impact on performance and memory usage. As a result,
@@ -515,16 +524,16 @@ improvement allowing systems to be added to schedules without having to call
515524
![Encase Logo](./encase.svg)
516525

517526
[Encase] ([docs.rs], [crates.io]) by [@teoxoy] is a new library
518-
that provides a mechanism to lay out data into GPU buffers
527+
that provides a mechanism to layout data into GPU buffers
519528
according to [WGSL's memory layout] rules.
520529

521530
Features
522531

523532
- supports all WGSL [host-shareable types] + wrapper types
524533
(`&T`, `&mut T`, `Box<T>`, ...)
525534
- extensible by design; most traits can be easily implemented
526-
for user defined types via macros (see [design])
527-
- built in support for data types from a multitude of crates
535+
for user-defined types via macros (see [design])
536+
- built-in support for data types from a multitude of crates
528537
(enabled via [features])
529538
- covers a wide area of use cases (see [examples])
530539

@@ -571,12 +580,12 @@ your own multimedia app on top of it without worrying too much about
571580
platform-specific code.
572581

573582
The main goal is to provide a set of APIs and tools that can be used to create
574-
your project in an ergonomic manner without enforcing any structure or pattern,
583+
your project ergonomically without enforcing any structure or pattern,
575584
always trying to stay out of your way. The idea is that you can use it as a
576-
foundation layer or backend for your next app, game engine or game.
585+
foundation layer or backend for your next app, game engine, or game.
577586

578-
This first version comes with windowing, input and rendering support on MacOS,
579-
Linux, Windows and Web. Behind feature flags you can use a fast 2D renderer,
587+
This first version comes with windowing, input, and rendering support on MacOS,
588+
Linux, Windows, and Web. Behind feature flags, you can use a fast 2D renderer,
580589
text rendering, and [egui] integration.
581590

582591
You can try [Notan] by adding it to your `Cargo.toml` -> `notan = "0.1.0"` or
@@ -608,40 +617,109 @@ current and planned functionality.
608617
[Bevy]: https://github.com/bevyengine/bevy
609618
[@nikl_me]: https://twitter.com/nikl_me
610619

611-
## Popular Workgroup Issues in Github
620+
## Discussions
612621

613-
<!-- Up to 10 links to interesting issues -->
622+
<!-- Links to handpicked reddit/twitter/urlo/etc threads that provide
623+
useful information -->
624+
625+
- [/r/bevy](https://www.reddit.com/r/bevy/):
626+
- ["Recommended Bevy/ECS Project Structure/Conventions"]
627+
- [/r/rust_gamedev](https://www.reddit.com/r/rust_gamedev/):
628+
- ["Which is a better game engine to start with as a beginner"]
629+
- [gamedev wg](https://github.com/rust-gamedev/wg)
630+
- [#121 Rust Gamedev Showcase]
631+
- [#122 Length of meetups]
632+
- [#119 Engine benchmark repo]
633+
634+
["Recommended Bevy/ECS Project Structure/Conventions"]: https://reddit.com/r/bevy/comments/sikrv1/recommended_bevyecs_project_structureconventions
635+
["Which is a better game engine to start with as a beginner"]: https://reddit.com/r/rust_gamedev/comments/stcnx0/which_is_a_better_game_engine_to_start_with
636+
[#121 Rust Gamedev Showcase]: https://github.com/rust-gamedev/wg/discussions/121
637+
[#122 Length of meetups]: https://github.com/rust-gamedev/wg/discussions/122
638+
[#119 Engine benchmark repo]: https://github.com/rust-gamedev/wg/discussions/119
614639

615640
## Other News
616641

617642
<!-- One-liners for plan items that haven't got their own sections. -->
618643

619-
## Meeting Minutes
620-
621-
<!-- Up to 10 most important notes + a link to the full details -->
622-
623-
[See all meeting issues][label_meeting] including full text notes
624-
or [join the next meeting][join].
625-
626-
[label_meeting]: https://github.com/rust-gamedev/wg/issues?q=label%3Ameeting
627-
628-
## Discussions
629-
630-
<!-- Links to handpicked reddit/twitter/urlo/etc threads that provide
631-
useful information -->
644+
- Other game updates:
645+
- [Fish Fight] introduced mod loading.
646+
- [vange-rs] published a blog post about using Emscripten with Rust.
647+
- [makiomino.fun] introduced a new level-up animation.
648+
- [country-slice] added shadows and the ability to adjust wall height.
649+
- [flesh] has a new animation for the mid-boss.
650+
- [Rustenstein 3D: Game programming like it's 1992] is an article walking
651+
through creating a Wolfenstein-like game in Rust.
652+
- [Making a 3D Super Munchers Clone with Bevy] is a video walkthrough of
653+
creating a 3D game in Bevy.
654+
- [Vulkan with Rust by example] is the latest post in a series about using Vulkan
655+
with Rust.
656+
- [Fyrox] got assets to hot-reload.
657+
- [Hotham] released a video demo of the engine.
658+
- [godot-rust] introduced C#-style properties.
659+
- [cosync] is a single-threaded executor for deferred async code for games.
660+
- [SPIR-Q v0.5] was released after two years of v0.4 maintenance.
661+
- [egui 0.17.0] was released, with custom text styles, any-sized fonts, and
662+
much more.
663+
- [sparticles-rs] is a particle system generator.
664+
- [blender_bevy_toolkit] is making process in opening Blender files in Bevy.
665+
666+
[Fish Fight]: https://reddit.com/r/rust_gamedev/comments/sokjon/fish_fight_v041_mod_loading
667+
[vange-rs]: https://caiiiycuk.medium.com/vangers-3d-example-of-using-emscripten-in-rust-720ee8099d72
668+
[makiomino.fun]: https://twitter.com/makiomino/status/1496252771909218308
669+
[country-slice]: https://twitter.com/anastasiaopara/status/1492429686294683653
670+
[flesh]: https://twitter.com/Im_Oab/status/1490576387589427200
671+
[Rustenstein 3D: Game programming like it's 1992]: https://tech.nextroll.com/blog/dev/2022/02/02/rustenstein.html
672+
[Making a 3D Super Munchers Clone with Bevy]: https://youtube.com/watch?v=oee3Z69sE-8
673+
[Vulkan with Rust by example]: https://nikitablack.github.io/post/vulkan_with_rust_by_example_6_fixing_depth/
674+
[Fyrox]: https://reddit.com/r/rust_gamedev/comments/sm34s6/media_finally_got_assets_hot_reloading_working_in
675+
[Hotham]: https://reddit.com/r/rust_gamedev/comments/st4vp1/media_hotham_vr_engine_demo
676+
[godot-rust]: https://twitter.com/GodotRust/status/1490282777039753218
677+
[cosync]: https://github.com/sanbox-irl/cosync
678+
[SPIR-Q v0.5]: https://reddit.com/r/rust_gamedev/comments/sr7nnr/spirq_v05_cleaner_api
679+
[egui 0.17.0]: https://twitter.com/ernerfeldt/status/1496200805212475396
680+
[sparticles-rs]: https://youtube.com/watch?v=dyxlfOyW90Q
681+
[blender_bevy_toolkit]: https://reddit.com/r/rust_gamedev/comments/sredt1/blender_bevy_pipeline_progress
632682

633683
## Requests for Contribution
634684

635685
<!-- Links to "good first issue"-labels or direct links to specific tasks -->
636686

687+
- [Graphite is looking for contributors][graphite-contribute] to help build the
688+
new node graph and 2D rendering systems.
689+
- [winit's "difficulty: easy" issues][winit-issues].
690+
- [Backroll-rs, a new networking library][backroll-rs].
691+
- [Embark's open issues][embark-open-issues] ([embark.rs]).
692+
- [wgpu's "help wanted" issues][wgpu-issues].
693+
- [luminance's "low hanging fruit" issues][luminance-fruits].
694+
- [ggez's "good first issue" issues][ggez-issues].
695+
- [Veloren's "beginner" issues][veloren-beginner].
696+
- [Amethyst's "good first issue" issues][amethyst-issues].
697+
- [A/B Street's "good first issue" issues][abstreet-issues].
698+
- [Mun's "good first issue" issues][mun-issues].
699+
- [SIMple Mechanic's good first issues][simm-issues].
700+
- [Bevy's "good first issue" issues][bevy-issues].
701+
702+
[graphite-contribute]: https://github.com/GraphiteEditor/Graphite/issues/202
703+
[winit-issues]: https://github.com/rust-windowing/winit/issues?q=is%3Aopen+is%3Aissue+label%3A%22difficulty%3A+easy%22
704+
[backroll-rs]: https://github.com/HouraiTeahouse/backroll-rs/issues
705+
[embark.rs]: https://embark.rs
706+
[embark-open-issues]: https://github.com/search?q=user:EmbarkStudios+state:open
707+
[wgpu-issues]: https://github.com/gfx-rs/wgpu/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22
708+
[luminance-fruits]: https://github.com/phaazon/luminance-rs/issues?q=is%3Aissue+is%3Aopen+label%3A%22low+hanging+fruit%22
709+
[ggez-issues]: https://github.com/ggez/ggez/labels/%2AGOOD%20FIRST%20ISSUE%2A
710+
[veloren-beginner]: https://gitlab.com/veloren/veloren/issues?label_name=beginner
711+
[amethyst-issues]: https://github.com/amethyst/amethyst/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
712+
[abstreet-issues]: https://github.com/a-b-street/abstreet/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
713+
[mun-issues]: https://github.com/mun-lang/mun/labels/good%20first%20issue
714+
[simm-issues]: https://github.com/mkhan45/SIMple-Mechanics/labels/good%20first%20issue
715+
[bevy-issues]: https://github.com/bevyengine/bevy/labels/E-Good-First-Issue
716+
637717
## Jobs
638718

639719
<!-- An optional section for new jobs related to Rust gamedev -->
640720

641-
## Bonus
642-
643-
<!-- Bonus section to make the newsletter more interesting
644-
and highlight events from the past. -->
721+
- [Embark Studios](https://careers.embark-studios.com/jobs)
722+
(Stockholm/Hybrid Remote) - Various roles
645723

646724
------
647725

0 commit comments

Comments
 (0)
0