What is Amethyst good for?

(Gravit22) #1

Hello. I am really interested in this game engine as in Rust language in general. I just wonder what does Data-driven mean? And what type of games amethyst good for?
Thank you for your responses.

(Zicklag) #2

Hi @gravit22, welcome to the forum!

“Data-driven” is a kind of design ideology that in Amethyst is largely powered by an Entity Component System ( or ECS ). When using Amethyst you break down your app in to data, which in the ECS are called “components” and “systems” which are essentially functions that operate on your data every frame.

If you really want to understand why to use an ECS for building games, check out this really awesome ( though a little long ) blog post about it:


That post really sold me on the whole ECS idea.

As for what games Amethyst is good for, I’m not entirely sure yet what its specific strength would be, but it is good at not locking you into stuff you might want to customize or change later. Many of the devs here like it because it hasn’t gotten stuck in a bad design pattern and it is also very modular, letting you use what you want and hack/replace what you don’t want.

Amethyst has been accurately described by a community member as being a “game engine engine”. So it won’t necessarily do as much for you out of the box as other game engines might, but it allows you to craft your own game engine out of the many modules that they have already provided so that you don’t have to start from scratch.