9

I'm searching some library which implement the Component Based Entity System (ECS) framework used in multiple game and implementend in many game engine (unity, libgdx, etc.)

I'm starting a little game project in scala ( ECS roguelike), and at this time i only find a java library named ashley.

Do you know if other ECS libraries (in Scala) exists, or if the only way is to use or reimplement this library in scala (ashley) ?

Another related question, the Actor paradigm and Component Based Entity System is not so distant, what is the difference ?

reyman64
  • 523
  • 4
  • 34
  • 73

1 Answers1

2

Regarding the question about differences with an Actor system, the purpose of an Actor system is to allow asynchronous communication between actors. i don't see anything in ECS which is related to asynchronicity. In fact, from one of your links:

Each system will be updated once per frame in a logical order

This implies synchronous, blocking progress through the program, so quite different from an actor system where the components would be sending each other messages in a concurrent fashion.

Regarding your need for an ECS library in Scala. Scala and Java are interoperable, is there any reason you can't simply use ashley within your scala code?

mattinbits
  • 10,370
  • 1
  • 26
  • 35
  • Because i love scala ? :) Now i want to use scala.js / scala for this game, so if i can avoid java, it's better. Perhaps a redevelopment of Ashley is possible "in not so many time ?" I study the question... – reyman64 Sep 14 '15 at 09:59