Ashley 1.1.0 released

ashley-small

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.getFamilyFor() to 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!

Finally, Ashley has a logo

ashley-small

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 javadocs and wiki

Ashley, your favourite entity framework now has online javadocs and a wiki.

Wooohooo!

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!

Super Jumper Ashley remake

super-jumper-ashley-big

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.

Libgdx setup tool now supports Ashley

gdx-setup ashley

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: com.badlogicgames.ashley:ashley:1.0.1
  • Android project: com.badlogicgames.ashley:ashley:1.0.1
  • GWT project: com.badlogicgames.ashley:ashley:1.0.1:sources

Remember that using Ashley in non Libgdx projects is also perfectly fine.