My experiences with LibGDX

Context

Before explaining my experiences I should put this post into context, both by explaining its reason for existence and by explaining where I as a developer am coming from, which I believe will offer some clues as to whether what I’m saying has any relevance (and I’m not arrogant enough to consider that it is). I should also explain that despite the bitching, I think LibGDX is fantastic. It’s really the best option out there, I’ve recommended it to other developers because this is what I believe. The cross-platform stuff is genuinely brilliant, way beyond my ability to do these things, and therefore I hugely appreciate the work done here.

I’m fairly new to the world of Java, having made the switch a few months ago from PHP. As I’ve been learning Java, I’ve put together the Koala Software project we see today. I’ve had about 20 years away from game development so I’m a little rusty, but confident that I have the skills to get back into the game. My Java skills won’t win any awards just yet but I’m getting there at a decent pace, helped by a day job coding Java.

Recently I have been developing a game with LibGDX with the aim of learning its workings ready for more advanced challenges ahead. The weekend just gone I had the pleasure of trying to get TiledMaps and LibGDX working together. It was an absolute nightmare. Were a swear jar to be placed next to my computer one imagines it would now be overflowing with coins. It was that bad. The result of this was a bit of a bitch and moan on twitter, see https://twitter.com/KoalaSoftware/status/298208867559546880, https://twitter.com/KoalaSoftware/status/298091520345661442 and https://twitter.com/KoalaSoftware/status/298156762522083329 where my ire is revealed. Looking back on that I should have been a little more polite, and kept my thoughts to myself, given that as I grew up I was always told that if I had nothing nice to say it was better to say nothing at all.

Experiences

My experience with LibGDX may well have suffered for coming at a time when refactoring has been happening. Certainly there was a big refactoring of Scene2D as far as I can tell, which led to most of the tutorials available on google to be wrong. I stumbled upon http://steigert.blogspot.co.uk/search/label/libgdx for instance, which certainly looks like a well-written tutorial, and got a reasonable distance through, before hitting a brick wall, eventually determining that the refactoring (http://steigert.blogspot.co.uk/2012/07/13-libgdx-tutorial-libgdx-refactoring.html) was the cause. Frankly this wrecked my flow, yes I could probably have grabbed an old copy of libgdx but then we were looking at going right back to the start again, and the explanation of the refactoring only added to the confusion.

Eventually I found https://www.youtube.com/user/doctoriley which got me back on my feet, but this was only after stumbling around blindly across half the internet wading through tutorials which had outdated code. So, I could get my engine together in terms of moving sprites around etc. Cool.

Next up tilemaps. I wanted a scrollable background after all, otherwise it wouldn’t look like anything was moving. Got to http://code.google.com/p/libgdx-users/wiki/Tiles and decided to follow that, fell at Packing (http://code.google.com/p/libgdx/wiki/TiledMaps) and frankly there was no decent help to be found anywhere to explain why none of what I was trying to do would work. I tried packing the map via the command line, no dice. I tried doing it from within my java, no dice, the thing couldn’t find the TMX files I’d lovingly placed in the assets folder. A complete write-off frankly, with obtuse tutorials and obtuse errors.

Eventually I made my way to Gleed2d (bit worried that it’s not been developed since 2010) which despite some shortcomings (really wish you could have a palette of pre-configured items to drop in with attributes defined – ie temperature, solidity, slipperiness, etc) seems pretty cool. Found a tutorial at http://siondream.com/blog/games/gleed2d-level-loading-system-for-libgdx/ and every link led to a 404. Every single one. Couldn’t download the helper jar, couldn’t get to the git repository, absolutely hopeless. Eventually I managed to find my way to some stuff in what I think is the libgdx master repository where it’s presently being moved to, and built from that, but there was no indication of what was going on.

So my experience here has been primarily that stuff gets changed with no thought for coders, tutorials become outdated the moment they are released, the interaction between elements of the libgdx ecosystem is unreliable (partly I suspect due to the haphazard moving of things by all concerned) and really this puts up a huge barrier for newbies. Not fun at all.

So LibGDX sucks right?

Nope, LibGDX is, as I said earlier, excellent. It does however suffer from a common flaw of open-source stuff (something I encountered when having to deal with Drupal for instance) where things just don’t get documented that well. LibGDX needs someone who knows it well to put together a good newbies guide so that others don’t have to experience what I did, and if I ever get to a point of knowing the system well enough to do that I’ll gladly throw my hat in the ring, but in the meantime, I lack that ability and hope someone else can step up.

 

Posted in Uncategorized | 5 Comments

Where is a new Sim City, Theme Park/Hospital, Mega Lo Mania or PowerMonger?

As a kid, I was spoilt for choice with some truly fantastic games which offered so much fun without requiring the lightning reflexes with which I was clearly not blessed (as anyone who’s watched me get killed repeatedly on Counterstrike can attest).

While most games of that time (early-to-mid 90s for those wondering) had utterly arcane interfaces, these gems kept it simple, offering you what you needed, and not bothering you with what you didn’t.

They were in my opinion better than the equivalent games around right now in that a player could understand the systems underneath the skin and begin to think up ways to exploit them, and that’s really not a bad thing. One of my bugbears with many modern games is that quite frankly they take far too much time to get ones head around, and at my age I just don’t have that much time to spare.

Games on PC at the moment come mostly (I say mostly, there are some gems, mostly in the Indie space, which don’t fit these patterns) in two flavours. The first is big-budget COD/FIFA/GenericWarGame3. Lots of reflexes, not much thinking. The second is the strategy game, which has sadly become far far too complex.

It is a sad fact that as any genre (of anything) evolves it will tend to become more complex. Flight sims were fantastic fun back in the old F19 Stealth Fighter days, where the game didn’t require you to be an actual pilot to fly the plane. Modern flight sims have lost their market because they’ve become too hard-core.

The same has happened within Strategy and Management. Examples include AI War (horrible interface really pushes users away) and Crusader Kings 2 (I get the feeling there’s an amazing game lurking in there, but the interface is terrible and it’s never really that clear whether anything you’re doing has an effect and if so what that effect is). Looking into management games, we have Football Manager, where the forums are beset with users who find the game takes too long to play and is more of a chore than a game and the various Tycoon knock-offs, most of which display absolutely no creativity.

In the mobile space things are much much worse, with most games being fairly trivial (Angry Birds springs immediately to mind) and offering little in the way of proper gameplay. I did find myself enjoying a couple of Kairosoft’s games (Game Dev Story in particular) but found that they were re-using a single idea in all their games and the long-term playability was hampered by being a little too simple in places.

So, with all that in mind, this is where I set the long term goals of Koala Software (which absolutely won’t happen immediately, just to make that quite clear). My long term goal is to create something of the class of Sim City, Powermonger, Theme Park, Theme Hospital, etc for mobile phones and to create a PC version worthy of the platform.

There will be no social garbage (the Android Theme Park game is a sad indication of the modern trend towards pestering your friends and buying upgrades to make the game not suck), no pay-not-to-grind, and a real focus on creating games that let you use your brain rather than just your twitch reflexes.

It’ll take some time but it’ll be a fun ride.

The Koala Keeper

Posted in Uncategorized | Tagged , , | Leave a comment

State of the Koala

Where We Are

Koala Software is a (VERY) small development house with at this point not much in the way of track record. Right now, we’ve got very little that is earth-shattering. Our software catalog currently stands at a android clock widgets, an android drum kit and a flash sheep-herding game. I’ll understand if your socks are not yet blown.

This is of course the start, and thus yes we won’t be producing the next Minecraft just yet. We’re ok with that.

We don’t yet have the capability internally to produce the bigger applications in terms of either time or resources. At this stage, that is normal.

The Immediate Future

We plan to create more small Android apps and widgets initially to get a feel for the development tools around Android and Java so that we have a firm base on which to build the larger items at a later date.

Among the short term plans are some upgrades to the drum kit app to make it a bit more exciting visually and nicer to use (and try to reduce audio latency on pre-Jelly Bean devices though frankly this may prove tricky).

The next step (which will take longer) is to build Android Sheep Game. We have Flock Off which plays reasonably well but from which lessons have been learned. In terms of how the new version is likely to differ, I’m looking at removing the bees or making them less of an issue (or perhaps an antagonist on a fixed patrol path) and focusing on speed of movement rather than coin-collecting (which was a pretty serious misstep in hindsight).

Additionally some puzzling elements should give the game a bit more long-term life (I’m thinking at the moment about attaching magnets to sheep, or having some sheep afraid of some objects and attracted towards others, the option to spray sheep-repellent on things on the screen etc.

All this will take time, but we will then hopefully have a more enjoyable and more rounded game experience for you to enjoy.

Of course we know this isn’t going to set the world on fire just yet, but hopefully it’ll be a fun little puzzler to introduce ourselves to the gaming world (incidentally we do plan to produce a Windows version once we’re happy with the Android version, the odds are it should be a simple enough porting exercise).

What is important is that this exercise will build a tool set which will move us along a path which we plan to bring us out somewhere near Sim City Classic, Theme Park/Hospital, Mega-Lo-Mania and Powermonger in terms of games which are accessible, enjoyable and strategic.

Posted in Uncategorized | Tagged , | Leave a comment

KDrums Drum Kit

The latest app from Koala Software is our new Drum Kit application. It provides a simple and elegant interface, with a layout thought through to allow drummers to get to the drums they use most often with ease.

We will be releasing updates and have a number of improvements planned including a graphical update, and pressure-sensitivity.

Posted in Uncategorized | Tagged , | Leave a comment

Ass clock

Ass Clock Widget

Ass Clock Widget

So we thought we’d have some fun with the Ass Clock Widget. Go grab that ass.

Posted in Uncategorized | Tagged , | Leave a comment

Android Minimalist Clock Widget

Our first app, the Minimalist Clock Widget, is out now, go to https://play.google.com/store/apps/details?id=uk.co.koalasoftware.koalaclock to get it for your phone.

 

Screenshot of Minimal Clock Widget

Screenshot of Minimal Clock Widget

Posted in Uncategorized | Tagged , | Leave a comment

Now on Android

We’ve finally got round to getting started on some Android apps, with the first items appearing at https://play.google.com/store/apps/developer?id=KoalaSoft so go and take a look!


Koalasoft Android apps on Google Play

Posted in Uncategorized | Leave a comment

Theming

I’ll get a theme on here, promise, soon as I’ve figured out how! I’ve never used WordPress before so it should be an interesting experience!

Posted in Uncategorized | Leave a comment

Introducing Flock Off

Introducing Flock Off. This is a little project we began as an experiment to build up some internal Flash capabilities.

It’s a little rough around the edges in places and we need to get a working high score table sorted but otherwise it should be a decent crack. It’s only 50k-ish so nice and small, won’t work your PC too hard.

WHAT IS IT?
You are a panda. A skint panda. Evil giant bees have enslaved the earth and crave the meat of sheep. You are going to herd the sheep to the bees to get coins. Simples. The panda is controlled by clicking where you want him to go (hold the button down). Avoid getting stung as those bees do love a good bit of robbery.

KNOWN ISSUES:
- On some linux machines the fonts disappear. It can be fixed by downloading the latest flash from adobe. No idea why that would cause a problem.

Hope you guys enjoy yourselves, and feel free to suggest improvements or tell us it sucks arse.

Posted in Uncategorized | Tagged , | Leave a comment

Testing testing.. is this thing on?

Welcome to KoalaSoft. This is the first post of many, hopefully. Koalasoft is my plan for world domination. I intend to develop cool software and put it out there for the world to mess with. Hopefully some of it won’t be shit. If it is, I suggest you remove it with toilet paper in the usual fashion of these things.

We’ll probably blog about techy geek stuff as well as trying to get games and cool phone apps out to the unwashed masses (yes that’s you), which hopefully some poor bastard will find a use for.

Over and out,

The Koala Keeper

Posted in Uncategorized | Leave a comment