[Component Entity System] Components design

Started by
10 comments, last by InferiorOlive 10 years, 3 months ago

Hello,

I work currently with Java and Artemis on a small game.

I use an component entity system(Artemis) and Slick2D.

Now I wonder me, how I handle Entities like Terraria the Skelektron:

6r62ko89.png

It have 2 hands and one head, the hands and the head have own positions, transformations, sprites and health, but one entity can only have one component from each type.

Now I dont know, how I should handle this, should a make 3 different components(Thats bad, because they all have the same data) or what should I do ?

Advertisement
Is it possible to include components within components?

o3o

I would have three separate entities (one for the head, left hand and right hand) and each entity would have all the requisite components. I don't see much advantage in trying to cram the head and hands into one entity when they act as though they're separate entities (in that each has their own position/health).

There are two approaches really. The first, as Samith says above, is to separate it into three different entities. The second is the opposite and put them into one component.

I personally (looking at the screenshot) would veer more towards a single component, as you wouldn't normally create a character with their various appendages in separate components. All this is, is a character that just scaled up larger than the others. However, its mostly a matter of opinion and mine is based on a screenshot with no further details. For example, if the arms/hands move completely independently of the head then I would veer back towards separate entities.

n!

Is it possible to include components within components?

No.

Ok I think, I make 3 different entities.

Thanks.

Ok I think, I make 3 different entities.

Thanks.

But if someone have another idea, write it :D

Ok I think, I make 3 different entities.

Thanks.

But if someone have another idea, write it biggrin.png

Make them three component sand another entity the "nature of the beast"-entity and let it own the three with an ownage-component! Terraria the entity has a head and hands, also entites. So each could take damage and Terriaria after lossing hands and head could decide to respawn as a dog..

Is Entity a Component?
i.e. can an Entity own an Entity as a member?

Make them three component sand another entity the "nature of the beast"-entity and let it own the three with an ownage-component! Terraria the entity has a head and hands, also entites. So each could take damage and Terriaria after lossing hands and head could decide to respawn as a dog..

This approach is quote common in games where a boss encounter includes several NPCs that all share a common health pool or where certain fight mechanics shouldn't occur while another mechanic is currently active.

This topic is closed to new replies.

Advertisement