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

77d0126 · Jul 23, 2023

History

History
307 lines (225 loc) · 10.5 KB

File metadata and controls

307 lines (225 loc) · 10.5 KB

+++ title = "This Month in Rust GameDev #47 - June 2023" transparent = true date = 2023-07-07 draft = true +++

Welcome to the 47th 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!

Announcements

Game Updates

flesh preview Intro

Flesh by @im_oab is a 2D-horizontal shmup game with hand-drawn animation, an organic/fleshy theme and a unique story. It is implemented using Tetra. The game's development has finished and will be released soon. The last update before release includes:

  • Intro/Ending/End credits animation.
  • Add a variant version of Conway's Game of Life as background.
  • Improve effect in the gameplay with distortion shaders.
  • Update the demo build with improved graphics and performance.

In-game screenshot of a real-time render of a modular gridmap-based spaceship interior Render achieved with dynamic point lights.

Space Frontiers (GitHub, Discord, Twitter, Reddit, Steam Group) by Starwolves is an online moddable sci-fi action RPG community game simulating space (and spaceships) in 3D.

By the end of last year the client was made with Godot. Shortly after that the decision was made to replace the Godot project with a Bevy Engine client.

Rust and Bevy are now used for both server and client. There are a lot of advantages such as sharing libraries and neat code replication, reducing code overhead. In-fact both the server and client are now developed in the same virtual workspace.

The client includes a new camera perspective from top-down isometric to 1st person. A new 3D dynamic gridmap framework has been successfully implemented in ECS. The prototype includes an in-game map editing tool with the ability to export to file. Inspired by the videogame "System Shock". There is a recently uploaded showcase video.

The project is commercial, open-source and has a proprietary license. There is a milestone for a license change to free open-source.

Starwolves.io Bulletin Board was launched half a year ago. There are 25~ registrants left that can receive a permanent unique forum group/title.

Discussions: StarWolves.io Bulletin Board

Digital Extinction

Building Placement in Digital Extinction Building Placement in Digital Extinction

Digital Extinction (GitHub, Discord, Reddit) by @Indy2222 is a 3D real-time strategy game made with Bevy.

The most notable updates are:

  • nightly versions are automatically built and published on de-game.org and elsewhere,
  • significant progress has been made on multiplayer and networking,
  • animated arrows on terrain are displayed for selected factories, indicating the path from the units' spawn points to their delivery locations,
  • semi-transparent square markers are drawn on the terrain around selected buildings,
  • health bars are briefly displayed above units and buildings when they take damage or their health changes,
  • the implementation and design of the “Energy” have started to take shape,
  • the head-up display (HUD) shows the total battery charge and the number of selected units and buildings,
  • the main theme song plays in a loop, volume of the music can be configured,
  • the aspect ratio of the minimap matches that of the game map,
  • the option to invert camera zooming has been added to the configuration,
  • the documentation has been converted to mdBook.

See gameplay screen recordings on YouTube.

More detailed July update is available here.

Engine Updates

[macroquad]

macroquad Macroquad examples rendered by Metal API

Macroquad got ported to miniquad-0.4, supporting Metal on Mac and IOS.

On the surface all the macroquad API stayed exactly the same, but with use macroquad::miniquad::* being such a breaking change - major version number was bumped. Major version bump made possible to fix a few long-lasting issues, check the full changelog for all the changes.

godot-rust GDExtension logo

In the last few weeks of gdext development, the GDExtension API breaks in Godot's recently released 4.1 version. Migration is mostly done, several FFI bugs have been addressed on the way.

The godot-rust book now has a "Hello World" tutorial + guides on compatibility and selecting Godot version.

Noteworthy features:

  • Vector swizzling
  • Signals with parameters
  • Rust-native APIs for Rect2, Aabb, and Plane
  • ToVariant/FromVariant derives
  • Godot native structures

Learning Material Updates

Bevy Rendering Demystified

Bevy Rendering Demystified Thumbnail

@logicprojects published a video covering the details of Bevy's rendering systems. Specifically, he covered the engine's internal implementation of UI Rendering to show how data flows from the ECS world down to the final wgpu draw calls.

Tooling Updates

Rerun (Discord, Github) is an open-source SDK for logging complex visual data paired with a visualizer for exploring that data over time. While its primary focus is on robotics and computer vision, it can be useful for all kinds of rapid prototyping & algorithm development.

v0.7.0 is out now, but it turned out a little bit smaller:

A few of the biggest highlights:

  • Much more powerful transformation logging
    • any affine transforms works now!
    • supports many more formats and shows them in the viewer as-is
  • Better color mapping range detection for images and tensors
  • Add support for motion JPEG via the new jpeg_quality parameter to log_image
  • Many small improvements to samples & documentation

There's a growing community on Discord waiting for you to join in case you have any questions, comments or just want to follow the latest development. The Github project is MIT/Apache licensed and open to contribute for everyone, be it with suggestions, bugs or PRs.

Library Updates

Popular Workgroup Issues in Github

Other News

Discussions

Requests for Contribution

Jobs


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!