Newsletter 41: Dec 2022

tags: newsletter

Editors: @ozkriff, @AngelOnFira, and @17cupsofcoffee

Another month has gone by, so it's time to put together the Rust Gamedev newsletter with December's news!

Current Schedule

The soft deadline for all section PRs is 6 Jan 2023.

We may still accept PRs that are submitted later than this, as long as they're ready before the newsletter's release, but this isn't guaranteed. If you want your section to be included, don't leave it till the last minute!

How to Contribute

If you want to help writing the newsletter:

  • Read CONTRIBUTING.md.
  • Choose one or more of the "πŸ†“ free" sections listed below, and leave a comment letting us know you want to work on them.
    • The links in brackets (like "1, 2, 3") are suggestions of links to include in the section. Feel free to add more!
    • The username listed next to the section (like "@ozkriff?") is a suggestion of who may want to pick up the work (usually the project's developer, or someone who has expressed interest in the past).
    • You are not obligated to write a section if you're tagged or your project is listed! You're welcome to ask someone else to write the section, or to ask for your project to be excluded from this month's post.
    • Extra sections not listed in the plan are welcomed - just leave a comment and open a PR!
  • Write a short overview in the newsletter's Markdown file, making sure to follow the style guidelines (see below).
  • Send a PR to the source branch (example: #336).
  • Mention this issue in your PR's description to link it all together.

Style Guidelines

The full style guide is in CONTRIBUTING.md, but here are the most important rules:

  • Write in third-person perspective.
  • Each line must be 80 characters or less, for ease of reviewing/diffing.
  • Only one image per section is allowed.
    • The maximum size is 300kb for static images and 2.5mb for GIFs.
    • The image should come before the text, and must have alt text for accessibility.
    • Prefer static images to GIFs, to keep the page load times down.
  • Each section should be under 1000 characters, and under 6 paragraphs.
    • This only applies to the rendered text, not the markup.
  • Keep formatting minimal - no bold/italics/etc.
  • Avoid long/nested bullet point lists - no changelogs!

Please use these templates as a starting point:

Games/apps/libraries:

### [Game name]

![alt text](img)
_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:

### [Article name]

![alt text](img)
_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 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!

Rust Gamedev Meetup

  • Details of this month's meetup - βœ”οΈ done by @AngelOnFira
  • 3rd Rust Graphics Meetup on Jan 28 (1) - βœ”οΈ done by @AngelOnFira
  • rust_gamedev feed on Mastodon - βœ”οΈ done by @ozkriff

Game Updates

  • Tiny Glade (1, 2) - βœ”οΈ done by @anopara
  • Veloren (1) - βœ”οΈ done by @AngelOnFira
  • Red Life (1, 2) - πŸ†“ free (@Nereuxofficial?)
  • flashdark (1, 2) - πŸ†“ free (@kuviman?)
  • DoomΓ© (1, 2) - πŸ†“ free (@Dzejkop @Patryk27?)
  • triverse (1, 2) - πŸ†“ free (@bcarruthers?)
  • Tantan’s Voxel Project (1) - πŸ†“ free (@TanTanDev?)
  • Fish Folk: Punchy (1) - πŸ†“ free (@erlend-sh?)
  • Fish Folk: Jumpy (1, 2) - βœ”οΈ done by @zicklag
  • Combine And Conquer (1, 2) - πŸ†“ free (@I3ck?)
  • Flesh (1, 2) - βœ”οΈ done by @Im-Oab
  • Paddlepunks (1) - πŸ†“ free (@halvnykterist?)
  • Cargo Space (1, 2, 3, 4) - βœ”οΈ done by @johanhelsing
  • Your Only Move Is Hustle (1, 2, 3, 4) - πŸ†“ free (@uzkbwza?)
  • Infinite Bunner (1) - πŸ†“ free (@ollej?)
  • Hydrofoil Generation (1) - βœ”οΈ done by @kunos
  • Pirate Annihilation (1) - βœ”οΈ done by @theredfish
  • Pushin Boxes (1) - πŸ†“ free (@septum?)
  • RetrosicII (1, 2) - πŸ†“ free (@enigmanark?)
  • Temple Knight (1) - βœ”οΈ done by @nilaysavant
  • Thetawave (1, 2) - βœ”οΈ done by @cdsupina
  • Life Code (1) - πŸ†“ free (@pinkponk?)
  • Digital Extinction (1) - βœ”οΈ done by @Indy2222
  • A/B Street (1) - πŸ†“ free (@dabreegster?)
  • Open Combat - βœ”οΈ done by @buxx
  • 8bit Duels - βœ”οΈ done by @ThousandthStar

Learning Material Updates

  • GLTF Animations in wgpu&Rust (1, 2) - πŸ†“ free (@whoisryosuke?)
  • Rustacean Station: Presser (1) - πŸ†“ free (@fu5ha @allenwyma?)
  • Create A Clicker Game With Macroquad (1, 2) - πŸ†“ free (@Paper010?)
  • Raph: High Performance Rust UI (1, 2) - πŸ†“ free
  • Text-based resources in Bevy (1, 2) - πŸ†“ free (@maciekglowka?)
  • Compute Shaders in Bevy (1) - πŸ†“ free (@mwbryant?)
  • Pathfinding in Rust (1) - πŸ†“ free (@gregstoll?)
  • Bevy Basics video series (1) - πŸ†“ free (@PhaestusFox?)

Engine Updates

  • fyrox (1) - βœ”οΈ done by @MrDimas
  • alkahest-rs (1, 2, 3) - πŸ†“ free
  • SquareWheel (1, 2) - πŸ†“ free (@Panzerschrek?)
  • runty8 (1) - βœ”οΈ done by @jjant

Tooling Updates

  • Graphite - βœ”οΈ done by @Keavon
  • UCrowds real-time crowd sim (1, 2) - πŸ†“ free

Library Updates

  • Mun v0.4 (1, 2) - βœ”οΈ done by @wodann
  • bevy_rapier_collider_gen (1) - βœ”οΈ done by @shnewto
  • egui & eframe v0.20 (1) - πŸ†“ free (@emilk?)
  • quad-svg (1) - πŸ†“ free (@macnelly?)
  • faer v0.4 (1, 2) - πŸ†“ free (@sarah-ek?)
  • durian (1, 2) - πŸ†“ free (@spoorn?)
  • egui_dnd (1, 2) - βœ”οΈ done by @lucasmerlin
  • mythoji (1) - πŸ†“ free (@matanlurey?)
  • rust-gpu (1, 2) - βœ”οΈ done by @oisyn
  • bevy_rpg (1) - βœ”οΈ done by @fianathedevgirl
  • google/forma (1, 2) - πŸ†“ free
  • bevy_adventure (1) - πŸ†“ free (@hankjordan?)
  • devices (1) - πŸ†“ free (@hankjordan?)
  • Inox2d - βœ”οΈ done by @fianathedevgirl
  • lpcg - βœ”οΈ done by @buxx
  • assets_manager - βœ”οΈ done by @a1phyr

Other News

  • Bullet points of sections that are still unclaimed - βœ”οΈ done by @ozkriff

Discussions

  • Can a 2D game be made with rust without a game engine? (1)
  • DataFrames instead of ECS? (1)

Jobs

Publishing Steps

  • Final review - βœ”οΈ done by everyone
  • Publish - βœ”οΈ done by @ozkriff
  • Post on /r/rust, /r/rust_gamedev, /r/gamedev, URLO, Twitter, Mastodon - βœ”οΈ done by @ozkriff
  • Pin thread on Twitter - βœ”οΈ done by @ozkriff
  • Add comment links - βœ”οΈ done by @ozkriff
  • Add a draft of next month's newsletter - βœ”οΈ done by @ozkriff