ArtemisD: A D port of Artemis Entity System Framework for games.
Kiith-Sa
kiithsacmp at gmail.com
Mon Oct 7 10:27:38 PDT 2013
On Monday, 7 October 2013 at 17:06:40 UTC, Kiith-Sa wrote:
> On Monday, 7 October 2013 at 15:21:00 UTC, Elvis Zhou wrote:
>> On Monday, 7 October 2013 at 14:19:20 UTC, Ali Çehreli wrote:
>>> On 10/07/2013 02:18 AM, Elvis Zhou wrote:
>>>
>>>> ArtemisD:
>>>> https://github.com/elvisxzhou/artemisd
>>>
>>> Just a little note: As it's more readable, you may want to
>>> use 1000.msecs instead of dur!("msecs")(1000) in the example
>>> program. 1000.msecs is the equivalent of the msecs(1000)
>>> function call, which returns dur!("msecs")(1000).
>>>
>>> Ali
>>
>> Done, thank you!
>
> I'm implementing pretty much the same thing in my project,
> although I'm probably
> more in line with the original blog post (e.g. every system can
> only access
> specific components of an entity, which are statically
> determined, entities are more lightweight, etc.). I'm using
> much less OOP and more of a generic/metaprogramming approach.
> Currently I'm trying to rewrite the code to add a concept of
> "past" and "future" state; a System processes past Components
> and outputs a future Component, past Components are const, and
> no two systems may write to the same future Component. This
> should allow very simple threading
> with little synchronization.
>
> I'll look at your code if there are interesting ideas.
>
> The previous version of my entity system is used in my ICE game:
>
> https://github.com/kiith-sa/ICE
>
> It's quite messy, though; which is why I'm rewriting it.
> The new version doesn't even compile at the moment, I'm working
> on it slowly as I'm studying and working at the same time right
> now.
>
> I'll look over the comment and post if I have any further
> feedback. The only thing I can say right now is that there is
> inconsistent tab-space indentation in some parts of the code
> (e.g.
> https://github.com/elvisxzhou/artemisd/blob/master/source/artemisd/entity.d
> )
*look over the code, not comment
More information about the Digitalmars-d-announce
mailing list