123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- = interviews
- :revnumber: 2.0
- :revdate: 2020/07/15
- == 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
- . Initial philosophy
- . Pure data or not?
- . Multi-threading, concurrency enable or not?
- . Communication: Event messaging enable or not?
- . Is database (and other kind of persistent) friendly or not?
- . Is enterprise friendly (expandable/ extensible/ modulizable) or not?
- . Script possibilities?
- . Restrictions and limitation
- . Dependencies
- . 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 xref:es/entitysystem/points.adoc[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
- GoogleCode: link:https://code.google.com/archive/p/artemis-framework/[https://code.google.com/archive/p/artemis-framework/]
- Website: link:http://gamadu.com/artemis/index.html[http://gamadu.com/artemis/index.html]
- Wiki: link:http://entity-systems.wikidot.com/artemis-entity-system-framework[http://entity-systems.wikidot.com/artemis-entity-system-framework]
- ==== Short conclusion
- Artemis approach
- . Initial philosophy : Lightweight, small footprint and 1.5+
- . Pure data: No
- . Multi-threading, concurrency: with care
- . Communication: Event messaging enable or not? No implementation yet
- . Is database (and other kind of persistent) friendly or not? No implementation yet
- . Is enterprise friendly (expandable/ extensible/ modulizable) or not? Not clear but because not pure data, consider Yes
- . Script possibilities? Yes
- . Restrictions and limitation: Custom System has to be extends base System; Processor base; Aspect base, Has documented about Dependencies between System
- . External library dependencies : No
- . 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
- Forum : link:https://hub.jmonkeyengine.org/c/user-code-projects/zay-es[https://hub.jmonkeyengine.org/c/user-code-projects/zay-es]
- Wiki: xref:es/entitysystem/entitysystem.adoc[entitysystem]
- Links: link:https://hub.jmonkeyengine.org/t/zay-es-links-more-chars-because-forum-is-dumb/27135[https://hub.jmonkeyengine.org/t/zay-es-links-more-chars-because-forum-is-dumb/27135]
- // Interview: xref:jme3/contributions/entitysystem/interviews/zay-es.adoc[zay-es]
- [IMPORTANT]
- ====
- 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
- . Initial philosophy : Lightweight, small footprint and 1.5+
- . Pure data: Yes
- . Multi-threading, concurrency: free, by design, but still _need better design contract_
- . Communication: Event messaging enable or not? No implementation yet
- . Is database (and other kind of persistent) friendly or not? No implementation yet
- . Is enterprise friendly (expandable/ extensible/ modulizable) or not? Not clear, _lack of design contract_
- . Script possibilities? Yes
- . Restrictions and limitation: Free of System implementation, but _lack of design contract_
- . External library dependencies : No
- . 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
- === EntityMonkey : @zzuegg
- Post: link:https://hub.jmonkeyengine.org/t/entitymonkey-a-simple-entity-system-for-jme/23235[https://hub.jmonkeyengine.org/t/entitymonkey-a-simple-entity-system-for-jme/23235]
- // Interview: xref:jme3/contributions/entitysystem/interviews/em-es.adoc[em-es]
- === Private : @Empire phoenix
- // Interview: xref:jme3/contributions/entitysystem/interviews/emp-es.adoc[emp-es]
- == Others
- === Java & Java extension
- ==== Spartan: [used for Slick. abandoned]
- GoogleCode: https://code.google.com/archive/p/spartanframework/[https://code.google.com/archive/p/spartanframework/]
- === Not Java
- ==== C++
- ==== JavaScript
- ==== C#
- ==== ActionScript
|