https://github.com/nickscha/ecs4j
ECS4J provides a lightweight Entity Component System (ECS) implementation for java.
https://github.com/nickscha/ecs4j
ecs ecs4j entity-component-system java pattern
Last synced: 10 months ago
JSON representation
ECS4J provides a lightweight Entity Component System (ECS) implementation for java.
- Host: GitHub
- URL: https://github.com/nickscha/ecs4j
- Owner: nickscha
- License: apache-2.0
- Created: 2018-12-27T14:26:13.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-02-02T21:18:00.000Z (almost 7 years ago)
- Last Synced: 2025-02-21T14:35:53.162Z (11 months ago)
- Topics: ecs, ecs4j, entity-component-system, java, pattern
- Language: Java
- Size: 40 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ECS4J - in development
[](https://maven-badges.herokuapp.com/maven-central/com.github.nickscha/ecs4j)



ECS4J provides a lightweight Entity Component System (ECS) implementation which is easy to use as well as a transparent and fluent API.
## Maven
```xml
com.github.nickscha
ecs4j
NOT-RELEASED
```
The artifact will be published under https://oss.sonatype.org
## Requirements
* Java 8 or later
## Introduction
The Entity Component System (in short ECS) is an architectural pattern following the composition over inheritance pattern and is highly compatible with data oriented design techniques.
ECS is commonly used in applications were inheritance would lead to inflexible code
and confusing/unclear code structures in order to manage the data and
behaviours of entities. Due to the strict separation of data and behaviour it
allows easy multithreading and serialization of data.
ECS has a very strict terminology:
* Entity - A unique identifier for a set of components.
* Component - raw data and nothing more. No logic/behaviour.
* System - Contains the logic/behaviour for a list of entity components as required by the system. (Usually a system runs contuniously in private threads)