<!--
This is a placeholder issue for November's Rust gamedev newsletter - it wiβ¦ll be updated with the outline and [contribution instructions](https://github.com/rust-gamedev/rust-gamedev.github.io/blob/source/CONTRIBUTING.md) closer to the end of the month. If you want to submit a section earlier than that, please feel free!
The WIP version of this issue lives at **<https://hackmd.io/@gamedev-rs/n26>** and everyone is encouraged to suggest relevant news in the document's comments.
-->
# Newsletter 28: November 2021
###### tags: `newsletter`
**Editors**: @AngelOnFira, @17cupsofcoffee, and @ozkriff
Another month has gone by, so it's time to put together the Rust Gamedev newsletter with November news!
If you want to help writing the newsletter:
- Read [CONTRIBUTING.md](https://github.com/rust-gamedev/rust-gamedev.github.io/blob/source/CONTRIBUTING.md).
- 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 **5th of December**. PRs will usually be accepted as long as they are ready before the newsletter's release, but the earlier the better :)
------
β οΈ The most important formatting/style rules from [CONTRIBUTING.md](https://github.com/rust-gamedev/rust-gamedev.github.io/blob/source/CONTRIBUTING.md):
- 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 exhastive 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] Rust GameDev Meetup - βοΈ done by @AngelOnFira
- [x] Game Updates
- [x] Flesh ([1](https://twitter.com/Im_Oab/status/1460457473395986434)) - @Im-Oab
- [x] One click ninja ([1](https://github.com/fluffysquirrels/one-click-ninja)) - βοΈ done by @fluffysquirrels
- [x] Fish Fight: Prequel ([1](https://twitter.com/fedor_games/status/1447697111001227270), [2](https://github.com/not-fl3/FishFight-The-Prequel/tree/main/fishsteam), [3](https://reddit.com/r/rust_gamedev/comments/qqvzys/fish_fight_the_prequel_got_a_trailer_and_a_steam)) - βοΈ done by @not-fl3
- [x] Bitgun ([1](https://twitter.com/LogLogGames), [2](https://twitter.com/LogLogGames/status/1459303436055453701), [3](https://twitter.com/LogLogGames/status/1464009563976392713), [4](https://twitter.com/LogLogGames/status/1463516823605886988)) - βοΈ done by @darthdeus
- [x] country-slice ([1](https://github.com/anopara/country-slice), [2](https://twitter.com/anastasiaopara/status/1454793167530778628), [3](https://twitter.com/anastasiaopara/status/1464304076074672144)) - βοΈ done @anopara
- [x] Veloren ([1](https://veloren.net/devblog-139/)) - βοΈ done by AngelOnFira
- [x] Bendyworm ([1](https://twitter.com/bauxitedev/status/1456931708469719041), [2](https://twitter.com/bauxitedev/status/1462009716914143233)) - βοΈ done @Bauxitedev
- [x] Halloween Mahjong Solitaire ([1](https://github.com/Syn-Nine/rust-mini-games/tree/main/2d-games/mahjong)) - βοΈ done by @Syn-Nine
- [x] Molecoole ([1](https://twitter.com/kiss_mrton/status/1459567092995403776)) - βοΈ done @Hilku
- [x] Hydrofoil Generation Sailing ([1](https://twitter.com/KunosStefano), [2](https://twitter.com/KunosStefano/status/1459187915024748545), [3](https://twitter.com/KunosStefano/status/1461354652209856518), [4](https://reddit.com/r/rust_gamedev/comments/qxid53/hydrofoil_generation_sailing_indie_gamesimulator), [5](https://twitter.com/KunosStefano/status/1461713579946790924), [6](https://twitter.com/KunosStefano/status/1462780294822514689), [7](https://twitter.com/KunosStefano/status/1464257890735304711)) - βοΈ done @kunos
- [x] Idu ([1](https://twitter.com/epcc10/status/1457521605911871493), [2](https://twitter.com/epcc10/status/1462190818765193230), [3](https://twitter.com/epcc10/status/1463840672335777792)) - βοΈ done (@johann2?)
- [x] Shroom Kingdom - βοΈ done @Tarnadas
- [x] Combine&Conquer ([1](https://buckmartin.de/combine-and-conquer.html), [2](https://reddit.com/r/rust_gamedev/comments/qj03ji/i_just_finished_writing_a_detailed_devlog)) - βοΈ done @ozkriff
- [x] Rust Shooter ([1](https://reddit.com/r/rust_gamedev/comments/r06n8o/rust_shooter_another_update)) - βοΈ done in #other-news
- [x] Way of Rhea ([1](https://twitter.com/AnthropicSt)) - βοΈ done in #other-news
- [x] Necrophaser ([1](https://reddit.com/r/rust_gamedev/comments/ql65sw/alpha_release_of_necrophaser)) - βοΈ done in #other-news
- [x] Soldank ([1](https://twitter.com/smokkku/status/e5bba9b1458971918934159363), [2](https://youtube.com/watch?v=TpnW-nt3q1M)) - βοΈ done in #other-news
- [x] Stellary 2 ([1](https://twitter.com/CoffeJunkStudio/status/1459493244648280071)) - βοΈ done in #other-news
- [x] Endless Trial ([1](https://reddit.com/r/rust_gamedev/comments/qw5e36/endless_trial_simple_2d_bullethell_game), [2](https://github.com/vrmiguel/endless-trial)) - βοΈ done in #other-news
- [x] ~~The Process ([1](https://twitter.com/PlayTheProcess/status/1445098719326658562)) - π **free** (@setzer22?)~~
- [x] ~~A/B Street ([1](https://a-b-street.github.io/docs/project/history/retrospective/index.html), [2](https://twitter.com/CarlinoDustin/status/1460064119193620483) - π **free** (@dabreegster?)~~
- [x] Learning Material Updates
- [x] Ray Tracer From Scratch ([1](https://github.com/jakobwesthoff/the_ray_tracer_challenge_in_rust), [2](https://youtube.com/watch?v=1l54RUGigtk), [3](https://youtube.com/watch?v=4y1aRPiH9Ko)) - βοΈ done by @jakobwesthoff
- [x] Rustacean Station 48 ([1](https://rustacean-station.org/episode/048-herbert-wolverson/)) - βοΈ done by @AngelOnFira
- [x] Ralph's Posts ([1](https://raphlinus.github.io/ui/graphics/gpu/2021/10/22/swapchain-frame-pacing.html), [2](https://raphlinus.github.io/gpu/2021/11/17/prefix-sum-portable.html)) - βοΈ done @AngelOnFira
- [x] Hands-on Rust Bonus Content ([1](https://twitter.com/herberticus/status/1457110272515186693)) - βοΈ done @ozkriff
- [x] Rust Roguelike Tutorial ([1](http://bfnightly.bracketproductions.com/rustbook/chapter_75.html), [2](https://twitter.com/herberticus/status/1463603985730969600))- βοΈ done @ozkriff
- [x] GBA From Scratch ([1](https://lokathor.github.io/gba-from-scratch/introduction.html), [2](https://twitter.com/Lokathor/status/1455309599054221316)) - βοΈ done in #other-news
- [x] Ping Pong Tutorial ([1](https://phychic-owl.medium.com/rust-project-ping-pong-game-665766cc45ed)) - βοΈ done in #other-news)
- [x] Engine Updates
- [x] Tetra 0.6.7 ([1](https://twitter.com/17cupsofcoffee/status/1456688895786106884)) - βοΈ done by @17cupsofcoffee
- [x] godot-rust ([1](https://twitter.com/GodotRust/status/1458394899339005953)) - βοΈ done by @Bromeon
- [x] Oxygengine ([1](https://discord.com/channels/676678179678715904/676701885830266891/911695955873632346)) - βοΈ done @PsichiX
- [x] rg3d ([1](https://twitter.com/DmitryNStepanov/status/1456338636790697986), [2](https://reddit.com/r/rust/comments/qmrx9c/rg3d_game_engine_now_has_a_cheatguide_book), [3](https://discord.com/channels/756573453561102427/756573453561102430/911916187879874570)) - βοΈ done in #other-news
- [x] mini/macroquad ([1](https://twitter.com/fedor_games/status/1462804219719831552)) - βοΈ done in #other-news
- [x] ~~ggez 0.7 ([1](https://reddit.com/r/rust_gamedev/comments/qo5sr8/ggez_07)) - π **free** (@PSteinhaus?)~~
- [x] ~~Bevy ([1](https://twitter.com/cart_cart/status/1455372254569717764), [2](https://twitter.com/cart_cart/status/1459363483942719496), [3](https://twitter.com/cart_cart/status/1460743857327378436)) - π **free** (@cart?)~~
- [x] Tooling Updates
- [x] SPV v0.1..v0.3 ([1](https://github.com/AlbinSjoegren/SPV), [2](https://discord.com/channels/676678179678715904/676701885830266891/904453701777899670), [3](https://discord.com/channels/676678179678715904/676701885830266891/913892973706641459)) - βοΈ done @AlbinSjoegren
- [x] PickPicPack ([1](https://twitter.com/p4ymak/status/1459891856389677063), [2](https://github.com/p4ymak/pickpicpack), [3](http://www.p43d.com/pickpicpack)) - βοΈ done @p4ymak
- [x] Graphite - βοΈ done (@Keavon?)
- [x] Solid Editor ([1](https://reddit.com/r/rust_gamedev/comments/qrsu1n/solid_editor_a_voxel_editor)) - βοΈ done @ozkriff
- [x] Library Updates
- [x] pixels v0.8 ([1](https://users.rust-lang.org/t/announcing-pixels-0-8-0/67503)) - βοΈ done by @parasyte
- [x] quinn 0.8 ([1](https://github.com/quinn-rs/quinn/releases/tag/0.8.0), [2](https://discord.com/channels/676678179678715904/676695619024322561/909562370056142858)) - βοΈ done by @Ralith
- [x] hecs v0.7 ([1](https://github.com/Ralith/hecs/blob/master/CHANGELOG.md#070), [2](https://discord.com/channels/676678179678715904/676695619024322561/914250017324290060)) - βοΈ done by @Ralith
- [x] navmesh v0.10..v0.12 ([1](https://github.com/PsichiX/navmesh), [2](https://discord.com/channels/676678179678715904/676695619024322561/914328319925846066)) - βοΈ done @PsichiX
- [x] Rust-CUDA ([1](https://reddit.com/r/rust/comments/qzv428/announcing_the_rust_cuda)) - βοΈ done @AngelOnFira
- [x] natura ([1](http://github.com/ziyasal/natura), [2](https://reddit.com/r/rust_gamedev/comments/qlbdmn/preview_a_simple_natura)) - βοΈ done in #other-news
- [x] ~~Kajiya ([1](https://twitter.com/h3r2tic/status/1455347615722319878), [2](https://twitter.com/h3r2tic/status/1462198747362906112), [3](https://twitter.com/h3r2tic/status/1462971788456079368)) - π **free** (@h3r2tic?)~~
- [x] ~~Sparsey v0.5 ([1](https://reddit.com/r/rust/comments/qqcvf6/sparsey_05)) - π **free** (@LechintanTudor?)~~
- [x] ~~Meeting Minutes - π§ WIP by @AngelOnFira~~
- [x] Discussions ([1](https://reddit.com/r/rust_gamedev/comments/qkb77k/using_an_ecs_as_a_generalpurpose_storage_container), [2](https://reddit.com/r/rust_gamedev/comments/qmdw2a/where_to_start), [3](https://reddit.com/r/rust_gamedev/comments/qzhx8u/status_of_wasm32_support), [4](https://reddit.com/r/rust_gamedev/comments/qze1v0/can_rust_do_what_any_c_game_server_can), [5](https://reddit.com/r/rust_gamedev/comments/r0yia7/developing_a_crossplatform_game_for_browser_ios)) - βοΈ done by @ozkriff
Final steps:
- [ ] Final review - by everyone
- [ ] Publish - by @AngelOnFira
- [ ] Post on /r/rust, /r/rust\_gamedev, /r/gamedev, URLO, twitter.com/rust\_gamedev - by @AngelOnFira
- [ ] Add comment links - by @AngelOnFira
- [ ] Add a draft of the 29th newsletter - by @AngelOnFira
<!--
π§ WIP by @seratonik
π **free** (@chinedufn?)
βοΈ done by @ozkriff
-->