My first attempt at spriting. Took me 10 minutes. I figured going 16×16 would be easiest to start with, a lot less pixels to fill. Enter Bob:

Now i need to figure out how to animate that sucker. I want him to walk, then i want him to run, then i want him to shot a gun and finally i want him to explode.

Hints and links welcome!

Say Hello to Nate

Nate joind the libgdx effort a while back (feels like years already…). He’s previously been working on this own cross-platform lib called skorpios but eventually decided to join the dark side of libgdx. He’s in charge of the TWL backend and the new particle engine and editor (yes we have an editor :)). I make him blog about that stuff cause i know nothing about it. Here’s the standard interview questions with answers from your most beloved contributor Nate.

me: Who the fuck are you?
Nate: Just another indie game developer trying to make it big. I had started my own Android/desktop OpenGL API, Skorpios, but didn’t find a lot of time to work on it. libgdx is farther along so I decided to join forces, and by that I mean Mario can fix all the shitty code and bugs I check in.
me: Why do you deserve being on this blog?
Nate: I guess because I spend all my damned free time working on libgdx!
me: So what are you going to force down our throats?
Nate: Let’s see, so far: source code format, LWJGL backend, Sprite class, font rendering, the TWL GUI library, particle emitters, GLCommon. Next is probably something with image packing, spritesheets, animations, and maybe animated particles.
me: Any projects you got cooking?
Nate: Instead of working on libgdx, I’m supposed to be finishing my RTS game, Arcane Tactics. From my OSS projects, the most relevant to this blog is KryoNet (, an Android compatible networking lib. Here’s a robot with an Nexus One brain, remote controlled by KryoNet ( Somewhat less related projects:
Scar ( for building Java apps. Package applets and JWS without wanting to kill yourself.
MinLog ( for zero impact logging.
YamlBeans ( for human readable object graphs.

me: Last words?
Nate: Sure, here is a pic of my bitch:

Fixed-point support in ligbdx (and FileType.Internal)

So, this is something i’ve been post-poning for quite a while. Libgdx wraps the full GLES 1.x and 2.0 APIs. This means that it also supports the fixed-point features of GLES 1.x. Benchmarks on actual devices have shown however that you don’t really get any performance gain with fixed-point. On newer devices there’s even a small negative impact associated with fixed point data.

On the desktop i had to jump through some hoops to actually support fixed point data which made some things overly complex.

I therefore propose the following: libgdx 0.71 will drop support for all fixed-point OpenGL ES 1.x methods. Use the poll in the side-bar to vote for or against that.

In other news: we plan on changing the semantics of FileType.Internal a little bit. We recognize that having assets directly in the jar is the standard behaviour for Java SE applications on the desktop, more so for applets. We therefore will change the semantics of FileType.Internal on the desktop. If you open a file with that type it is first searched in the classpath. If that fails the root directory of the application is used, as was the case until now. This allows us to get rid of the seperate applet backends and merge them with the jogl and lwjgl backends. Less code, smaller jars and everyone is happier.

Edit: Nightlies are back up. Get them at Thanks again to the kind folks at l33tlabs and Matthias Mann of TWL fame for the CI server account and all the help.