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.
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!
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.