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.

learn more… | top users | synonyms

7
votes
1answer
1k 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, ...
6
votes
5answers
1k 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
4answers
4k 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
6answers
4k 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
895 views

How do I sync entity ids with the server and client?

I'm continuing my experimentation with entity component design by making a multiplayer space/trading/combat game with python and panda3d. My component system is a simple version of java's artimis. The ...
6
votes
2answers
437 views

Why are entities in a component system composed at run time?

Why are entity component systems the way they are? For example as far as I have seen it may look like this class Entity list of components add component remove component update ...
6
votes
4answers
2k 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
1answer
758 views

How would one store global context data in an entity component system?

My question is this: How would one store global context data, ie. world data information, current world time, etc in an entity component system? I'm think of working towards building a Dwarf ...
6
votes
2answers
4k views

Functional reactive programming (FRP) in games. Some doubts and thoughts

These days I'm doing some research on Component based entity systems. I had a first aproximation using a blackboard pattern at Entity level and components sharing this blackboard to do communication. ...
6
votes
2answers
660 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
2k 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 ...
6
votes
3answers
799 views

Entity Component System for HUD and GUI

This is a very rough sketch of how I currently have things designed. It should, at least, give an idea of how my ECS is currently designed. If you notice in that diagram, I have basically split ...
6
votes
0answers
567 views

Techniques for incorporating physics engines like Box2D into a Component-based Entity System [closed]

Currently i'm working with my own physics engine, however given the fact that the emscripten ports have gotten incredibly good, i wanted to try and incorporate Box2D into my entity system for the next ...
5
votes
3answers
579 views

Modeling “singletons” in an Entity-Component System

I'm writing a basic Asteroids implementation as an exercise in learning how to think in entities and components, and most of it is fairly straightforward. But one thing I keep running into is ...
5
votes
4answers
1k 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
1answer
2k views

Why would typeof(T) kill performance?

TLDR: using typeof(T) twice; assigning the value to a variable and reusing that = uber fast (30FPS), actually calling typeof(T) twice = derped (5FPS). Why? I have a simple entity/component system; ...
5
votes
4answers
2k 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
5answers
1k views

How can I efficiently implement a bitmask larger than 64-bits for component existence checks?

In my ECS implementation, I use bit-wise operations (as described and illustrated in this thread) to tell an entity what type of components it currently consists of. So my Entity class has the ...
5
votes
3answers
352 views

Mismatch of Entity System and Savegames

There is a theoretical mismatch of the entity system and the savegame system, which is think is common, but I haven't found resources about that. Therefore I will explain both systems first, as short ...
5
votes
1answer
2k views

Using an Entity System Architecture with Task Based Parallelism

Background I have been working on creating a multithreaded game engine in my spare time and I currently trying to decide the best way to work an entity sytem into what I have already created. So far, ...
5
votes
1answer
951 views

What are the drawbacks of this messaging system implementation?

So I've just been thinking about component and messaging systems recently for simple C# XNA games and came up with this. How extensible would this implementation be and what are the drawbacks? Example ...
5
votes
2answers
2k 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
369 views

How can I achieve strong typing with a component messaging system?

I'm looking at implementing a messaging system in my entity component system. I've deduced that I can use an event / queue for passing messages, but right now, I just use a generic object and cast out ...
5
votes
1answer
880 views

Entity component system - where did attributes and behaviors come from?

I recently spent quite some time understanding and building a component-based system. I got stuck on a few problems and after searching for quite some time ran across this answer which is talking ...
5
votes
2answers
2k views

Entity Component System: Retrieving components quickly [duplicate]

Possible Duplicate: Retrieving components from game objects (entities) I'm working on an entity-component-system game at the moment. I've looked in particular at the Artemis framework and a ...
5
votes
3answers
1k 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
584 views

Box2D Joints in entity components system

I search a way to have Box2D joints in an entity component system, here is what i found : 1) Having the joints in Box2D/Body component as parameters, we have a joint array with an ID by joint and ...
5
votes
2answers
387 views

How to model interentity membership in entity-component architecture?

I'm falling in love with simple grace of entity-component design, although I still have issues breaking from MVC and OOP practices. Some of my game entities have membership relationships with each ...
5
votes
3answers
1k views

When two moving objects collide, which one sends the message, and which one recieves it?

I am writing a platform game using an entity-component system. Entity-World collisions are robust and work very well, and I'm now working on collisions between entities. Just to be clear, in my code ...
5
votes
1answer
982 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 ...
5
votes
1answer
225 views

Intersystem communication in a ECS game

Apologies if this question has been answered before, but after relentless searching I couldn't find anything. As many, I've recently jumped on the ECS-bandwagon, and I am currently killing some time ...
5
votes
1answer
288 views

Design to handle logic within a state

I am designing a new game and I am trying out the entity-component design where entities are comprised of groups of components holding a bunch of attributes. I also have a stack of 'game states' and ...
5
votes
2answers
1k views

Checking for Weapon Collision in a 2D overhead RPG game

I'm starting development on a 2D overhead RPG game, and am wondering what the best approach for handling weapon collision and dealing damage to enemies is. I'm currently using a basic ...
4
votes
2answers
628 views

Stroring components in arrays (entity component system)

I'm looking for ways to improve my ECS and I've seen many people suggest storing components in arrays. This seems great, considering fast access for a component using entity id and more importantly, ...
4
votes
2answers
301 views

Target a specific Entity in a Component-Entity design

I'm starting to work on a game with Entity-Component Model Architecture (Artemis in C#). I'm beginning with something pretty simple, entities which are living things, with HealthComponent, ...
4
votes
2answers
2k views

Allocating Entities within an Entity System

I'm quite unsure how I should allocate/resemble my entities within my entity system. I have various options, but most of them seem to have cons associated with them. In all cases entities are ...
4
votes
2answers
509 views

Entity systems with mixed responsibilities (eg render + handle input)

I am using an entity system for my hobby game, specifically the Behaviour / Attribute model discussed in Radical Entertainment's Theory and Practice of Game Object Component Architecture presentation. ...
4
votes
1answer
2k views

In a component/entity system, what's the correct way to implement entity-specific components?

I'm trying to create a basic C/E game engine for Android, and I'm trying to re-create pong as a basic warm-up. I currently have a EntityManager class that contains a list of all the UUIDs for its ...
4
votes
1answer
170 views

EventManager adding data to the event message

Some backstory: I decided it was time to start making a game. I've got a bachelor degree in computer sciences, but I didn't really get to code much during my studies. I've started making a quick ...
4
votes
1answer
537 views

Managing Game Entity coordinates

In my Game I'm currently have "Scene Coordinates" which are the X,Y coordinates relative to a Game Scene. In that Scene there are Game Entities, let's say there's a GameEntity A in x=100.0, y=100.0 ( ...
4
votes
1answer
226 views

What are Blackboards?

I am implementing an Entity System for my game. I am aiming for a larger procedurally generated world. The world will be filled by AI entities where "on screen" and "near screen" entities will be ...
4
votes
2answers
326 views

How can I provide attribute extensibility in a component-based entity system?

This question and its answers move against utilizing an entity component system where the component itself is just a generic class with an dynamic container for the attributes/properties of the ...
4
votes
2answers
932 views

Where to generate data in an Entity-Component System?

So I'm making a small game where I generate 2D landscape using perlin noise when the game first loads. I've got it working in a OO way, but want to move over to an ES architecure, and I'm just ...
4
votes
2answers
326 views

Storing Entity Meta-Data

The question is about how to handle data about entities, but not particularly useful to the entity itself. An example of such data may be the external script that controls the entity's behavior or the ...
4
votes
1answer
355 views

A few questions about entity states

This is the first time I'm trying to make a 2D game, so I'm having quite a few difficulties in getting things right. Right now I'm trying to figure out exactly how the entity state machine should ...
3
votes
5answers
2k views

How should IDs be assigned in an entity component system?

I haven't actually implemented this system yet. I'm trying to work through the major conceptual hurdles before I actually start writing code, and the proper way to generate IDs is a little confusing ...
3
votes
3answers
246 views

How do I deal with different “types” of entities in Entity-Component-System model?

I have CollisionSystem which basically iterates through the array of PhysicsComponent and checks if there was some collision between two entities. But where should interaction code go? And how should ...
3
votes
2answers
648 views

Alternatives to storing all my entities in an SQL database

I've been trying to build my entity system based on pure SQL data storage as explained in this post series. The idea is that every entity or component is stored in an SQL table. I created my framework ...
3
votes
4answers
316 views

Sprite and Physics components or sub-components?

I'm taking my first dive into creating a very simple entity framework. The key concepts (classes) are: Entity (has 0+ components, can return components by type) SpriteEntity (everything you need to ...
3
votes
3answers
2k views

SceneManagers as systems in entity system or as a core class used by a system?

It seems entity systems are really popular here. Links posted by other users convinced me of the power of such system and I decided to try it. (Well, that and my original code getting messy) In my ...