ArtemisD: A D port of Artemis Entity System Framework for games.
Kiith-Sa
kiithsacmp at gmail.com
Fri Oct 11 12:50:41 PDT 2013
A component-entity architecture has two main advantages;
one of them is efficiency/cache locality (which this project
doesn't have at all). Another is the ability to quickly define
new types without the clusterfuck that happens if you try to use
OOP to design game entities (and also to define them in plain
data types).
This thing is ported from Java where performance didn't seem to
be a concern (even though they're calling it 'lightweight' for
some reason). There are even component-entity frameworks for
Ruby, Actionscript, etc, where there is no way at all to utilize
cache locality.
I think this might be useful if you're creating a game that
doesn't need the best graphics and when a little latency isn't a
problem (e.g. turn-based strategy, adventure, etc.).
(I'm not the developer of artemisd, but I'm working on a similar
design, although with a bit more compile time, cache-aware and
hopefully auto-threadable; but also much less flexible, more
'purist' (not likely to be released as a separate library,
either))
More information about the Digitalmars-d-announce
mailing list