Questions tagged [entity-system]
A programming paradigm in which gameobjects (entities) are composed out of components, and are operated upon by systems. Each entity is an ID that points to specific components.
401 questions
0
votes
1
answer
92
views
How to structure this concept in ECS?
High level
At a high level, I'm looking to create a galaxy exploration-style game.
A number of points of interest will be selectable on the map (I'd like to aim for several hundred, but flexible and ...
1
vote
0
answers
459
views
Why does ROBLOX use an object-oriented system rather than an entity component system? [closed]
I decided I would develop a game engine in c++, so I was thinking about different ways of handling objects. I also have experience with ROBLOX, so I know that it uses an object-oriented design as ...
0
votes
1
answer
106
views
Entity Framework and reactive
In my games using entity framework (for example using https://github.com/libgdx/ashley ) help me to separate data from logic in different systems.
But a problem I've found is how to handle events ...
0
votes
0
answers
51
views
How do we restart levels?
When you run out of moves, you will need to go back to the beginning of a level. If a level objective is not complete, this means you have to restart a level. And the level will simply replace all of ...
3
votes
2
answers
1k
views
How do different compositions/types of entities interact in an ECS-system?
I have a working ECS-system set up, largely inspired by this brilliant article (not at all required reading to be able to answer my question) on https://indiegamedev.net/ showcasing an ECS-system with ...
0
votes
0
answers
165
views
ECS multithreading without value types?
Im working with an Java based ECS framework called "Artemis ODB".
Its great so far but it lacks multithreading or jobs.
So i wanted to add them by myself. I actually wanted to give each job ...
0
votes
0
answers
892
views
How to handle various collision effects within an Entity Component System?
Let's say we have three enemies, a bear trap, a fire trap, and a minotaur. When you walk over the bear trap, the game spawns an invisible entity that, upon the player colliding with it, slows the ...
7
votes
2
answers
2k
views
How "smart objects" are implemented and actually work?
I'm drafting my game and implementing small stuff in it, but hit a roadblock. You see, for my game I would like for different items to behave the same or to share behavior, for instance, some items ...
0
votes
1
answer
3k
views
How do I contiguously store and iterate over ECS components in C++?
I'm writing an entity component system and want to store each type of component separately and contiguously in memory in a way that's easy to iterate over.
Component...
0
votes
2
answers
49
views
How to avoid entities flying far away when tabbing out and then tabbing back in?
I'm developing a game which uses a standard Entity-Component-System.
Every frame, the PhysicsSystem runs, which, among other things, updates the position of ...
2
votes
2
answers
3k
views
How to Implement ECS Archetypes in C#?
I'm trying to figure out how to implement a simple ECS with an Archetype approach, similar to what Unity's ECS uses.
An archetype is just a category for entities that have a specific set of components....
0
votes
0
answers
148
views
How to draw the player standing behind a tree in an Entity Component System?
I'm making a top-down Javascript canvas game using the Entity Component System architecture.
For an entity to be drawn on the screen every frame, it needs a ...
0
votes
1
answer
109
views
Should abilities have their state and functionality separated?
I'm developing a top-down game using Javascript and Canvas in an ECS architecture.
I'm wondering, which of these is better from a design / elegance point of view?
Method 1: Combining the ability ...
0
votes
0
answers
717
views
Ways to persist entities and components in an ECS?
I am working on a small multiplayer game with rpg elements using java and "Artemis ODB". Most of the logic is already done but one important thing is missing. The persistence.
So i am ...
0
votes
1
answer
469
views
Cannot decide between using a MessageBus and entities for events in my ECS game
For example, let's say that the player walks into an enemy and in response, a chain of events should occur (such as: his score goes up, the enemy dies, a cinematic starts, etc.)
I see two "proper&...
1
vote
3
answers
1k
views
Is it a bad idea to store functions inside components in ECS?
Say I have three entities: Player, Spikes, and Zombie. All of them are just rectangles and ...
0
votes
0
answers
35
views
ECS: Should Systems access only one component-type [duplicate]
Let's say I have a Transform-component-type, and a Color-component-type (to keep things simple).
I also have an entity E that is ...
0
votes
1
answer
1k
views
How do you handle entity life-time and entities without all components in an ECS?
I'm just starting to implement my own ECS and am drawing everything down on paper to make sure I understand it all before tackling the implementation in code. However I'm getting stuck on entity-...
1
vote
2
answers
2k
views
How does ECS handle systems which need to know more about the environment of the entities it processes?
I'm trying to wrap my head around the concept of ECS (Entity Component System). I think I grasp the concept of the different parts, Entities, Components, and Systems.
Entities: Basically just a ...
0
votes
0
answers
96
views
How to store 3D entity position, offset, and transformation data for parent and children?
I am looking for a cleaner pattern to storing character position data, offsets, and transformations. I currently have a character with a vec3 for position.
...
0
votes
1
answer
135
views
Hidden copies of the environment in an entity component system
For reasons outside the scope of this question, my game has several full copies of the game environment running asynchronously. At any one time, only one of these is rendered.
This is trivial to ...
1
vote
1
answer
281
views
Should fields in components in an ECS use polymorphism?
I've just started to try and learn how to use ECS (Entity component systems), but I'm having trouble understanding the concepts behind components.
Should adding more types of components, or trying to ...
1
vote
1
answer
202
views
Where should I put units and items in a squad-combat ECS-based game?
So I'm working on a game where squads of varied units would explore, fight, trade and build on an overworld map. Combat would be automated more or less, and happen on the overworld. Basically, ...
2
votes
0
answers
135
views
Properway to pass information from one system to another in an entity component system design
After having read some example programs (namely Pong, Snake and Pacman) I am now experiencing with ECS. I am wondering where to put the elements for a reward flow. Do you know good practices for ...
0
votes
1
answer
423
views
How to handle dynamic hierarchical entities in ECS
Here's the analogy:
I have an organism which is composed of cells which can be further composed of a medley of attachments.
What I have currently is a sort of event chain between child/parents to ...
9
votes
2
answers
2k
views
User-friendly scripting when using an ECS?
I am currently creating a small hobby project to get back into game development, and I have decided to structure my entities using an ECS (Entity Component System). This implementation of an ECS is ...
21
votes
5
answers
5k
views
Improving an O(N^2) function (all entities iterating over all other entities)
A little bit of background, I'm coding an evolution game with a friend in C++, using ENTT for the entity system. Creatures walk around in a 2D map, eat greens or other creatures, reproduce and their ...
1
vote
1
answer
894
views
ECS - System calling other systems
I'm trying to build my first (2D) game with ECS but I always end up with some system calling other systems. Here's an example.
There is a RegionSystem that manages RegionComponents. On each frame, ...
1
vote
1
answer
2k
views
How to delete Unity Hybrid ECS Entities?
I'm trying to get into Unity's Hybrid ECS feature. Creating and Manipulating Entities has worked fine so far for me, but somehow I can't find a viable option to delete Entities which works 100% of the ...
3
votes
1
answer
3k
views
Should components in Entity Component System pattern have logic?
Is often read that in entity component system pattern we should treat components just as a passive data structure with no logic at all, this way we follow to a data oriented design approach with ...
1
vote
3
answers
1k
views
ECS in MMOs - How to handle IDs for different object types?
Using a DOD approach, what is the typical way to handle dealing with the actual IDs of game objects?
Obviously, each entity has a unique entity_id that is ...
0
votes
0
answers
94
views
Quadtree having ownership of entities, worth it?
Typically, you would have a list of entities stored somewhere, and you'd use quadtree when you need some collision testing between entities for example, by inserting all of the entities and generating ...
0
votes
2
answers
2k
views
Implementations for storing entities in an ECS system
I'm restructuring my model of entities, components and systems, where entities are:
...
4
votes
2
answers
1k
views
How to implement n-body in an Entity Component System
Recently I've been throwing problems at Entity Component Systems to see how far I can push the paradigm. One problem in particular I struggle with, which is writing an elegant implementation of the n-...
0
votes
1
answer
2k
views
How can I iterate over all entities with a particular component?
I'm currently designing a game engine and want to implement my own ECS implementation, so I decided to look around for ideas.
Unity has recently updated their engine and seems to be pushing towards ...
1
vote
0
answers
561
views
When would I use IJobProcessComponentData and when IJobParallelFor?
Quick question regarding the Job system in conjunction with pure ECS. When would I use IJobProcessComponentData and when ...
0
votes
2
answers
3k
views
How to represent a modular FSM for AI using ECS?
I am considering to implement AI using ECS which actually contradicts working with naive FSMs. My current idea is to have multiple components which represent the particular state an Entity that has a <...
0
votes
2
answers
373
views
How ID's work in FPS games
I am wondering how games generate IDs/GUIDs for their entities (along these lines), and which entities specifically get them. To narrow the scope of the question down, I am just focusing on FPS games ...
1
vote
1
answer
429
views
How MMOs store IDs for game entities
Wondering in general how IDs are stored in a large massively multiplayer online game.
From what I can imagine, it seems that each "game entity" would have a globally unique ID (GUID). Say there are ...
1
vote
2
answers
2k
views
Managing different types of Actors/Entities in a rendering engine
I'm coding a simple game engine using DirectX11, and I'm stuck on how to implement a kind of ECS. Now my rendering system look like this (sorry if the diagram is not real UML, it's just for ...
8
votes
1
answer
4k
views
Unity Hybrid ECS with "old way"
Is it possible to use Hybrid ECS with some components and the standard MonoBehaviour with all your old code?
I want to know because I already have some game ...
3
votes
1
answer
350
views
Is there a "Least Terrible Method" for sharing Entities over Network?
(Preface: Using C++, Box2D, and built UDP client and server classes that are reasonable efficient for a built-from-scratch game using client-server model.)
This question is specifically in regards to ...
1
vote
2
answers
2k
views
ECS - should everything be a system?
I've just recently started working with LibGDX and Ashley, and I find it to be really useful and I like working with the whole entity/component/system workflow. But I've been starting to layout the ...
3
votes
2
answers
1k
views
Using polymorphism in an Entity-Component System without sacrificing data-oriented design
I've been planning out an Entity-Component System in C++. My idea of it is most in line with the one described on this page of the entity systems wiki. To summarize, components are just structs of ...
1
vote
1
answer
623
views
How does Ashley keep systems up-to-date with its entities?
I am currently trying out Ashley and overall learning how an ECS works internally. What I currently don't understand is how Ashley in particular keeps its systems up-to-date by adding or removing ...
1
vote
1
answer
1k
views
Packet/Event-Based Entity-Component-System
I know what one of the big commonalities I see in ECS projects is that there is a main game loop that iterates through systems and calls their respective update methods (for example, RenderSystem).
...
0
votes
2
answers
1k
views
Event-Based Entity-Componenty-System
So, I'm new to ECS. The concept is very interesting in contrast to traditional OOP and heavy inheritance. I'm working on a game right now that is open-sourced, but does not actually have a game loop. ...
3
votes
2
answers
947
views
How to get Entitas components from gameObject.getEntityLink()
I'm new to Entitas. I have a DamageSystem that should Physics.Raycast() toward the target and if tag is enemy it should reduce ...
0
votes
1
answer
913
views
Make the components of an ECS polymorphic
I have implemented an entity component sytsem (ECS) in my game engine (SFML and C++ 17). An entity has an array of components. You can get a components by its type e.g.: ...
0
votes
1
answer
1k
views
How does an ECS work for a world subdivided into chunks (example)?
I am trying to use an ECS for my 2d game at the moment. Up until now I had my world subdivided into chunks (as minecraft does) of size 64x64. They are loaded and drawn when they come onto screen. I ...