Skip to content

Files

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Latest commit

f0a2689 · Feb 2, 2021

History

History
298 lines (219 loc) · 10.9 KB

File metadata and controls

298 lines (219 loc) · 10.9 KB

+++ 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:

text logo

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.

Game Updates

teki preview

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).

oicana game play 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.

Some players hanging out next to the bank Vault in Belmart Hanging out by the vault

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.

Learning Material Updates

Engine Updates

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!

Library & Tooling Updates

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.

LDtk Map Running in Bevy ( 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.

Discussions: /r/rust, Twitter

Popular Workgroup Issues in Github

Requests for Contribution


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!