#ecs #entity #component #game

ecs

An Entity Component System (ECS) Framework

32 releases (8 breaking)

Uses old Rust 2015

0.23.1 Mar 14, 2016
0.22.1 Dec 15, 2015
0.21.2 Oct 8, 2015
0.20.0 Jul 25, 2015
0.10.0 Nov 21, 2014

#16 in #component

Download history 19/week @ 2021-06-03 59/week @ 2021-06-10 14/week @ 2021-06-17 17/week @ 2021-06-24 15/week @ 2021-07-01 19/week @ 2021-07-08 145/week @ 2021-07-15 17/week @ 2021-07-22 79/week @ 2021-07-29 66/week @ 2021-08-05 42/week @ 2021-08-12 13/week @ 2021-08-19 3/week @ 2021-08-26 2/week @ 2021-09-02 18/week @ 2021-09-09 9/week @ 2021-09-16

179 downloads per month

MIT license

47KB
1.5K SLoC

ecs-rs

An Entity Component System (ECS) library written in Rust.

For info about why an ECS may be beneficial, see some of these articles:

There is a large variety of ways an ECS may work. This particular one is similar to Artemis. Although this isn't a port to Rust, most functionality should be similar, and the tutorials/manual there should be able to make up for the current lack of documentation here.

Adding ecs-rs to your project

Add ecs to your Cargo.toml

[dependencies]
ecs = "*"

(Of of course you can pick a specific version, but at least until version 1.0, that's probably not a good idea)

How to use ecs-rs

Tutorial

There are parts of a WIP tutorial in the doc/ directory. More work is being done but I'm a little bit busy on other projects and don't have that much time.

Ask a question

I've opened an issue for questions here. Alternatively, you may occasionally be able to catch me on the #rust-gamedev IRC channel. This is the fastest way to get help but if I'm not there then leave the question in the aforementioned issue thread.

Rustdocs

At the moment the documentation is rather lacking, but at least some information can be gathered by looking at the API docs. Run cargo doc in your project and open up the ecs docs in your browser.

Contributions are welcome

Dependencies

~51KB