+++ title = "This Month in Rust GameDev #18 - January 2021" date = 2021-02-08 transparent = true draft = true +++
Welcome to the 18th 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!
Table of contents:
- Rust GameDev Podcast
- Game Updates
- Learning Material Updates
- Engine Updates
- Library & Tooling Updates
- Popular Workgroup Issues in Github
- Requests for Contribution
The 5th podcast episode is an interview with Alex Ene creator of an upcoming dwarven simulation game, Dwarf World.
In this weeks episode, Richard and Forest chat to Alex Ene, creator of the dwarven simulation game, Dwarf World. We cover writing custom engines, unit testing, build systems and picking the right frameworks for your game.
Listen and subscribe from the following platforms: Rust GameDev Podcast (simplecast), Apple Podcasts, Spotify, RSS Feed, Google Podcasts.
Teki is a free and open-source fangame of the Tōhō series using SDL2 and Legion for ECS. Thanks to WebAssembly - via wasm-pack -, teki can be played online.
It is aimed to be a shoot ’em up game with "lots of bullets" a.k.a danmaku 弾幕 - literally "barrage" or "bullet curtain" in japanese.
The project is still at a “very” early stage of development (Dec. 2020).
Solving puzzles to build towers
Oicana is a tower defense game with puzzle aspects submitted to Mini jam 71 on itch by M1nd0fRafa3l and @nikl_me. The game was written using the rust game engine Bevy.
Colorless puzzle pieces try to reach your base. Your towers have to shoot at the pieces to uncover their color. After defeating a piece, it will try to run away and you should catch it to upgrade your towers or build new ones.
Following the game jam the tower upgrades where improved and game audio was changed to use Kira via an experimental bevy plugin.
Antorum is a micro-multiplayer online role-playing game by @dooskington. The game server is written in Rust, and the official client is being developed in Unity.
Banking was implemented this month! Players can now store their items and wealth in a safe place. Additionally, the concept of "item combinations" was implemented, bringing more interesting crafting scenarios into the game.
Tetra is a simple 2D game framework, inspired by XNA and Raylib. This month, versions 0.5.7 and 0.5.8 were released, with various changes:
- Basic multisampled anti-aliasing support (with further improvements to come).
- Functions for generating primitive shape meshes.
- A more flexible
Rectangle
type. - Lots of bug fixes and docs improvements.
For full details, see the changelog.
Additionally, work on version 0.6 has begun, with a release planned for some time in February!
LDtk-rs
is a Rust crate for reading the LDtk map file format. The bindings
to the LDtk format are 100% automatically generated from the LDtk JSON Schema,
with the option to download the latest JSON Schema at build time for automatic
updates.
( Tileset from "Cavernas" by Adam Saltsman )
bevy_ldtk
is a Bevy plugin for loading LDtk tilemaps.
It features:
- An efficient renderer that only uses 4 vertices per map layer
- Hot reloading through the Bevy asset server integration
- Heavily commented code to help others who want to see how to make their own tilemap renderers
rkyv is a zero-copy deserialization framework for Rust. It's similar to FlatBuffers and Cap'n Proto and can be used for data storage and messaging.
Version 0.3 was released this month and brought some highly-requested features:
- A new hashmap implementation using perfect hashing to decrease memory usage and fix portability issues.
- The
Unarchive
trait to enable more traditional data deserialization for archived types. - Improved validation performance.
- Better error messages and API ergonomics.
- A book with more narrative documentation on architecture and internals.
- More tests and realistic benchmarks against other popular serialization frameworks.
The next update will be v0.4 and is on the way soon with a release date around mid-February.
kira by @tesselode is a game audio library tailored to composers and other people who need expressive audio.
v0.4.0 was released with a new wasm32 support, a new handle-based API, improved error handling, and serde support for sequences, arrangements, and most config structs.
- Embark's open issues (embark.rs).
- gfx-rs's "contributor-friendly" issues.
- wgpu's "help wanted" issues.
- luminance's "low hanging fruit" issues.
- ggez's "good first issue" issues.
- Veloren's "beginner" issues.
- Amethyst's "good first issue" issues.
- A/B Street's "good first issue" issues.
- Mun's "good first issue" issues.
- SIMple Mechanic's good first issues.
- Bevy's "good first issue" issues.
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!