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