+++ title = "This Month in Rust GameDev #49 - August 2023" transparent = true date = 2023-09-16 draft = true +++
Welcome to the 49th 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
- Game Updates
- Engine Updates
- Learning Material Updates
- Tooling Updates
- Library Updates
- Other News
- Popular Workgroup Issues in Github
- Discussions
- Requests for Contribution
- Jobs
Tunnet (Steam, itch.io) is an upcoming short puzzle/exploration game about digging tunnels and building computer networks.
In August, a new version of the demo build has been released. Here are the most notable updates:
- The game is now better optimized to run smoothly on the Steam Deck.
- Some of the textures have been revamped and are now slightly more detailed.
- The animations of the character portraits have been improved.
- Several minor quality of life improvements like the ability to sprint have been made.
- A basic egui-based crash reporter will now be displayed when the game process ends unexpectedly.
Oort (GitHub, Discord) by @rlane is a programming game where you write Rust code to control space ships in combat against other players. Your code needs to manage the thrusters, guns, missiles, comms, and radar of each ship in your fleet. There's a series of tutorials where you can solve key problems one by one, such as leading moving targets or missile guidance. The game runs in your browser via WebAssembly.
Oort has started running weekly tournaments and the AIs have gotten more and more sophisticated each time. Check out this recent tournament writeup where the top players discuss their strategies.
Discussions: r/rust
goku (Discord) by @ladroid is a new 2D Rust game engine backed by SDL2. It's currently compatible with Windows and WASM and features multi-language (Spa, Fra, Ger, Jpn) docs.
Quick Peek:
- Sprite sheets loading and animation support.
- Basic particle effects.
- Point, spot, and ambient lights.
- UI layer with ready widgets like buttons, checkboxes, and sliders.
- Audio support backed by SDL2 Mixer.
- Gamepad input support.
- Tile system and JSON format for describing scenes.
- Built-in support for parallax backgrounds.
- Simple timing and frame management utils.
- Behavior tree AIs.
Discussions: /r/rust
@chrisbiscardi published a video covering P2P multiplayer games with rollback networking and physics. This video dives into what makes it difficult and what parts work out of the box before identifying better potential paths to take in the future.
Discussions: Mastodon
Dexterous Developer by @lee-orr is an experimental hot-reload system for the Bevy game engine. Features:
- Define the reloadable areas of your game explicitly - which can include systems, components, and resources (with some limitations).
- Reset resources to a default or pre-determined value upon reload.
- Serialize/deserialize your reloadable resources & components, allowing you to evolve their schemas so long as they are compatible with the de-serializer.
- Mark entities to get removed on hot reload.
- Run systems after hot-reload.
- Create functions to set-up & tear down upon either entering/exiting a state or on hot reload.
- Only includes any hot reload capacity in your build when you explicitly enable it - such as by using the CLI launcher.
- Cross-platform/cross-device hot reload - run a "hot reload server" on a dev environment, and execute the application elsewhere.
The library is quite new and currently known issues include: mobile/WASM support and the need to pre-define events&states.
That's all news for today, thanks for reading!
Want something mentioned in the next newsletter? Send us a pull request.
Also, subscribe to @rust_gamedev on Twitter or /r/rust_gamedev subreddit if you want to receive fresh news!