JALSE is a lightweight entity framework for simulation written in Java 8. The framework is used to create a dynamic living data-model for your entity based simulation or game. By default all JALSE entities can have their attributes and child entities concurrently processed and mutated (no need for additional synchronisation).
JALSE takes entities one step further by allowing the user to create Entity types. Unlike classic Java objects JALSE entities can have multiple types and 'casting' to another type causes no issues (just null fields). As well as making use of typing (cow.isMooing()
) entities can be grouped and processed by entity type. Inheritance still is at play here so I can be sure to feed()
every Animal
but only moo()
a Cow
!
Use JALSE for when you need to start processing a large number of entities or if you want a structured way to increase the level of detail kept about an entity (rather than adding yet another field).
Founded by Elliot Ford
Documentation
See the Wiki for full documentation, examples and project information.
See the API docs.
Getting the latest release
JALSE releases and (SNAPSHOTs) are published to maven central (http://search.maven.org/).
Example for Maven:
<dependency>
<groupId>com.github.ellzord</groupId>
<artifactId>JALSE</artifactId>
<version>1.1.0</version>
</dependency>
Example for Gradle:
compile 'com.github.ellzord:JALSE:1.1.0'
Links
- Example projects
- Code snippets
- How to contribute
- Have bugs or questions?
- Class diagram
- Technologies we use
- Example use cases
Licence
Code is under the Apache Licence v2.