In the previous post I described my issues with a component-based entity system I used when working on ICE. The most important of these was probably the inability to split the entity system into multiple threads.

Tharsis is my attempt to design an entity component framework without these limitations. Tharsis is a stand-alone project, not tied to any single game. Its main goals are:

The design of Tharsis also has other advantages, such as type safety (utilizing compile-time features of the D language), MultiComponents and serialization of entities.

I hope to write a series of posts describing Tharsis and its development as I add new features. Meanwhile, if you need a D component entity system right now, check out ArtemisD.