Tag Archives: games development

Ashley 1.3.1 released


Small stability release for Ashley entity framework this time.

Bug fix: fixed IllegalArgumentException thrown when trying to remove components from an already reset entity. The call has no effect now. Thanks for that SgtCoDFish.
Bug fix: fixed family match failure due to silly silly hashing.
Bug fix: fixed entity.getId() always returning 0 for recycled pooled entities.
Bug fix: fixed nested iteration problem caused by adding/removing entities from an entity added/removed listener handler.
Bug fix: fixed missing type error in GWT when using PooledEngine. GWT should be quite smooth now.

The new nightly dependency is com.badlogicgames.gdx:ashley:1.3.2-SNAPSHOT.

Big thanks to everyone who reported issues and especially to those who also contributed with PRs. Keep it up!

Ashley 1.3.0 released


Time for another Ashley entity framework release! This time, the focus has been on stability by getting rid of as many bugs as we could find. Check all the new goodies below.

  • API addition: adds IntervalSystem and IntervalIteratingSystem, which are updated at a fixed interval.
  • API addition: adds getEntities() to IteratingSystem and IntervalIteratingSystem.
  • API change: entities use long as ID. Changes entity.getIndex() for entity.getId(). Ids are reset to 0 after the entity is removed from the engine.
  • Bug fix: we finally got rid of the issues related to deleting entities and adding/removing components mid system processing.
  • Bug fix: fixes problem with removing pooled entities.
  • Bug fix: fixes pooled entities not being fully reset.
  • Bug fix: fixes broken GWT compatibility.

The new nightly dependency is com.badlogicgames.gdx:ashley:1.3.1-SNAPSHOT.

As usual, open a new issue if you find anything that’s not working properly and feel free to submit a pull request!

Libgdx Cookbook Git repository evolution

As I have mentioned before, I have been working on a book titled Libgdx Cross-platform Game Development Cookbook, which is set to be released next month.

Me and my co-author Alberto used a Git repository throughout the text and sample code development process. Using Gource, I have created a video that illustrates the repository’s evolution. Neat, isn’t it?

For those interested, here are the options I used.

gource -1280x720 --seconds-per-day 0.5 --auto-skip-seconds 0.5 --key

Ashley 1.1.0 released


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 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.