Category Archives: Games development

Libgdx Cookbook samples updated

libgdx cross platform development cookbook

It’s been a few months since Libgdx Cross-platform Game Development Cookbook came out. Quite a few things have happened since then in the Libgdx world, libraries are updated and some things break over time.

As promised, we have updated our samples repository to use the latest versions of Libgdx (1.5.5), Ashley (1.4.0), gdx-ai (1.5.0) and RoboVM (1.0.0) among others. Luckily enough, only a few changes were necessary to make everything work again.

I’m very pleased to see that, 5 months after the book came out, it’s still as relevant as it was on launch day. Moreover, people seem to like it!

This cookbook is certainly a great resource for learning and improving your libgdx skills and in my opinion it is the best book on libgdx at the moment […]

Ashley 1.4.0 released


A new version of Ashley, your favourite component based entity framework is out. The 1.4.0 version comes with a bunch of bug fixes that, hopefully, will iron out some of the rough edges in Ashley.

  • API deprecation: finallt removed the Family.getFor() methods. In order to retrieve a family, you can do Family.all().one().exclude().get().
  • API change: makes family Builder package protected.
  • Bug fix: EntityOperation and ComponentOperation are now properly reset when put back into their pools. This doesn’t affect the API at all and it’s an implementation detail fix.
  • Bug fix: fixes PooledEngine always returning new components.
  • Bug fix: fixes GWT build.
  • Bug fix: avoids removing a PooledEntity twice.

To use it, change your dependency to com.badlogicgames.gdx:ashley:1.4.0. The new nightly dependency is com.badlogicgames.gdx:ashley:1.4.1-SNAPSHOT.

As usual, all unit tests are passing and the wiki is up to date. Please keep up the good work sending more pull requests and reporting bugs.

Libgdx at the LJC: slides and video


Yesterday, I had the pleasure to deliver a talk about Libgdx at the London Java Community Meetup. To my surprise, there was a pretty decent turnout. The audience was lovely, seemed engaged and asked quite a few questions. No awkward silence at the end…


Thanks a lot to everyone who attended, and to the organisers who made it possible. We must catch up next time at the pub afterwards!

If you’re in the London area, you should definitely join the Meetup group and attend some of the talks. The atmosphere is friendly and there’s at least one every week, the next ones are on Ceylon and design patterns.

Here’s the video and the slides:

Ashley 1.3.3 released


As you can see, Ashley development has slowed down a bit. I would like to think it’s because we have a feature rich and stable framework rather than people having lost interest! Anyhow, there’s still been quite a bit of progress, enough to warrant a new release.

Ashley 1.3.3 is now out.

  • API addition: added getEntity() method to Engine, it is now possible to retrieve entities by their ID. This will ease networked entity systems.
  • API addition: added getEntities() method to Engine, which returns an immutable array of all the entities registered with said engine.
  • Bug fix: remove old component when adding a new one of the same type to an entity.
  • Bug fix: fixes component not being added to an entity when done from an entityRemoved() family entity listener handler.

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

All unit tests are passing, the wiki is up to date and life is good. Enjoy Ashley and don’t forget to report anything that doesn’t work as expected.

Libgdx at Kingston University

kingston phones

Last Monday 24th of November I delivered a small lecture about Libgdx at Kingston University of London. This complements Alberto’s Libgdx workshop at Cadiz University last week as part of a series of activities to promote Libgdx and our recently released book.

I talked about what Libgdx can offer developers as well as the advantages of using open source tools as opposed to proprietary technologies, especially when it comes to students. Just like in Alberto’s talk, we gave two copies of our book away to a couple of lucky students!

Sadly, no pictures were taken this time round, you’ll have to take my word when I say that quite a few people showed up. Thanks for that!

As promised, here are the slides in case anyone is interested.