Data-driven game engine written in Rust.



Amethyst is a data-driven game engine built for high parallel performance and easy prototyping. It is still under heavy development and should be used with care, and therefore this webpage is more about what it will be than what it currently is. We are still lacking important features that will come from our active development team. Contributions to Amethyst are encouraged!
Amethyst is a community project and needs your help to grow.
Learn how to get involved.
Works seamlessly with both 2D and 3D

Amethyst uses gfx-rs to render graphics with OpenGL, and soon Vulkan and Metal. It is meant to be used for 2D and 3D, with various utilities for both types of games. It should be beginner friendly but also allow more advanced uses such as custom render passes and GLSL shaders.

Example Screenshot
Example Screenshot
Built around an Entity Component System architecture.




Amethyst uses a rigorous Entity Component System (ECS) architecture to organize game logic. This abstracts away some of the parallelism work, allowing easier exploitation of multi-threading in games. The ECS is rich in features and very efficient, as it never does any memory locking while remaining entirely thread-safe.
Native performances

Thanks to the Rust programming language, Amethyst uses all CPU cores to run its internals and logic. A lot of optimizations have yet to be done, but the current status is already showing great potential.
One of the world's fastest ECS

The ECS implemented in Amethyst is one of the fastest publicly available game engine ECS in the world. It uses no runtime reflection and can handle millions of components without trouble.
Free with very permissive usage.




Amethyst is open source and free software. You can use, read, modify, distribute its source code under the permissive MIT and Apache 2.0 licenses, and it is important to us that it remains like so. The strength of the community keeps Amethyst going forward, through the contributions of awesome people. Come visit us on GitHub!
Write your games in a safe language

The Rust programming language will help you make your game fast, prevent most runtime crashes and avoid common mistakes programmers make. Its nice environment, plentiful libraries and friendly community will make writing your game a great experience!
Example Screenshot
Supports many target platforms.



Windows macOS Linux iOS
Coming soon
Android
Coming soon
WebAssembly
Coming soon
Your new adventure awaits

Amethyst is still under development, but you can start using it today! Because it's dangerous to go alone, this guide will help you get started with Amethyst.