The Amethyst Game Engine

Data-driven game engine written in Rust Learn News Contribute Donate

High Performance

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.

3D Example Screenshot

Built for 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.

2D Example Screenshot

A Stable Foundation

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.

Rust Example Code

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 that way. The strength of the community keeps Amethyst going forward, through the contributions of awesome people. Come visit us on GitHub!

Sponsors

Amethyst is supported by its community and the following companies:

Get Started

You can easily get started using our book guide which goes through the basics of creating a game using Amethyst. If you need any help on the way, feel free to visit our community forums and our Discord server!