interviews

ES Approaches

Entity System implementations are various!

As said, we are talking about Component oriented programming Entity System, implemented in an Object oriented programming language and environment like Java!

So,we are

  • not talking about Groovy, Scala, Closure.. or any Java extension!

  • not talking about Entity system in any scope other than in a real-time application!

  • focusing in 'core' features, which exclude many specific usecases

  • trying to be unprejudiced , impersonal to make equitable judge.

Outline

  1. Initial philosophy

  2. Pure data or not?

  3. Multi-threading, concurrency enable or not?

  4. Communication: Event messaging enable or not?

  5. Is database (and other kind of persistent) friendly or not?

  6. Is enterprise friendly (expandable/ extensible/ modulizable) or not?

  7. Script possibilities?

  8. Restrictions and limitation

  9. Dependencies

  10. Current status: Long term, stable, community?

The comparisons will focus in these below points, follow with the scope, status of each projects Detailed explanation of above points points

ES projects interviews

These interviews are short but focus discussion to help you get a clear view of underlying implementation of each project.

Artemis: General

Short conclusion

Artemis approach

  1. Initial philosophy : Lightweight, small footprint and 1.5+

  2. Pure data: No

  3. Multi-threading, concurrency: with care

  4. Communication: Event messaging enable or not? No implementation yet

  5. Is database (and other kind of persistent) friendly or not? No implementation yet

  6. Is enterprise friendly (expandable/ extensible/ modulizable) or not? Not clear but because not pure data, consider Yes

  7. Script possibilities? Yes

  8. Restrictions and limitation: Custom System has to be extends base System; Processor base; Aspect base, Has documented about Dependencies between System

  9. External library dependencies : No

  10. Current status: Long term, stable, community? The earliest Java ES, more than 3 years, kind of inactive, has a forum.

Read the full review for details

Zay-ES : @pspeed

Wiki: entitysystem

In my POV, Zay-ES has the most active development status and also the maintainer is a core JME3 dev, that’s why all its functions and wisdom are close to JME3!

Short conclusion

Zay-ES approach

  1. Initial philosophy : Lightweight, small footprint and 1.5+

  2. Pure data: Yes

  3. Multi-threading, concurrency: free, by design, but still need better design contract

  4. Communication: Event messaging enable or not? No implementation yet

  5. Is database (and other kind of persistent) friendly or not? No implementation yet

  6. Is enterprise friendly (expandable/ extensible/ modulizable) or not? Not clear, lack of design contract

  7. Script possibilities? Yes

  8. Restrictions and limitation: Free of System implementation, but lack of design contract

  9. External library dependencies : No

  10. Current status: Long term, stable, community? more than 2 years, open source recently, active, has a forum in Jmonkey’s hub.

Read the full review for details

Private : @Empire phoenix

Others

Java & Java extension

Spartan: [used for Slick. abandoned]

Not Java

C++

JavaScript

C#

ActionScript