Amethyst – Starting fresh

Published on Oct 3rd 2021 by Erlend Sogge Heggen

We are officially halting development of Amethyst Engine. Both the stable v0.15 version as well as the pending v0.16 (Legion) version.

The plan is to eventually archive the amethyst/amethyst repo, but we’ll leave it open a few months longer to get a better sense for who might still be using the engine and wants it to keep accepting PRs. For now the status of the repo is 'Inactively Maintained'.

What happened? A lot of it is covered in the “Elephant topic”. In short, we never quite found our footing after coincidentally moving from a top-down BDFL model (which isn't actually good for-life, but great for an upstart) to a flat peer-to-peer model. We lacked a unified vision of what the Amethyst Engine was destined to be.

Furthermore, our internal game engine was always in conflict with our foundation’s broader agenda: Bettering the Rust gamedev ecosystem as a whole. We're not pivoting into this generalist role of being "ecosystem glue".

A job well done 

If anyone who was involved with Amethyst Engine feels like “we didn’t make it”, kindly think again. 

Together we built an advanced, ECS-powered game engine; among the first of its kind in the Rust ecosystem. What was started by the wonderful Eyal Kalderon was carried on by a distributed team of volunteers, learning-by-hacking together. Real games were made with the tools we created. And to our great delight, several Amethyst contributors have gone on to work in the game development industry! Others are carrying on the torch by getting involved with the wonderful Bevy, or brand new projects of their own.

Best of all, hundreds of Rust gamedev enthusiasts connected with one another through Amethyst and enduring friendships have ensued <3

New beginning: Engine agnosticism

Amethyst Foundation is now engine-agnostic. We no longer have a singular focus on making any specific game engine. Whatever Works is our new mantra. While agnostic, we’re not neutral. Drawing from our organization’s shared values and collective knowledge of the Rust gamedev ecosystem, we will express ourselves in opinionated ways. This is something our sibling org the Rust GameDev WG cannot do because it aims to be project-neutral.

And so, as a transparently opinionated entity, we can pick up the responsibility to create a sort of WireCutter of the Rust gamedev ecosystem. A definitive guide on “Starting your Rust gamedev journey”. To that end, here’s our 30s take on how a newcomer to Rust game development could get started today:

  1. Just starting out with Rust and gamedev? Pick up Herbert’s “Hands-on Rust - Effective Learning through 2D Game Development and Play” and play around with bracket-lib. (Amethyst Foundation takes no cut of the book’s sales. We just believe high quality documentation should be a sustainable practice.)
  2. Wanna make a 2D game with minimal hassle and maximum cross-platform support? Check out Macroquad.rs and its flagship games Fish Fight and Zemeroth.
  3. Making a 3D game and need an editor environment? rg3d is your best bet!
  4. Coming from Godot? You might feel right at home with godot-rust then.
  5. Enjoy life on the cutting edge? Bevy, a formidable spiritual successor to the Amethyst Engine, is the most advanced ECS-powered game engine in Rust-land.

There’s lots of other really good stuff out there that we would love to feature on the shortlist somehow, as long as we’re not overloading the entry-point for budding game developers. We’ll probably end up creating several other types of curated lists, like:

  • Starting your Rust 3D graphics journey (wgpu et.al.)
  • Building your own Rust game engine (Scion et.al.)
  • Openly developed games (Veloren et.al.)

As for the other initiatives we’ve planned, we will announce those individually as they fully materialize. Our most heartfelt thanks goes out to everyone who has been involved in the Amethyst project. ❤️🙏

Q&A

Will Amethyst org still make internal libraries?

Yes. But everything we make from now on will be engine-agnostic. Not a big change in actuality, because most of our larger library projects were already engine-agnostic: Distill, specs, Legion, Laminar…

What does partnering with Amethyst entail?

All the ‘get started’ projects listed above are either direct or indirect partners of ours. At its most basic, partnering with us just means reaching out. Once we’ve connected, we have all the time in the world to figure out how we might operate more collaboratively together.

We’re very used to helping out with:

- Promotion (spreading the word, making websites..)

- Coordination (onboarding pipelines, teamwork..)

- Education (writing docs, teaching by example..)

- Community Building (networking, culture setting..)

Can I/we partner with you?

Yes! If you’re passionate about open game development, possibly (but not necessarily) with a flair for Rust, then we’ll go together like strawberries and cream. Let's talk.