<!-- markdownlint-disable MD041 MD013 no-inline-html ul-indent -->
# Newsletter 22: May 2021
###### tags: `newsletter`
**Editors**: @AngelOnFira, @17cupsofcoffee, and @ozkriff
Another month has gone by, so it's time to put together the Rust Gamedev newsletter for May!
If you want to help writing the newsletter:
- Grab some of the "🆓 **free**" sections by leaving a comment like "I'd like to work on {section\_name\_1} and {section\_name\_2}".
- The links in brackets (like "1, 2, 3") are suggestions of links to include in the section. Feel free to add more!
- Mentions in brackets (like "🆓 **free** (@ozkriff?)") are just a suggestion of who could pick the work up - it's not an obligation, and other people are welcome to take those sections.
- Extra sections not listed in the plan are welcomed - just leave a comment and open a PR!
- Write a short overview:
- Use provided links as a starting point.
- Try to maintain a consistent style with the rest of the newsletter and run markdownlint (lint errors will fail the CI build).
- Insert line breaks ([softbreak](https://spec.commonmark.org/0.29/#soft-line-breaks)) at 80 chars, please.
- Leave a comment or DM me on Discord if you have any issues.
- Send a PR *to the `source` branch* (example: #336)
- Mention this issue in your PR's description to link it all together.
------
As with the last few newsletters, we're trying to delegate the writing workload where we can - to quote @AngelOnFira from a few months ago:
> We're also going to be transitioning to having authors or volunteers write about their own content, rather than the editing team doing it all at the end 💯 This means if you want to see your work in the newsletter, you have to write it yourself! If you're not able to write about your work, feel free to comment and I can assign it 🆓 free. We're working on taking some of the load off the editing team where we can with this. Best to keep this sustainable!
>
> Also, we want to make sure contributing to the newsletter feels open to anyone who wants to write a section about their project. If you have anything you can write about, just add a comment to this issue and I'll add it to the todo list 😄
------
## Current Schedule
The soft deadline for all section PRs is the **6th of June**. PRs will usually be accepted as long as they are ready before the newsletter's release, but the earlier the better :)
Review and release will take place around the **8th of June**.
------
⚠️ [We have decided to try a shorter and more limited section format](https://github.com/rust-gamedev/rust-gamedev.github.io/issues/454): ⚠️
- Only one image (<300kb) or GIF (<2.5mb) before the text, with an optional caption and mandatory alt text for accessibility.
- All the rendered text should be under 1000 characters (including spaces and punctuation) and under 6 paragraphs (without any subsections, etc).
- No bold/italic/etc formatting - only links and one plain list without nesting per section (multiple lists are allowed if your project consists of multiple parts that aren't independent enough for their own sections).
- Third-person perspective.
- 80 characters per line and no other markdownlint warnings on CI.
Please use these templates as a starting point:
**Games/apps/libraries:**
```md
### [Game name]

_optional image label_
[Game name] ([GitHub], [Discord], [Twitter]) by [@nickname]
is... {short project description in one sentence}.
{An overview of the recent updates with links to more details}.
_Discussions: [/r/rust_gamedev](link), [Twitter](link), [etc](link)_
[Game name]: http://example.com
```
**Articles/blog posts/videos/etc:**
```md
### [Article name]

_optional image label_
[@nickname] published an [article] about...
{overview what the resource is about}.
_Discussions: [/r/rust_gamedev](link), [Twiter](link), [etc](link)_
[Article name]: http://example.com
```
## Current Structure & Status
Below is a list of our current planned structure for the newsletter, and the status of each PR (which we'll try to keep updated).
This is **not** an exhaustive list - if you have your own project that you want to write about, just make a comment on this issue and open a PR!
- [x] Meetup \#5 - ✔️ done by @AngelOnFira in #657
- [x] Game Updates
- [x] The Process ([1](https://twitter.com/PlayTheProcess/status/1391484080798281728), [2](https://reddit.com/r/rust_gamedev/comments/nbmfvz/better_logistics_in_the_process_made_with_godot)) - ✔️ done by @setzer22 in #646
- [x] Theta Wave ([1](https://twitter.com/carlosupina/status/1391438600055660544)) - ✔️ done by @cdsupina and @tigleym in #661
- [x] Harvest Hero ([1](https://twitter.com/GemdropGames/status/1390367742604181505), [2](https://gemdrop-games.itch.io/harvest-hero-origins)) - ✔️ done by @Bombfuse in #653
- [x] pGLOWrpg ([1](https://twitter.com/pglowrpg/status/1390655965188575232?s=19)) - ✔️ done by @roalyr in #648
- [x] ~~rust-sokoban-wasm ([1](https://plasma-beam.itch.io/rust-sokoban-wasm), [2](https://github.com/eduardonunesp/rust-sokoban-wasm)) - 🆓 free (@eduardonunesp?)~~
- [x] Veloren - ✔️ done by @AngelOnFira in #642
- [x] Outer Wonders ([1](https://utopixel.games/en/blog/)) - ✔️ done by @utoalex in #656
- [x] rpg-cli ([1](https://github.com/facundoolano/rpg-cli), [2](https://reddit.com/r/rust_gamedev/comments/nktk1y/rpgcli_your_filesystem_as_a_dungeon)) - ✔️ done by @ozkriff in #671
- [x] ~~Way of Rhea ([1](https://twitter.com/AnthropicSt)) - 🆓 free (@MasonRemaley?)~~
- [x] A/B Street ([1](https://reddit.com/r/abstreet)) - ✔️ done by @dabreegster in #647
- [x] Project YAWC ([1](https://twitter.com/ProjectYawc)) - ✔️ done by @junkmail22 in #662
- [x] Flesh ([1](https://twitter.com/Im_Oab)) - ✔️ done by @Im-Oab in #645
- [x] Bounty Bros - ✔️ done by @zicklag in #651
- [x] Learning Material Updates
- [x] Learn Wgpu Tutorial: wgpu 0.8 & WGSL ([1](https://reddit.com/r/rust_gamedev/comments/nk8j6i/learn_wgpu_tutorial_migrated_to_wgpu_08), [2](https://sotrh.github.io/learn-wgpu/news/#_0-8-and-wgsl)) - ✔️ done by @sotrh in #660
- [x] Video: 1 Year of Rust Game Development ([1](https://youtube.com/watch?v=ZltAssmicsM), [2](https://reddit.com/r/rust_gamedev/comments/n4o197/1_year_of_rust_game_development_i_talk_about_why)) - ✔️ done by @TanTanDev in #663
- [x] Video: voxel engine with rust and wgpu-rs ([1](https://youtube.com/watch?v=96ht7rd3Y5I), [2](https://reddit.com/r/rust_gamedev/comments/nn0j5l/i_made_a_voxel_engine_with_rust_and_wgpurs)) - ✔️ done by @TanTanDev in #664
- [x] Rust in Unreal Engine (May 2021 Summary) ([1](https://reddit.com/r/rust_gamedev/comments/n9v8m9/rust_in_unreal_engine_may_2021_summary)) - ✔️ done by @AngelOnFira in #669
- [x] LD48: Rusty MMO in 48 hours ([1](https://kuviman.itch.io/dig-world/devlog/255566/so-i-made-an-mmo-in-48-hours), [2](https://reddit.com/r/rust_gamedev/comments/nhdwky/i_used_rust_to_make_an_mmo_in_48_hours)) - ✔️ done by @x-52 in #658
- [x] 2048 Using an event system to reset the game ([1](https://youtube.com/watch?v=4TJsEXupFso)) - ✔️ done by @ChristopherBiscardi in #670
- [x] Engine Updates
- [x] ~~Macroquad ([1](https://macroquad.rs/), [2](https://twitter.com/fedor_games/status/1389597331121754114)) - 🆓 free (@not-fl3?)~~
- [x] Tetra ([1](https://twitter.com/17cupsofcoffee/status/1393259060355604481), [2](https://github.com/17cupsofcoffee/tetra/blob/main/CHANGELOG.md#064---2021-05-14)) - ✔️ done by @17cupsofcoffee in #665
- [x] rg3d ([1](https://twitter.com/DmitryNStepanov), [2](https://reddit.com/r/rust/comments/nlnfdb/timelapse_of_terrain_editing_in_rustyeditor_which), [3](https://reddit.com/r/rust/comments/nim68k/rg3d_game_engine_now_supports_multilayer_terrains)) - ✔️ done by @mrDIMAS in #668
- [x] Rustcraft ([1](https://github.com/dskart/rustcraft), [2](https://reddit.com/r/rust/comments/n525mr/i_made_a_minecraftlike_engine_using_wgpu_in_rust)) - ✔️ done by @dskart in #643
- [x] Library & Tooling Updates
- [x] ~~colstodian ([1](https://github.com/termhn/colstodian)) - 🚧 WIP by @termhn~~
- [x] ~~cint ([1](https://github.com/termhn/cint)) - 🚧 WIP by @termhn~~
- [x] libfive ([1](https://github.com/virtualritz/libfive-rs/tree/master/libfive)) - ✔️ done by @virtualritz in #666
- [x] ~~Mun - 🆓 free (@Wodann?)~~
- [x] tobj ([1](https://github.com/Twinklebear/tobj)) - ✔️ done by @Twinklebear in #659
- [x] nvtx-rs ([1](https://github.com/simbleau/nvtx-rs)) - ✔️ done by @ozkriff in #674
- [x] Dimforge ([1](https://dimforge.com/blog/2021/06/06/this-month-in-dimforge)) - ✔️ done by @ozkriff in #672
- [x] gfx-rs: naga benchmark ([1](https://gfx-rs.github.io/2021/05/09/dota2-msl-compilation.html), [2](https://reddit.com/r/rust/comments/n873e8/naga_shader_translation_is_4x_faster)) - ✔️ done by @kvark in #641
- [x] ~~imgui-wgpu ([1](https://github.com/Yatekii/imgui-wgpu-rs)) - 🆓 free (@cwfitzgerald?)~~
- [x] ~~egui v0.12 ([1](https://reddit.com/r/rust/comments/n9f6vt/announcing_egui_012_the_simple_gui_library)) - ✔️ done by @emilk in #650~~
- [x] ~~nannou_egui ([1](https://crates.io/crates/nannou_egui)) - 🆓 free (@AlexEne?)~~
- [x] ~~RAUI ([1](https://github.com/RAUI-labs/raui), [2](https://raui-labs.github.io/raui)) - 🚧 WIP by @PsichiX~~
- [x] Rafx ([1](https://aclysma.github.io/github-pages-test/rafx-web-test/index.html)) - ✔️ done by @aclysma in #649
- [x] bevy_asset_loader v0.2 ([1](https://twitter.com/nikl_me/status/1396821661165441027), [2](https://crates.io/crates/bevy_asset_loader)) - ✔️ done by @NiklasEi in #655
- [x] texture_generator ([1](https://github.com/Orchaldir/texture_generator), [2](https://reddit.com/r/rust_gamedev/comments/ncyvr6/procedural_texture_tilemap_generation_040)) - ✔️ done by @Orchaldir in #654
- [x] Nestadia ([1](https://github.com/zer0x64/nestadia)) - ✔️ done by @zer0x64 in #644
- [x] Bevy Retro - ✔️ done by @zicklag in #652
- [x] Graphite - ✔️ done by @Keavon in #667
Final steps:
- [x] Final review - by everyone
- [x] Publish - by @AngelOnFira
- [x] Post on /r/rust, /r/rust\_gamedev, /r/gamedev, URLO, twitter.com/rust\_gamedev - by @AngelOnFira and @ozkriff
- [x] Add comment links - by @AngelOnFira
- [x] Add a draft of the 23nd newsletter - by @AngelOnFira
<!--
🚧 WIP by @seratonik
🆓 **free** (@chinedufn?)
✔️ done by @ozkriff
-->