libgdx / ashley

A Java entity system inspired by Ash & Artemis.
Apache License 2.0
873 stars 144 forks source link

Component Dependency Matrix #66

Closed junkdog closed 9 years ago

junkdog commented 10 years ago

Been a real busy past couple of days - I'll probably have some time tomorrow though, but I wanted to check some things first.

Since Artemis and Ashley are anatomically more or less the same, I'm pretty sure we could get away with replacing strings for class and method signatures, stock classes etc, only requiring a minimum of changes to the code itself. As such, it feels stupid to split the code into two, as I'm assuming that neither framework will undergo radical changes to its foundation/core conceptual design.

Would it be ok, meaning would you be comfortable, with the CDM code continuing to reside in its current artemis-odb repo? I could move it out, into its own repo ofc, but if you don't mind, I don't mind (less maven repos to maintain).

If so, the only things required for ashley - except the aforementioned modifications - would be a maven plugin, simple cli tool and maybe gradle plugin - so that it can be jacked into the build process. I've never dabbled with gradle before, but it should be relatively easy - all the work is in handled by the CDM codebase. CLI and maven were super-simple.

junkdog commented 10 years ago

Would it be ok, meaning would you be comfortable, with the CDM code continuing to reside in its current artemis-odb repo?

I take it back - I just realized it could interfere with artemis' release cycle (I'm too lazy to work on feature branches) and all artemis artifacts are released at the same time. I suggest migrating the code to a new repo instead, it's cleaner anyway.

Edit: junkdog/ecs-matrix

dsaltares commented 10 years ago

I wouldn't have minded having it with artemis-odb but a separate repository makes more sense I guess. I see you've already done that. Thanks a lot!

Looking forward to see it working with Ashley.

junkdog commented 9 years ago

Sorry, this one always managed to sneak under my radar. It should be in a usable state now though: https://github.com/junkdog/ecs-matrix - I'll publish the maven artifacts tomorrow, unless you have any input?

junkdog commented 9 years ago

Published 0.1.0. There's currently only a CLI tool, but it's really easy to write either a gradle or maven plugin, generating the matrix as part of the build. Just a matter of adding the matrix-ashley dependency.