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 be that resource intensive. I have always used standard OOP with a lot of inheritance in the past.
My understanding of the Entity System Framework right now (I am not sure if I grasp it completely yet) is:
- Entities are nothing but ID's
- Components are nothing but dumb data added to an entities component pool
- Systems are update functions that are attached to the world to handle every entity that matches the Systems component signature
If my understanding is correct then I am having quite a bit of trouble conceptualizing adding tilemaps and AI Behavioral Trees into this framework. I will ask about AI in the future.
Should a tilemap be built into this framework? Or should it be kept separate to make it easy to generate with a tilemap editor?
If the tilemap should be built into this framework, is each tile a different entity? And the tilemap a system? Or is the tilemap itself a single entity with inheritance built off of it?
If the tilemap is sperate, what would be the best way of collision detecting entities against the external tilemap?
I understand that multiple options that I have listed might be correct, but if anybody has done this in the past they might be able to shed some light on my confusion. Maybe there is another alternative that I have not thought of?