+++ title = "This Month in Rust GameDev #27 - October 2021" transparent = true date = 2021-11-04 draft = true +++
Welcome to the 27th 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
LibraCity - city planning on a needle!
LibraCity is a puzzle city planning game by @djeedai where you need to build a city while balancing it on a needle (the center of the board). It was built for Ludum Dare 49 using the Bevy Engine, and is a first-time use of the engine.
Post-jam, a webassembly version was added and published, which now allows playing the game online.
The code source is freely available on GitHub.
Lonely Star is a 2D 'endless runner' game by @17cupsofcoffee, featuring simple generative music. It was built with Tetra back in February 2020, for Weekly Game Jam 135.
This month, it was made open-source, and received a small update to improve the UI and fix a few bugs.
Soldank (GitHub, Discord) by @smokku is an open source clone of Soldat engine. It aims for full compatibility with original game files, mods and gameplay with modernized graphics engine and multiplayer networking code.
Recent developments include:
- Engine/game code split
- Command Line Interface
- Rhai scripting
hecs_rapier
integration- Key/mouse-binding support
- Soldat's
.cfg
files support - Custom debug shapes rendering
- Performance degradation fix
- Refactored code to build on
hecs
ECS - ECS entities debug UI
The developer have also written a blog post: 'Engine and scripting'
Graph Game (GitHub) uses Bevy as its engine. You can play it from your browser - click on colored triangles, guess the rules and survive as long as possible!
Development has just begun, and the future of the project is not clear - the developer welcomes you to come and discuss next steps on the game's Discord server.
All is Cubes 0.3.0
All is Cubes (GitHub, Crates.io) by kpreid is a game/engine for worlds made of blocks made of voxels. It is intended to be usable both as an engine or rendering library, or as a game with built-in editor/programming functionality (genre(s) to be determined). While the project is still highly incomplete and API-unstable, the 0.3.0 release marks a lot of now-usable functionality (changelog):
- UI: mouselook, multiple example scenes, inventory with stacks, and rendering to image files.
- Simulation/mechanics: character collision against arbitrary voxel shapes, much-improved light propagation, transactional state updates (all-or-nothing, internally order-independent), and “behaviors” attached to game objects for scripting/animation.
- Rendering: high-voxel-count blocks (incomplete, but usable for text as seen in the above screenshot), “smooth lighting” (interpolated across faces), frustum culling, and correct sRGB-versus-linear color handling.
The next planned milestone is saving/loading.
Tetra 0.6.6
Tetra is a simple 2D game framework, inspired by XNA, Love2D, and Raylib. After a few quiet months, version 0.6.6 has been released, featuring:
- A big overhaul of the keyboard API, with better support for international layouts
- Lots of new functions for manipulating the game window
- A long-requested ECS example
- Bugfixes and docs improvements
For more details, see the changelog.
wgpu-0.11 release
experimental Bevy branch running on WebGL2 via wgpu
The team is happy to announce the release of wgpu-0.11 and naga-0.7. Details can be found on the gfx-rs blog. The most exciting feature is WebGL2 support. With some caveats, users no longer need to wait for WebGPU in the browsers in order to deploy on the Web. Support is still a bit rough, and patches come out regularly, but most examples work.
@kvark also visited Rust LA Meetup to talk about Naga and the history of processing shaders with Rust.
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!