Skip to content

schosin/schosin-ecs

Repository files navigation

Unnamed ECS

This is a work-in-progress, not yet named ECS framework based on Java 21 providing an extensible API and a rich feature set.

It is inspired by other ECS frameworks such as Artemis-odb and Dominion, as well as by ECS frameworks outside of the java ecosystem like Flecs.

Work-in-progress

Caution

This framework is in active development. Expect breaking changes!

Feature highlights

  • Small core API for working with entities and components
  • Extendable API using an interface based plugins
  • Multiple types of components, including POJOs, relations and component sets
  • Powerful query API for matching entities and fetching components
  • Performance optimizations with improved memory locality, pooling and a configurable storage abstraction

Getting started

The framework is still work-in-progress and as such no artifacts are published yet. To start with the framework, clone this repository and build the library before using it.

It is highly recommended to start with the examples to get an understanding for how the library works. There is no documentation yet, so these examples are all there is for now.

Note

It is planned to add nightly builds to Github packages in the short term. See #23.

Build the library

mvn install

Maven

<dependency>
    <groupId>de.schosin.ecs</groupId>
    <artifactId>ecs-worlds</artifactId>
    <version>0.1.0-SNAPSHOT</version>
</dependency>

Gradle

  dependencies { compile "de.schosin.ecs:ecs-worlds:0.1.0-SNAPSHOT" }

Resources

About

This is a work-in-progress, not yet named ECS framework based on Java 21 providing an extensible API and a rich feature set.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages