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.
75
votes
9answers
6k views
Entity communication: Message queue vs Publish/Subscribe vs Signal/Slots
How do game engine entities communicate?
Two use cases:
How would entity_A send a take-damage message to entity_B?
How would entity_A query entity_B's HP?
Here's what I've encountered so far:
...
54
votes
1answer
6k views
Role of systems in entity systems architecture
I've been reading a lot about entity components and systems and have thought that the idea of an entity just being an ID is quite interesting.
However I don't know how this completely works with the ...
43
votes
1answer
6k views
Using component based entity system practically
Yesterday, I've read a presentation from GDC Canada about Attribute / Behaviour entity system and I think it's pretty great. However, I'm not sure how to use it practially, not just in theory. First ...
24
votes
2answers
6k views
Entity/Component Systems in C++, How do I discover types and construct components?
I'm working on an entity component system in C++ that I hope to follow the style of Artemis (http://piemaster.net/2011/07/entity-component-artemis/) in that components are mostly data bags and it's ...
21
votes
5answers
1k views
Doing powerups in a component-based system
I'm just starting really getting my head around component based design. I don't know what the "right" way to do this is.
Here's the scenario. The player can equip a shield. The the shield is drawn ...
19
votes
6answers
3k views
What designs are there for a component based entity system that are user friendly but still flexible?
I've been interested in the component based entity system for a while, and read countless articles on it (The Insomiac games, the pretty standard Evolve Your Hierarchy, the T-Machine, Chronoclast ... ...
18
votes
2answers
2k views
Component-Based System online resources
I've been considering moving to a more component-based approach in my games. Does anyone else have any decent reference material or sample implementations that would help make this transition a little ...
17
votes
5answers
3k views
Implementing features in an Entity System
After asking two questions on Entity Systems (1, 2), and reading some articles on them, I think that I understand them much better than before.
But, I still have some uncertainties, and mainly they ...
14
votes
1answer
3k views
How to properly implement message handling in a component based entity system?
I am implementing an entity system variant that has:
An Entity class that is little more than an ID that binds components together
A bunch of component classes that have no "component logic", only ...
13
votes
3answers
2k views
In an Entity-Component-System Engine, How do I deal with groups of dependent entities?
After going over a few game design patterns, I have settle with Entity-Component-System (ES System) for my game engine. I've reading articles (mainly T=Machine) and review some source code and I ...
13
votes
3answers
2k views
Organizing an entity system with external component managers?
I'm designing a game engine for a top-down multiplayer 2D shooter game, which I want to be reasonably reuseable for other top-down shooter games. At the moment I'm thinking about how something like an ...
12
votes
4answers
564 views
How can I assign entity IDs in a robust way in a network game?
I'm working on an entity system for a networked game and I'm assigning each entity a unique 32-bit integer id that I can use to serialize references to entities and the entities themselves.
Currently ...
12
votes
3answers
1k views
Appropriate level of granularity for component-based architecture
I'm working on a game with a component-based architecture. An Entity owns a set of Component instances, each of which has a set of Slot instances with which to store, send, and receive values. Factory ...
11
votes
4answers
3k views
Game engine with good Lua entity creation/management [closed]
I'm looking for an engine that constructs it's entities using Lua or other scripting language. This is in order to find inspiration and do it in my own engine as well.
I know that Cryengine does use ...
10
votes
5answers
591 views
Why place entity config outside of scripts?
I've seen a lot of games that define the entity components in script files, but when they configure each entity and specify what components it has, they use some other file format (like XML). Why do ...
9
votes
3answers
673 views
How to code UI / HUD in Entity System?
I think I already got the idea of the Entity System inspired by Adam Martin (t-machine). I want to start using this for my next project.
I already know the basic of Entity, Components, and Systems. ...
9
votes
3answers
2k views
Creating Entity as an aggregation
I recently asked about how to separate entities from their behaviour and the main answer linked to this article: http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/
The ultimate concept ...
8
votes
3answers
1k views
Why is it a bad idea to store methods in Entities and Components? (Along with some other Entity System questions.)
This is a followup to this question, which I answered, but this one tackles with a much more specific subject.
This answer helped me understand Entity Systems even better than the article.
I've ...
8
votes
3answers
3k views
Component entity system - Updates and call orders
In order to get components to be able to update every frame (and leave this functionality out of components that don't need to) I got the idea to make an UpdateComponent component. Other components ...
8
votes
5answers
859 views
Managing multiple references of the same game entity in different places using IDs
I've seen great questions on similar topics, but none that addressed this particular method:
Given that I have multiple collections of game entities in my [XNA Game Studio] game, with many entities ...
8
votes
2answers
956 views
Game state and input handling in component-based entity systems
My question is:
How can I handle game states in my entity system, without resorting to keeping a stack of game state objects around?
So the design of my entity system means that when an entity needs ...
8
votes
2answers
674 views
How to manage all the NPC/AI objects on the server?
I'm writing a simple MMO, and currently have the the server-client architecture in place for multiple users to see each other and be able to move around together...now its time to add enemies.
Was ...
8
votes
2answers
310 views
Many sources of movement in an entity system
I'm fairly new to the idea of entity systems, having read a bunch of stuff (most usefully, this great blog and this answer).
Though I'm having a little trouble understanding how something as simple ...
8
votes
1answer
602 views
Abstracting Entity System animation states
I recently started designing a Game Engine using the Entity System paradigm, i.e. having entities as an aggregation of components, and systems that implement the actual game.
Whereas I've had ...
8
votes
3answers
2k views
Entity Component System based engine
Note: I'm programming this in Javascript, but it should be language agnostic in the most part.
I am thinking about converting my engine to an ECS based one.
I get the basic idea (note: this is ...
7
votes
3answers
1k views
Component based entity system API naming problems
My engine uses a component-based entity system internally, and I want to bind it to Lua for scripting.
Now, I want to save people who write scripts for it typing work. In C++, to set the position of ...
7
votes
3answers
1k views
Role of an entity state in a component based system?
Component-based entity systems are all the rage these days; everyone seems to agree they are the way to go, but no one really has a definitive implementation of such a system. I was wondering, what ...
7
votes
3answers
631 views
Overriding component behavior
I was thinking of how to implement overriding of behaviors in a component based entity system. A concrete example, an entity has a heath component that can be damaged, healed, killed etc. The entity ...
7
votes
2answers
842 views
Handling scripted and “native” components in a component-based entity system
I'm currently trying to implement a component-based entity system, where an entity is basically just an ID and some helper methods tying a bunch of components together to form a game object. Some ...
7
votes
1answer
580 views
Processing component pools problem - Entity Subsystem
Architecture description
I'm creating (designing) an entity system and I ran into many problems. I'm trying to keep it Data-Oriented and efficient as much as possible. My components are POD ...
6
votes
5answers
569 views
Whats the most efficient method for controlling entities?
I'm creating a tower defense game and I'm having logistical issues trying to figure out how to best have all of the enitites do their apporiate task.
I have considered just constantly looping through ...
6
votes
1answer
338 views
How to handle materials in an Entity/Component system
My E/C implementation is the basic one where Entities are just ID's, Components are data and Systems act on the Data. Right now I'm having trouble with object materials and rendering in general. For ...
6
votes
4answers
1k views
Entity System and rendering
Okey, what I know so far;
The entity contains a component(data-storage) which holds information like;
- Texture/sprite
- Shader
- etc
And then I have a renderer system which draws all this. But ...
6
votes
2answers
500 views
Doesn't multiple inheritance solve all problems that entity systems do?
The question is pretty self explaining: doesn't multiple inheritance solve all the problems that entity systems also solve?
I just remembered a term called "multiple inheritance", and that seems to ...
6
votes
2answers
574 views
Data Structure (or algorithm) for fast distance-based entity lookups
For example, your game has 100 enemies (on different teams) running around and their AI wants to inspect the nearby entities to see which it should attack. What is a fast way to organize those ...
6
votes
4answers
1k views
How does an Engine like Source process entities?
[background information]
On the Source engine (and it's antecessor, goldsrc, quake's) the game objects are divided on two types, world and entities. The world is the map geometry and the entities are ...
6
votes
6answers
2k views
Logic in Entity Components Systems
I'm making a game that uses an Entity/Component architecture basically a port of Artemis's framework to c++,the problem arises when I try to make a PlayerControllerComponent, my original idea was ...
6
votes
2answers
294 views
Particles/instancing groups in an Entity/Component system
I've been playing with an entity/component/system design recently, and I've come across a couple of stumbling blocks.
Instancing
Let's say I have a few hundred "things" (asteroids, chickens, ...
6
votes
2answers
167 views
How to share Lua script between instances?
I'm doing an agent based framework with C++ and Lua. I want to use Lua to code the Agent behaviour having an AgentClass class that have the name and source code and an AgentInstance class that have ...
6
votes
1answer
242 views
Entity Type specific updates in entity component system
I am currently familiarizing myself with the entity component paradigm.
For an example, take a collision system, that detects if entities collide and if they do let them explode.
So the collision ...
5
votes
4answers
644 views
Drawbacks of using reflection for a component based system at loading-time
I'm coding a little casual game in Java using Slick2D.
This game use a lot of different "objects", managed in a composite way. So, firearms, furniture in the map, NPC and player character will be ...
5
votes
4answers
605 views
Should each Entity have its own update and render methods?
First, the questions:
Should each Entity (which are classes like Character, Tree, Enemy) have its own update() and render() methods?
If that's the case, then should I use Interfaces like ...
5
votes
2answers
959 views
Book about Entity System?
I'm really interested about the capabilities of Entity System. I'm trying to search for a good book on this one, but failed.
I don't want to get lost on learning this paradigm so a book will be a big ...
5
votes
2answers
950 views
Tilemaps in a Entity System Framework?
I have been reading up on Entity System Frameworks specifically Artemis. I am trying to decide if it is right for me. I strictly work on tile based 2d pixel art games, and I don’t think they will ever ...
5
votes
2answers
1k views
Implementing my Entity System. Questions about some problems I have found
Well during this week I have deciding about implementation of my entity system. It is a big topic so it has been difficult to take one option from the whole. This has been my decision:
1) I don't ...
5
votes
3answers
635 views
How to update entity states and animations in a component-based game
I'm trying to design a component-based entity system for learning purposes (and later use on some games) and I'm having some troubles when it comes to updating entity states.
I don't want to have an ...
5
votes
3answers
342 views
Actually utilizing relational databases for entity systems
Recently I was researching several entity systems and obviously I came across T=Machine's fantastic articles on the subject. In Part 5 of the series the author uses a relational schema to explain how ...
5
votes
1answer
918 views
Designing generic render/graphics component in C++?
I'm trying to learn more about Component Entity systems. So I decided to write a Tetris clone. I'm using the "style" of component-entity system where the Entity is just a bag of Components, the ...
5
votes
1answer
439 views
Component/Entity-based design + Behavior Trees => how to integrate?
For my current project I implemented a component/entity-based system, basically following most of the best-practice there is in this rather undefined area.
So I got (slightly extended) Entities, ...
5
votes
1answer
696 views
How would you design components for an entity like this?
This is not a question about how to implement a component based system. I have my own system implemented and working fairly well, just can't figure out a good way to split some entities to fit the ...