Component-Based Entity Systems in Spielen (text is in German)
The text is a very nice description of entity component systems, and quite similar to my recent news post More about Component Systems of January 2014 (see our News and Announcements for related posts and follow-ups).
The authors present some additional details that are slightly different from ours, but the crucial elements, namely using aggregation rather than class hierarchies for feature "management", and using flexible means for managing each component's data (variables), exactly match ours.
In summary, the text is a great additional view on component systems. Comparing its details to ours is interesting and provides additional perspective and insights.
The article's author, Nick Pruehs, also wrote and talked about entity component systems in his blog. His earlier posts and slides feature the same content as the above article, and are all in English:
- http://www.npruehs.de/one-does-not-simply/ is the related blog post that in turn is linking to:
This one is fairly in-depth, including working examples, but is also explained in enough of an overview to not be too heavy for someone new to the subject:
This is a great explanation where you can program a game along with the tutorial in Xcode to get an understanding of the principles. Great for beginners.
http://www.raywenderlich.com/24878/intr ... e-in-games
This one has a brief look at component and other game system ideas, and also has some reference material at the bottom in links which is more informative on individual details.
http://www.randygaul.net/2013/05/20/com ... ne-design/
My motivation was indeed to collect good articles and documentation about entity component systems, because, although they're simple enough with plenty of hindsight, it can be quite difficult to see their virtue (and take a lot of convicing) when you "grew up" with class-hierarchy entity systems.
Also, there are several ways to deal with the "meta-considerations" of entity systems, such as the interactions and dependencies among components, whether behaviour (code) should be stored in the components or in dedicated "systems", events passing and handling, and a few other details. The articles describe several approaches to these points, and it's good to have them on record in case one may want to have another look at them at a later time.
Users browsing this forum: No registered users and 1 guest