Skip to content

Commit 7298fff

Browse files
Update README.md
1 parent 9dc1f94 commit 7298fff

File tree

1 file changed

+19
-14
lines changed

1 file changed

+19
-14
lines changed

README.md

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,17 @@
11
# JECS
2-
![JECS](.github/Logo.png?raw=true "JECS - Java Entity Component System")
2+
![JECS](.github/Logo.png?raw=true "JECS - Entity Component System")
33

4-
<code>JECS</code> or <b>Java Entity-Component-System API</b> this is a small system that holds all entity identifiers in a single object
4+
<code>JECS</code> or <b>Java Entity Component System</b> this is a small system that holds all entity identifiers in a single object
55
as well as their component identifiers. It makes it easy to create entities, put a component in it, and when it is not needed, it is also
66
easy to delete it without leaving the object in memory.
7-
<p>
8-
This is not the best solution for sorting entities and components around the world, I am sure there are better solutions in other languages
9-
like C++ and Entt, but I have not seen similar systems in Java.
10-
<p>
11-
<b>Entity</b> The entity is a general purpose object. Usually, it only consists of a unique id. They "tag every coarse gameobject as a
12-
separate item". Implementations typically use a plain integer for this. <p>
13-
<b>Component</b> the raw data for one aspect of the object, and how it interacts with the world. "Labels the Entity as possessing this
14-
particular aspect". Implementations typically use structs, classes, or associative arrays. <p>
15-
<b>System</b> "Each System runs continuously (as though each System had its own private thread) and performs global actions on every
16-
Entity that possesses a Component of the same aspect as that System."
7+
8+
This is not the best solution for sorting entities and components around the world. This is a library written using the same template and style as
9+
`Entt` written in C++. Only `JECS` is just trying to repeat what `Entt` can, and has a similar syntax. But the implementation is completely
10+
different. Therefore, if you need speed, then use memory, if not, then try `JECS`.
1711

1812
# Documentation
19-
13+
14+
* [What is Entity Component System](#what-is-entity-component-system)
2015
* [Example](#example)
2116
* [System design](#system-design)
2217
* [User-side control](#user-side-control)
@@ -41,9 +36,19 @@ Entity that possesses a Component of the same aspect as that System."
4136
* [Profiling](#profiling)
4237
* [Context](#context)
4338

39+
# What is Entity Component System
40+
Entity Component System (ECS) - is a software architectural pattern mostly used on video game development for the storage of game world objects. An ECS follows the pattern of "entities" with "components" of data.
41+
42+
An ECS follows the principle of composition over inheritance, meaning that every entity is defined not by a "type", but by the components that are associated with it. The
43+
design of how components relate to entities depend upon the Entity Component System being used.
44+
**Entity** The entity is a general purpose object. Usually, it only consists of a unique id. They "tag every coarse gameobject as a
45+
separate item". Implementations typically use a plain integer for this.
46+
**Component** the raw data for one aspect of the object, and how it interacts with the world. "Labels the Entity as possessing this
47+
particular aspect". Implementations typically use structs, classes, or associative arrays.
48+
**System** "Each System runs continuously (as though each System had its own private thread) and performs global actions on every
49+
Entity that possesses a Component of the same aspect as that System."
4450

4551
# Example:
46-
Old example, soon post updated.
4752
```java
4853
package kenny.jecs.test;
4954
import kenny.jecs.JECS;

0 commit comments

Comments
 (0)