Original Post
Alright, if you haven't heard of Entity Systems before, here are a few links that got me started:
http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/ - A really helpful series on Entity Systems
http://entity-systems.wikidot.com/ - The ES wiki
http://gamadu.com/artemis/ - An ES framework similar to the one I'm using now.
So if you have heard of them, my question is this:
How do you get complex behaviour out of an Entity using Systems and its Components alone? An example: say your Entity is a spaceship for all intents and purposes. Each spaceship might have a different weapon, and so fire bullets in a completely different way. How can you give it a data-only component that describes exactly how it fires bullets?
Or think of its AI (in the game dev sense), how can you describe how it moves and when it fires based solely on its components?
I'm not sure if there is a clean way to do it, but at the moment it's causing me significant trouble. I have like three git branches doing it different ways and I hate them all.
http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/ - A really helpful series on Entity Systems
http://entity-systems.wikidot.com/ - The ES wiki
http://gamadu.com/artemis/ - An ES framework similar to the one I'm using now.
So if you have heard of them, my question is this:
How do you get complex behaviour out of an Entity using Systems and its Components alone? An example: say your Entity is a spaceship for all intents and purposes. Each spaceship might have a different weapon, and so fire bullets in a completely different way. How can you give it a data-only component that describes exactly how it fires bullets?
Or think of its AI (in the game dev sense), how can you describe how it moves and when it fires based solely on its components?
I'm not sure if there is a clean way to do it, but at the moment it's causing me significant trouble. I have like three git branches doing it different ways and I hate them all.