Overlap2D, a level editor for LibGdx Open Source

overlap2d level editor

Level Editor

A level editor for LibGdx is a rocky topic.

Coming from the Android world, I thought a clever move would have been sticking to Java for game development. Unfortunately, the panorama of level editing software for this language is still really poor. Many game engines, like Unity, contain awesome integrated solutions, stable and rock-solid for creating complex levels.

You will find a totally different scenario if you decide to develop your game using Java and LibGdx.

A stable level editor recognised from the community is somehow still missing in the LibGdx ecosystem. The choice is limited and some of them are not maintained anymore or unstable.

The top 3 most promising:

Far from being production ready, I decided to give it a shot with Overlap2D.

Now at its 0.1.3 version.



Even if not super stable, I have to admit I enjoyed using this editor. The learning curve is smooth and several tutorials are available on a youtube channel

A big problem I had, was related with rotations applied to a physical body, that feature was not working properly so I had to spend a while in the code base to figure out a solution and gladly the overlap team accepted my pull request 🙂

Among the changes, I decoupled overlap2D from physics and light, so now there is a way for managing outside the engine this two elements.

The project is open source available on GitHub.


Among the drawbacks that I found so far: the resizing. Sometimes after a window resize the editor becomes unusable. All the UI elements will become somehow misaligned with the mouse pointer. This is very frustrating and I hope the team will try to fix this really annoying issue.

The community forum is still small and sometimes the feedback may arrive after a while.


Overlap2D is not ready for big productions, but it can be a good solution for Indie Devs or small games based on LibGdx. Being open source is a big plus.

VisEditor looks promising also. It worth mentioning that Overlap2D is based on VisEditor.

I hope the community will embrace the potential of one of these two.

Considerations are always welcome.

If you have a direct experience with a level editor for LibGdx let me know in the comments below!




Character animation made with Spine2D

Main character animation completed!

The gif looks a bit clunky but it’s probably the acquisition software. The runtimes are based on LibGdx and render perfectly smooth on Mac, Window, Android and iOS.

Spine2D and LibGdx runtimes

The software used for the animations is Spine2D from Esoteric Software, it’s not free but it worth every penny! The UI is user-friendly and there is an awesome community behind in case of support.

The interpolations between every animation do the magic so the movements look always fluid and the spine-libgdx runtimes are stable and easy to use.

The character belongs to a game we’re working on at the moment, while the credit for the drawings goes to Yaara! A talented artist I have the pleasure to work with.

Even if the black background is just a placeholder, the environment will be intentionally dark.

The character is androgynous. It can be imagined as a boy or a girl, depending on the player, and I have to thank Yaara for this. The name of the character is still under discussion. I like Dexter, but suggestions are much appreciated 🙂

Character animation follows the pose-to-pose principle and this video provides a good explanation about it.

The final outcome will be post-processed with a shader effect for antialiasing so it will be even better in terms of quality.

I learnt a lot from this deep-dive into Spine2D but most of all I had loads of fun!

I’m proud of my main character but I’m sure this is just the first step of a long journey. I’m sure some minor tweaks will follow along the way and during the testing phase this week.

I need to make sure animation and antialiasing together are not too heavy on mobile devices.

Also, I want to put more effort on publishing content more often. New updates will come soon !!!