Just under a month of the first official release we are ready to release a new stable version: Ashley 1.1.0. Here is the list of changes.
- Performance improvements: massive performance gains with O(1) component retrieval through
ComponentMapper and the use of
Array<Entity> rather than
IntMap<Entity>. Unfortunately this changes the API slightly, but hopefully you guys will appreciate the benefits.
- Complete Ashley manual: now the wiki has a lot more content, it fully covers Ashley. The rest is sugar.
- API Cleanup: renames
Family.getFor() for simplicity.
- Configurable pools:
PooledEngine now accepts the initial and maximum sizes for the entity and components pools. This will add a lot more flexibility to bigger games.
- Libgdx 1.3.0: Ashley now depends on gdx-core 1.3.0.
Keep the feedback coming and happy coding!
Ashley now has a logo and it’s awesome! What an amazing contribution.
This is really good news because Ashley lacked an image to make it a bit more memorable. Now back to work, there will soon be a new release. Despite it involving some API changes, it will make for a much faster framework.
Ashley, your favourite entity framework now has online javadocs and a wiki.
The javadocs correspond to the latest repository snapshot. Our Jenkins instance grabs the code, runs the tests, builds the jars and publishes the javadocs to the badlogic.com server. Kudos to Mario for the setup.
I just started putting stuff into the wiki yesterday so it’s pretty empty as of now. Expect more content soon!
Ashley Super Jumper has been my weekend project. It is nothing more than a clone of the Libgdx demo game. The catch is that it goes for an entity system approach rather than the classic inheritance model. Naturally, it uses Ashley.
The point was to have a reference project folks could check out in order to understand how entity systems in general and Ashley in particular work.
Maybe one day, I’ll post a proper article explaining the design behind the entity systems at play in Super Jumper. I guess that could be useful.
Last night I added Ashley support to the official Libgdx setup tool. Creating Libgdx projects that use Ashley entity framework is now even easier. Simply make sure you tick the Ashley checkbox before generating your project.
By the way, if you already have a a project, adding the extra dependency is also trivial.
- Core project:
- Android project:
- GWT project:
Remember that using Ashley in non Libgdx projects is also perfectly fine.