The Amethyst team is happy to announce a new version of Amethyst, 0.11.0. Amethyst is a data-driven and data-oriented game engine aiming to be fast and as configurable as possible.

To pick up this release, add the following in your project's Cargo.toml:

amethyst = "0.11.0"

What's in 0.11.0

Amethyst 0.11.0 comes packed with the Rendy integration & many small additions throughout the engine.

Rendy

We've finally integrated Rendy, a low-level rendering engine on top of gfx-hal, allowing us to target Vulkan, Metal, DirectX (WIP), OpenGL (WIP) and WebGL (WIP). Being compatible with the gfx ecosystem makes integration of independent libraries a lot easier!

With Rendy we now have a completely new way of defining rendering pipelines. There were several changes to our asset loading API and we've refactored the transform & camera API. If you're looking to upgrade your game, you may find the Rendy migration guide helpful.

We were able to fix many bugs regarding shading issues, sprite rendering, debug lines, etc., however, due to this huge change in the engine it's almost safe to say new bugs have been introduced. If you believe you've found a bug, please don't hesitate to visit our issue tracker on GitHub or if you aren't sure if it's a bug, feel free to ask on our Discord server or Forum.

Other Changes

Amethyst 0.11.0 involves a significant number of changes. We can't detail all of them here, but you can see them all in the detailed release notes for 0.11.0.

What's Next

For the next release, we are going to focus on two topics:

WASM

Ergonomics

You can read about the WASM efforts in our announcement post.

As for ergonomics, there are two main areas where ergonomics need to be improved:

Creating rendering graphs - this is currently rather hard, so we'd like to make it easier for people without experience in computer graphics to create their own rendering graphs. A Float type was introduced to support 64-bit world precision, and it currently imposes extra boilerplate which we'd like to reduce.

Code Quality Council

Starting with the 0.11 release, there will be a Code Quality Council monitoring Pull Requests to the engine. It consists of the following members:

azriel

Frizi

jaynus

jstnlef

Kae

torkleyy

Pull Requests will be reviewed for the following criteria:

Code Architecture (jstnlef, Kae, Frizi, torkleyy)

Security (jaynus)

Documentation (azriel)

Tests (shared responsibility)

Whenever a PR to amethyst/amethyst, amethyst/laminar or amethyst/rendy is made, please ask one member of the Code Quality Council for a review. More repositories will be added when they become more mature / a dependency of the engine.

Additionally, we've started to measure code coverage in the repositories amethyst, laminar and rendy. This metric will be used to track our progress with proper testing of the engine and its components.

People we 💖

We would like to thank all our contributors who were involved in making this release possible:

0x40

Aaron Housh

Alec Deason

Aleksey Halahan

Alex Flores

Alik Aslanyan

Andrew Jakubowicz

Awpteamoose

Azriel Hoh

Benjamin Bäumler

Benjamin Hetherington

Benoît CORTIER

Brad Lugo

Chapman Shoop

Csányi István

David Kushner

David LeGare

Dzmitry Malyshau

Elaina Martineau

Ellie

Eric Stokes

Erlend Sogge Heggen

Ewout ter Hoeven

Eyal Kalderon

Fletcher Haynes

Frizi

Giorgi Beriashvili

Gray Olson

Greg Morenz

Havvy (Ryan Scheel)

Hilmar Wiegand

Hugo Laloge

Igor Ranchynskyy

ImgBotApp

Jacob Kiesel

Jamee Kim

Johannes Boczek

John-John Tedro

John Mitchell

Joshua Barretto

Joshua Groves

Joël Lupien

KernelFreeze

Karl Bergström

Laurent Van Acker

Lonnie Souder

Lucas Kent

Lucio Franco

Luna

Marco Alka

Markus Westerlind

Matt O'Tousa

Matt Taylor

Michael Palmos

MorituriTeSalutant

Nolan Darilek

Ole Martin Ruud

Oliver

Pavel Hrách

Paweł Grabarz

Randy Taylor

Reificator

René Klačan

Richard Dodd (dodj)

Richard McCormack

Robert Wallis

Rudi Floren

Ryan Scheel

Sascha Grunert

Sébastien Guimmara

Sebastian Waisbrot

Sergey Veselkov

Shelby Doolittle

Simon Heath

Simon Rönnberg

SkylineP1g3on

Steve Wooster

Tammo Ippen

Thomas Churchman

Thomas Schaller

Théo Degioanni

Timon Post

Tristram Gräbener

Tymoteusz Paul

Usummon

Valkum

Vultix

W. Brian Gourlie

Walter Pearce

Xiang Fan

Zakarum

Zakor Gyula

Zelda Hessler

bamling

butterflyeight

callym

cosine

covercash2

golergka

hbina085

ibloat

jaynus

kel

p

qthree

randyl

taptap

tpltnt

verzuz

yukicode

As well as everyone who reviewed pull requests, opened issues, participated in the design discussions, and requested features!

The Amethyst Foundation is a pending 501(c)(3) non-profit. For details on what this means, or to make a donation, please refer to this announcement. If you would like to contribute to Amethyst, feel free to jump right in.