Amethyst 0.11.0 has been released!

Published on Jun 16th 2019 by Thomas Schaller

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.

Rendy Demo Model

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:

  1. 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.
  2. 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.