+++ title = "This Month in Rust GameDev #28 - November 2021" transparent = true draft = true +++
Welcome to the 28th 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
- Popular Workgroup Issues in Github
- Meeting Minutes
- Discussions
- Requests for Contribution
- Jobs
- Bonus
The eleventh Rust Gamedev Meetup happened in November. You can watch the recording of the meetup here on Youtube. The meetups take place on the second Saturday every month via the Rust Gamedev Discord server and are also streamed on Twitch. If you would like to show off what you've been working on at the next meetup on December 11th, fill out this form.
Flesh by @im_oab is a 2D-horizontal shmup game with hand-drawn animation and organic/fleshy theme. It is implemented using Tetra. This month's updates include:
- Support different types of ships that players can choose.
- Add a melee weapon.
One-Click Ninja is a rhythm game made in 10 days for 1-Button Jam 2021, written in Rust using the Bevy engine.
The source is available MIT licensed on GitHub, and you can play in your browser on itch.io.
Fish Fight is a fast-paced 2D brawler game, played by 1-4 players online or on a shared screen, built with macroquad game engine.
This month it got a trailer, and the game is now available to wishlist on Steam!
BITGUN (Steam, Twitter, Discord) by @LogLogGames is an action roguelike zombie shooter with lots of blood. The game is built using Godot and Rust (via godot-rust).
They recently implemented a mission system, where you can select one of three types of missions to go to from the central camp. One is to defend supplies from horde of zombies, second is to search a facility for some object or clear all the zombies and the last one is to fight your way through a tunnel full of spiders and other enemies! They also worked on a tutorial.
Country Slice is @anastasiaopara's hobby project, where users can draw a small scene, and their input is amplified with real-time procedural geometry generation.
Country Slice uses Bevy Engine for entity management, and has recently been ported to OpenGL (using gl-rs and glutin). It is being developed openly on GitHub.
You can follow the development of Country Slice on Twitter.
A merchant paused in their travels
Veloren is an open world, open-source voxel RPG inspired by Dwarf Fortress and Cube World.
In November, Veloren started a new initiative to help new developers learn more about the codebase; the Veloren Reading Club. You can watch the first and second sessions now. Hats were merged, and a major rewrite of the server-hosting section of the book happened. New textures were made for item drops. Some concept art was created for what massive cities could look like. Dynamic weather was added, and you can watch that in action.
Experience sharing went through a large overhaul to evenly distribute EXP gained across groups. The difficulty of dungeons was adjusted to be more balanced for new players. Persistence was added to skills, and measures were put in place to help with future migrations to new skill trees. Work was done on site2, the system that is used to generate structures in a procedural way. This will help make the variance more dynamic by adding more parameters that can be adjusted. In December, Veloren will release 0.12, hopefully with some holiday spirit!
November's full weekly devlogs: "This Week In Veloren...": #144, #145, #146, #147, #148.
Watch out! The entire world bends around you!
BENDYWORM (GitHub, Twitter, by @bauxitedev) is a platformer with a twist: the entire world bends and twists around you as your progress through the level. Why? Because you're inside of a gigantic worm, and worms are bendy.
The game was made for GitHub Game Off 2021, and uses godot-rust
behind the
scenes.
The game is available for free on itch.io, and the source code is available on GitHub. (Windows only for now, Linux build available soon)
Discussions: /r/rust/, Twitter
Tetra 0.6.7
Tetra is a simple 2D game framework, inspired by XNA, Love2D, and Raylib. This month, version 0.6.7 was released, featuring:
- Updates to the gamepad backend, adding rumble support for a much wider variety of controllers (including DualShock 4s)
- Various bugfixes and docs improvements
For more details, see the changelog.
Additionally, development has begun on version 0.7 - check out the planned features and changes, and feel free to suggest more!
The Raytracer Challenge is a project with the goal to write a raytracer from scratch in Rust, while showing each step of the way as a weekly live coding session. Everything is documented, starting with implementing Vectors and Matrices all the way to creating Phong Lighting.
November has been a busy month for the project with lots of visual changes in the raytraced results:
-
Basic animation support came along allowing the easy creation of video sequences.
-
More realistic and life-like scenes due to Shadow Casting.
-
As a new basic body type Planes came to life.
Pixels 0.8.0 👾
Pixels is a tiny hardware-accelerated pixel framebuffer. Its goals include pixel-perfect rendering and custom shader pipelines for textures with direct pixel access. It's perfect for making 2D animations, games, and emulators.
Version 0.8.0 was released this month, bringing highly anticipated support for WASM targets, as well as support for Raspberry Pi 4. A minimal example for web browsers is included to get you started. Full details are available in the release notes.
Quinn is an async-enabled implementation of the state-of-the-art IETF QUIC transport protocol, a robust foundation for real-time networking.
Quinn 0.8 introduces support for the final QUIC 1 specification defined in RFC 9000. Other highlights include an improved CUBIC congestion controller, a more ergonomic configuration API, and numerous performance and robustness improvements.
hecs is a fast, lightweight, and unopinionated archetypal ECS library.
Version 0.7 introduces several new features, including two new
query combinators, a CommandBuffer
for recording operations to be applied to a
World
at a future time, accessors for efficient random access within columns,
and a variant of EntityBuilder
that clones its components and can therefore be
spawned from repeatedly. Other improvements include compatibility with 32-bit
MIPS and PPC, and introduction of a niche to Entity
so that
e.g. Option<Entity>
will not consume additional space.
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!