+++ title = "This Month in Rust GameDev #29 - December 2021" transparent = true draft = true +++
Welcome to the 29th 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!
- Game Updates
- Learning Material Updates
- Engine Updates
- Tooling Updates
- Library Updates
- Other News
- Popular Workgroup Issues in Github
- Meeting Minutes
- Discussions
- Requests for Contribution
- Jobs
- Bonus
Tet-Rust (GitHub) by @Syn-Nine is a mini game based on the famous falling puzzle block game.
The game was created to exercise Syn9's Rust Mini Game Framework and is part of an open source repository of several mini-games that use this framework.
Screenshot of The Beast of Monte Carlo
The Beast of Monte Carlo by @Syn-Nine is a mini role-playing game in development to help work out new features for Syn9's Rust Mini Game Framework.
This month's progress included:
- prototyping tilemap and frame-based animation to make a simple walkaround engine
- creating a general purpose maze generation algorithm and porting random world map generation from C++ to Rust
- creating new sprite artwork and animation, as well as mocking up the battle system
The gameplay and art is influenced by games such as Final Fantasy VI and Lufia II with a heavy focus on procedural content generation.
10x Sprint Master (GitHub) by @E_net4 is a simulation game where you play the role of a software development lead engineer. Write tasks, coordinate a team of developers, fix bugs and manage feature delivery, while trying to mitigate the torments of technical debt.
The game was submitted to GitHub Game Off 2021, and was written using Yew with graphics done in pure HTML and CSS.
The author also published a blog post on Dev.to about the game's technical and social dimensions.
The "Road Race" game prototype running under Rusty Engine 3.0
Rusty Engine by Nathan Stocks is a game engine for people who are learning Rust.
Version 3.0 is a large release with many breaking changes. Notable new features include: a full tutorial, custom asset loading (sprites, sounds, fonts), customizable game state, an interactive collider creator, and much more. See the changelog for 3.0 for the full details.
assets_manager provides a high-level API to load and cache external resources with a focus on performance and hot-reloading.
In addition to built-in support for new formats like WebP, glTF and fonts, version 0.7 brings a few quality of life improvements. Additionnally, hot-reloading is now supported for custom asset sources.
These features led to a new crate: ggez-assets_manager, whose goal is to ease use of assets_manager with ggez engine!
wgpu-0.12 release
experimental pathtracer on wgpu from @llamajestic
The team concluded 2021 with the release of wgpu-0.12 and naga-0.8. Details can be found on the gfx-rs blog and wgpu reddit discussion. Lots of fixes are shipped alongside one much-awaited improvement: the error messages from validating shaders were finally made readable:
┌─ interpolate.wgsl:21:25
│
21 │ out.linear_centroid = vec2<f32>(64.0, 125.0, 1.0);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ naga::Expression [16]
Entry point vert_main at Vertex is invalid:
Expression [16] is invalid
Composing expects 2 components but 3 were given
Pixels 0.9.0 👾
Pixels is a tiny hardware-accelerated pixel frame buffer. It is popularly used for emulators, software renderers, 2D pixel art games, and desktop utilities.
Version 0.9.0 brings a few breaking changes. Notably wgpu
was updated to
0.12 and it now requires Edition 2021. Full details are available in the
release notes.
See all meeting issues including full text notes or join the next meeting.
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!