
I’m working hard to release Super Hexagon as widely as possible, as soon as I can! For PC/MAC, I should have some news there soon. For Android: here is some good news, and some bad news.
The good news: The Super Hexagon port to android is almost finished! The game is properly resolution independent, and it’s running really well on my own Nexus 7 (see the photo above)! Last weekend, I quickly ported an old flash game to Android, partially to help me catch bugs with my framework. I was originally hoping I could release Super Hexagon on Android this week.
Here’s the bad news – I’m having some trouble with the leaderboards, and it’s probably going to hold up the release of the Android version. (The rest of this post is a long technical ramble about why that is.)
Having a good leaderboard system is pretty important for Super Hexagon. One of the nice things about the iPhone version is that Apple’s built in leaderboard system, GameCenter, is actually really really good. You can have several different boards per game, it creates a separate list for your friends (this part is super important for me), it even allows you to send challenges to people to beat your highscores! For Android, I’m basically looking for exactly that – a GameCenter-like system. Unfortunately, the options aren’t great.
A big part of why they’re not great is my tech – I’m using Adobe AIR, so to access any of the existing leaderboard systems on Android, somebody needs to have written a Native Extension (ANE) for it. This really narrows down my choices – here are my options, as they stand:
(1) A plugin called GREE is the most obvious choice – it’s got an official AIR Native Extension available as part of its SDK, so it should definitely work. My problem with it, unfortunately, is that GREE is kinda terrible. It’s slow, it’s cluttered with useless “social” features, and games that use it crashed several times on my Nexus 7! It’s definitely an option, but it doesn’t seem like a very good one.
GREE actually bought and closed a company called OpenFeint last year, which is a shame, because OpenFeint would be have absolutely perfect for this. Oh well.
I also looked in a similar service called “HeyZap”, but the only ANE I could find for it just enabled the social networking stuff, not the leaderboard stuff.
(2) Then there are things like ScoreLoop and Swarm. These both look ideal – they’re lightweight systems that do exactly what I need! Unfortunately, neither have AIR Native Extensions, so I can’t use them.
I contacted the smaller one, Swarm, to ask if they were planning to add support for that. They mostly just seemed surprised that anyone was using Adobe AIR 🙁
With ScoreLoop, I investigated the possibility of hiring a coder to actually WRITE an extension for me. However, it looks like there’s a lot more work in that than I realised, so that’s probably not going to happen.
(3) Finally, there’s the option of just coming up with my own system, possibly using something like Scoreoid in the background to handle the MYSQL stuff. I’m seriously considering this, and maybe using Twitter/Facebook to generate simple friend lists, but the problem here is that even IF I took a few weeks to actually do this, I’m still going to have a system that’s inferior to things like Scoreloop or Gamecenter. So it seems a bit pointless…
So, that’s where I currently stand. What now?
Well, for now, I think I’m just going to focus on getting the PC and MAC versions out. There’s good reason to think that if I hold off even, say, a month, the situation with Android leaderboard services could drastically improve! For one thing, GREE are apparently in the process of integrating OpenFeint with their system – which might mean that OpenFeint would become an option again, which would be great. Also, it appears that Scoreloop are currently working on an official AIR Native Extension, which would also be great. So for the meantime at least, it seems I’m going to have to hold off on releasing the Android version.
Another (horrible) alternative is just to release the Android version without a leaderboard system at all. But I really don’t want to do that.
Anyway; for now, I think I’m going to get the PC and Mac versions out, and come back to this.
I’m getting some comments on twitter about *why* it’s so important that the game has leaderboards, so I thought I should clarify: I feel they’re really essential to motivation in the game. If I released the game without leaderboards (on any platform) I would be releasing an inferior version of the game, and I just don’t want to do that. In general, I don’t think most games need high scores, but Super Hexagon does.