You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<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 EntityComponent System</b> this is a small system that holds all entity identifiers in a single object
5
5
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
6
6
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`.
17
11
18
12
# Documentation
19
-
13
+
14
+
*[What is Entity Component System](#what-is-entity-component-system)
20
15
*[Example](#example)
21
16
*[System design](#system-design)
22
17
*[User-side control](#user-side-control)
@@ -41,9 +36,19 @@ Entity that possesses a Component of the same aspect as that System."
41
36
*[Profiling](#profiling)
42
37
*[Context](#context)
43
38
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."
0 commit comments