Welcome to the 51st issue of the Rust GameDev Workgroup’s monthly newsletter. Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. These goals are well-aligned with game development. We hope to build an inviting ecosystem for anyone wishing to use Rust in their development process! Want to get involved? Join the Rust GameDev working group!

You can follow the newsletter creation process by watching the coordination issues. Want something mentioned in the next newsletter? Send us a pull request. Feel free to send PRs about your own projects!

Announcements 

Survey Results 

Last month, we asked you to fill out a survey to help us improve the rebooted newsletter. Thanks to 52 of you, we’ve got some data now! We analyzed the results in this blog post. The biggest takeaways are:

  • People are generally excited about the newsletter
  • The current frequency of the newsletter is good
  • Readers do not want anything in the newsletter generated by AI
  • Contributing to the newsletter could be easier. If you’ve got ideas on how to make this happen, please let us know!

You can visit the blog post to see the full results and some nice plots. We will discuss how to act on this feedback next month and keep you updated on the changes we make.

Thanks to everyone who participated!

Email Subscription 

Last month, we announced that we would add an email subscription option to the newsletter. Unfortunately, we did not manage to implement this in time for this issue. He will work on this feature for the next month, and we hope to have it ready for you then.

Game Updates 

Way of Rhea 

Way of Rhea Way of Rhea: a puzzle game. Available on Steam.

Way of Rhea released on May 20th as part of the Cerebral Puzzle Showcase!

Way of Rhea

Way of Rhea is a color-based puzzle game with difficult puzzles, but forgiving mechanics developed by Mason Remaley in a custom Rust engine.

You can support development by purchasing Way of Rhea on Steam, or signing up for the mailing list to hear about future games.

Untitled Pixel Wizard Game 

A target being destroyed by a rudimentary flame thrower spell
A deadly foe meets its end.

Untitled Pixel Wizard Game is a local-multiplayer Noita-like platformer about killing baddies using spells powered by pixel physics.

Over the last few months, the falling sand simulation learned to play (somewhat) nicely with Rapier rigid bodies; see Bridging Physics Worlds and subsequent updates.

This month:

mirr/orb 

mirr/orb
A typical level and its UI

mirr/orb by syn9 is a puzzle game about bouncing lasers off mirrors to activate orbs.

The game was created in 9 days using syn9’s Rust mini game framework mgfw and released on May 27th.

This release contains 110 levels which pull from 870 available puzzle layouts.

CyberGate Playground 

Improved Hammer Destruction
Shooting a Hammer against a Floating Wall and Destroying part of it

CyberGate Playground is a multiplayer browser game where players claim territory by painting the environment in their color, with the goal of overpowering opponents.

The past few months’ updates include:

  • Flying with butterfly-like mechanics
  • Fusion Upgrade: Combine hammers, balls, and dice to multiply their powers
  • Hammer destruction made more challenging and interesting, with upgrades enabling deeper wall penetration
  • Improved strength and weight system, and calculate their impact on character movement and abilities
  • Added an ‘Owned Upgrades’ menu using yakui crate, giving a neat overview of all acquired upgrades
  • Many other UI / gameplay improvements based on player feedback

Rust’s ownership and strongly typed features played a crucial role in allowing the gameplay code to scale to more complex and detailed mechanics while retaining correct, clean, and bug-free code.

CyberGate Playground is a passion project. If you’re interested in the game’s progress, join the Discord server.

Engine Updates 

Macroquad Newsletter 

quad-gl
“Basic” 3d rendering (gltf helmet)

@Fedor, creator of *Quad, a game engine written in Rust, is starting a “This week in Quads” newsletter.

This month overall polish, developer experience, performance optimization, and basic 3d visualization have been worked on.

Fyrox 0.34 

Fyrox editor
The improved Fyrox editor UI

Fyrox got a huge update this month. For those who don’t know, Fyrox is a game engine written in Rust that is especially notable for sporting a Unity-like editor.

This release includes code hot reloading, project exporter, assets preview generation, UI prefabs, GLTF support, static and dynamic batching, keyboard navigation, animation support for UI, editor style and usability improvements, and many more.

Bevy 0.14 WIP 

Bevy repeated textures
One of the upcoming features in Bevy 0.14 is easier texture repetition for GLTF objects

The 0.14 release of Bevy nears completion, but the team is still working on detailed release notes and the migration guide. If you want to help, you can grab one of the open documentation issues.

Learning Material Updates 

Xkcd Machine 

XKCD Machine
A small part of the XKCD Machine

Chromakode released a detailed blog post about their implementation of xkcd “Machine”.

Machine is written in React/Typescript, and uses Rapier: a physics engine written in Rust.

Tooling Updates 

Rusty Playdate 

The Playdate console
The Playdate console

Rusty Playdate (GitHub, Mastodon) by @boozook is the large set of crates with bindings, cargo-plugin, and toolset for the full cycle of creating games for the Playdate handheld console. This is a fairly new console reminiscent of a GameBoy with a crank handle geared towards indie games.

The current release sports the following notable improvements:

  • Partial Lua scripting support
  • Support for devices connected to macOS via USB hub
  • Stabilize packaging on Windows enough to add automatic tests
  • Stabilization for various parts of the API

Discussions: GitHub, Matrix.

Other News 

Bevy rustunit meetup #3 

Bevy meetup YouTube extract
Bevy meetup YouTube extract, showing its 3 participants.

Rustunit has hosted its 3rd unofficial online Bevy Engine meetup on April 19th with the following topics:

  • Intro / Code of Conduct
  • Julian - Animating 3D Characters with Bevy
  • Niklas - Learnings from a Bevy game template

Check out the recording and join the meetup group to get notified of future events.

Bevy rustunit meetup #4 

Bevy meetup YouTube extract
Bevy meetup YouTube extract, showing its 4 participants.

Rustunit has hosted its 4th unofficial online Bevy Engine meetup on May 24th with the following topics:

  • Francois - Catching Rendering Regressions on all Platforms
  • Lorenz - Hooking into the Bevy Rendering Pipeline
  • Jos - Recreating Townscaper using Rust & Bevy

Check out the recording and join the meetup group to get notified of future events.

RustNL 

RustNL happened May 7. & 8. in Delft, Netherlands.

While the conference was not specific to game development, organizers contacted rust game development communities to showcase games developed in Rust between talks, which you can watch on YouTube.

Special mention to the following talks, relevant to game development:

New libraries 

  • egui_ratatui: A ratatui backend that is also an egui widget. Deploy on the web with WASM or ship natively with Bevy, macroquad, or eframe
  • bevy_ratatui_render: A Bevy plugin for rendering your game to the terminal using ratatui
  • bevy_light_2d: General purpose 2D lighting for the Bevy game engine

Library Updates 

Blog Posts 

Videos 


That’s all news for today, thanks for reading!

Want something mentioned in the next newsletter? Send us a pull request.

Also, subscribe to our socials if you want to receive fresh news!

Discuss this post on: /r/rust_gamedev, Lemmy, Mastodon, X / Twitter, Discord.