King Oddball 1.1.0 update and the Diamond Competition

King Oddball, released in September, has been received really nicely. The App Store rating is 4.7! We updated the game last week, adding the ability to replay levels and tweaked a bunch of levels to make the difficulty curve more coherent.

The real story with the update is the Diamond Competition we held. For once we wanted to arrange a competition which was all about skill and skill only. We decided to award a real diamond to the first player to beat the Hall of Diamonds, which is a new and overly challenging game mode we added.

To emphasize the level of challenge, let’s just say the competition expiry date of July 1st, 2013, seemed appropriate. None of us at 10tons has cleared Hall of Diamonds. We verified it’s theoretically doable by using our relentless autoplayer, which plays the game really bad, but at hyperspeed.

We announced the competition on December 12th. We couldn’t have been more surprised when we found a valid winning entry in our email inbox the next morning. But there it was, a perfectly legit screenshot of the completed Hall of Diamonds, with an authentic watermark.

We knew gamers always take developers by surprise with things like this. Gamers are always way more skilled and persistent as developers can imagine. So when creating the competition, we stretched our imaginations. Not enough though!

With permission, here’s a few quotes from the winner, who goes by the Game Center nickname Snooptalian.

”I really thought I was gonna be way behind in finishing the diamond levels. Figured somebody else would have done it first, but went for it anyway.”

”I played the new levels on an off for probably 6 hours, restarting overall probably in the neighborhood of 500-600 times. Was able to get a lot of levels in one go, but some of the later ones had me close to giving up.”

”Some of those levels were down right evil, but I would get on a roll and just kept at it. Next thing I knew I had completed them all and it was 2:00 in the morning.”

”Only side effect is now I got the in game music soundly stuck in my head.”

”Awesome game, and a very cool contest. You can’t beat winning a real diamond for collecting virtual diamonds in a game.”

We’re sure Snooptalian will appreciate the oddness of the situation (which is very much what we we’re going for): Having a loose diamond and needing to figure out what to do with it.

This is the one, by the way:

And since everyone’s dying to get the game after such a heartwarming story, here it is:

Steam Greenlight and Crimsonland

The quiet period on 10tons Labs has hopefully ended, now that the summer vacations are done with and we’re powering into the last stretch of 2012. It looks like we’ll be busy.

We’ll touch on each topic when the time comes. The focus of this post is Crimsonland and Steam Greenlight.

As the most diehard fans have already discovered, Crimsonland is on Steam Greenlight.

Crimsonland is the very first game of 10tons, and without honking our own horn too loudly, it’s safe to say it’s a cult classic. I personally familiarized with Crimsonland just this summer, and boy did the quiet days fly by fast!

As far as twin stick (or mouse+WASD) shooters go, Crimsonland definitely features the gameplay to compete with the best of them. It’s… Hypnotic. The rhythm of gameplay is impeccable, as each session progresses from the leisurely start towards the hectic, twitch fest end.

As for Steam Greenlight, we’ve been intrigued by it ever since it was announced. Steam is surely a strong player in the Windows & Mac (and soon Linux) game sales scene, and Greenlight has the potential of granting indie developers a way in.

On the other hand, no one knew, and still doesn’t know, what the reality of Greenlight will look like. Which games eventually make it? Which factors are the key? Only time will tell.

For 10tons and Crimsonland, the goal is clear. We’d love to get the green light, as we’ve received so many fan requests urging us to release Crimsonland on Steam. We’d also love to update the game with Steam’s highscores and achievements, and throw in some new content.

And on that note, we’d definitely love to finally do Crimsonland 2, which we’ve had to postpone for far too long.

So please, upvote Crimsonland on Steam Greenlight. And as importantly, spread the word and ask your friends to upvote too. Every single vote counts.

Boom Brigade 2 updated to 1.1.0

The post-launch activity on an iOS game is pretty fast and convenient nowadays. Boom Brigade 2 was launched just eight days ago, and today the game was updated to 1.1.0.

The 1.1.0 update includes the usual bug fixes (and those were very minor bugs, mind you) and five new missions; two Survival missions and three Special missions. The difference between Survival and Special missions is that Special missions don’t include an objective to defend. It sounds like a slight difference, but in practice the distinction is clear.

My personal favourite of the new missions is the Special mission Incoming!, where the objective is to survive with a lone Trooper for as long as possible in a battlefield constantly bombarded by artillery strikes and swarming with aliens. It’s hectic, but you get to focus your attention completely to controlling the single Trooper.

We’ve also received some great reviews for Boom Brigade 2:

Touch Arcade 4/5

Apple’n’Apps 4/5

Game Developer’s Perspective: Windows 8 and Windows Phone 8

A few days ago Microsoft confirmed some things that we’ve been hoping to be true for some time. First of all: Windows Phone 8 will indeed have support for C/C++! This is great news for a small studio like us who has a backlog of several awesome games coded mainly with C/C++. Windows Phone 7.x was lacking C/C++ support and porting our games there would have required a total code rewrite starting from the game engine itself. This isn’t a small task and would’ve probably taken months. Now we only need to do create some new graphic and audio implementations in addition to basic input handling.

It seems that the Windows Phone 8 won’t have OpenGL ES or OpenAL, but that’s ok since they should have support for DirectX 11. Windows 8 also supports DirectX 11, so in theory we might only have to create a Direct3D 11 renderer and implement audio support using XAudio2. We’re hoping that with these two components we can draw graphics and play sound both on Windows Phone 8 and Windows 8 devices. It’s exciting to see whether this will hold true, but we certainly hope it will and it seems quite likely.

So, Microsoft has a chance to make a developer’s life really really easy. We’re currently dreaming of a situation where we can run our games on Windows 8 and Windows Phone 8 with only tiny code differences. In real world this all means that the users of these operating systems will have quick access to all the most popular apps and a lot of variety to choose from. So, you can definitely expect 10tons games on your Windows Phone 8 device in addition to your Windows 8 tablets, laptops, and desktop computers!


Boom Brigade 2 launchdate and Grim Joggers free

Boom Brigade 2 now has a launch date: The 21st of June.

In other words, the Thursday this week.

It’s set in stone. At least as much as things can be set in stone regarding game release dates in this day and age.

Following the news, the atmosphere at 10tons’ office immediately turned into a delightful mix of relief, happiness and yes, truly, excitement. I personally feel a bit giddy too.

Releasing a game definitely registers as one of the highest peaks in the emotional spectrum of game development, probably even eclipsing the rush of starting production on a new game.

But we must not get ahead of ourselves. Boom Brigade 2’s launch isn’t today, it’s in two days, and we’re going to be mighty busy.

We’re also delighted to announce the iOS version of Grim Joggers, our take on the endless runner, is now free until the release of Boom Brigade 2. Go grab it here!

Tactical Mode in Boom Brigade 2

Yesterday was a very physical one for us working at 10tons. We moved to a larger office, and discovered among other things that a lot of our furniture is made of solid wood instead of the Ikea style hollow wood elements. Solid wood furniture is quite heavy.

But the topic today is not furniture, but Tactical Mode.

In Boom Brigade 2, Tactical Mode allows the player to pause and resume the game at will. It’s not your basic pause feature though, as the player is able to issue orders to Troopers while the action is paused.

Issuing orders in Tactical Mode has many benefits. Obviously, the Tactical Mode button in the lower left corner of the screen is the perfect panic button; tap it and you’re safe to ponder your Trooper-saving moves. And you can issue said moves too.

Tactical Mode is also great for synchronised manouvers. Halt the action, issue orders, resume the action and watch the Troopers fight in perfect sync.

Tactical Mode also allows for perfect optimisation of actions for the economically minded player. It’s possible to keep every Trooper constantly occupied by commanding them precisely with Tactical Mode.

Finally, there’s the issue of becoming overwhelmed. In some missions the player is commanding up to five Troopers. Coupled with dozens and dozens of charging aliens, it’s a lot to keep track of. In these missions using Tactical Mode is a matter of survival.

Oh, and one more thing: In Tactical Mode, the Trooper weapon upgrades are shown. It’s great when the player has, for example, two Pyro Troopers, and has selected different upgrades for each. It’s not at all impossible to lose track of which one is using which, but with Tactical Mode, the matter can be checked instantly.

There is a video demonstrating Tactical Mode in action here.

Boom Brigade 2 submitted

For the past few weeks, 10tons’ office has been a whirlwind of activity. We’ve launched Puzkend for iOS and the Android version of Azkend 2: The World Beneath, and prepared the move to a larger office space.

Yet the excitement and anticipation has only increased, ever so steadily, as the main event of 10tons’ summer of 2012 has inched closer: The launch of Boom Brigade 2.

You may or may not be familiar with the original Boom Brigade. A short summary: Boom Brigade is a mash-up of line drawing and tower defense. Some players felt real-time strategy and top down shooter vibes, which is just as well. It’s as exciting a formula as it sounds.

Launched back in 2009, Boom Brigade broke into the Top 10 of the US iTunes App Store and did very well overall.

Developing a sequel to a hit game is always a bit nerve-wracking, especially when the environment and market have changed as drastically as the iOS/App Store scene has in the past three years. We take some comfort in that we sort of did this already this year; Azkend 2 is in many ways a traditional sequel to a hit. It’s bigger, more beatiful, more of everything, yet keeping the best loved features of the original. Azkend 2 has been received well by media and fans, so the principle seems as sound as ever.

And so, this is the story of Boom Brigade 2 so far. The gameplay basics are the same and there’s a bunch of familiar content (troopers, weapons, aliens). Then we added a full 30 mission single player campaign, Sniper trooper, weapons and aliens. Then we tweaked a lot of stuff. Test feedback has been positive, and the game feels great on an iPad (the iPad didn’t exist in 2009!)

We just submitted Boom Brigade 2 to Apple, and our hands are tingling. It won’t be long now, less than a month.

We’ll try to tell a bit more about the game and its development in the coming days and weeks. In the meantime, take a look at a brand new gameplay video here.

Posted in iOS

Azkend 2 on Android ICS x86

It seems that there’s at least one x86 Android Phone available. That inspired us to try out our games on Android x86. This is something that won’t probably be relevant to mass audiences for a while if ever, but it was still interesting to see Android and Azkend 2 running on a x86 netbook. Most Java-based games work straight away and native apps like Azkend 2 need only to be recompiled.

However, with Medfield the situation is even better: It seems that Intel has integrated some kind of binary translation magic into the SOC which means that even native apps compiled to ARM will work without modifications. Many sites also report that the x86 battery hog myth was busted with Medfield and that devices can compete with the likes of SGS2 in terms of batter life.

So, from a game developer’s perspective supporting Android x86 shouldn’t be a problem if it becomes popular.

We used a live bootable usb stick created from a iso here on a HP Mini 100e. See Azkend 2 Lite running on an Intel Atom equipped HP Mini 100e here.

Android and the strange world of APK sizes

Google just upped the maximum single APK size to 50 MB. After this the developer needs to do some add-on package juggling up to 4 GB. This can be done with Google’s own tools or developers can roll their own. For us this small change meant that we could fit Azkend 2 in two single packages on Android: APK for phones and another for tablets. However, the reality of things proved to be a bit different.

We just released Azkend 2 Lite on Google Play and one of our own test devices is a HTC Wildfire S. It’s one of the cheaper Android 2.3 devices. After the release, we were baffled why we couldn’t find the game with that device. We saw no apparent reason why Azkend 2 Lite would filter out on a Wildfire S.

Turns out that the cache partition size where apps from Google Play are first downloaded varies from device to device. On the Wildfire S this size is 35 MB. On a Nexus S the size is 500MB. On a HTC Sensation the size was around 80MB. If the cache partition size is smaller than the app APK, the app will not be visible on the Google Play for the device. This is an interesting and unadvertised limitation that probably affects cheaper models more than expensive ones.

So, it seems that even the 50MB single download can’t be achieved on all devices. I’m not sure if there’s going to be a fix or if this is just a feature. From the little details we’ve learned, it would seem likely that this is something that could be fixed in Google Play. If there is a storage device with more capacity attached, why not use that for saving the apk? World of Goo by 2D Boy is also affected by this strange feature.

If you suspect that you aren’t seeing some apps with your device, you can check the cache size with a free tool called Cache Fixer. You can even move the cache on a rooted device. However, this moving fix isn’t an option for the majority of users.

The story of Mali-400 MP and GL_RGB

We’ve had our share of compatibility problems with Android but most of them were quite straightforward. That said, it has still taken a lot of time if you sum up all the little bits of work we’ve done to improve compatibility. Maybe this note will help some other developer solve this particular issue more quickly.

For some time we’ve received reports that some Galaxy Note devices and some Galaxy S II devices may have problems with our games. When we started investigating, we discovered that the trouble was with games that used frame buffer objects (FBOs) or render targets if you prefer that term. We already knew that despite the similar model names, there are several kinds of SGS2 and Galaxy Note devices.

Samsung Galaxy S2 has three possible SOCs (System On a Chip): Snapdragon S3, Samsung Exynos 4210, or a Texas Instruments OMAP4430. Galaxy Note has two possible SOCs: Exynos 4210 or Snapdragon 8255T. After some more research we discovered that the trouble occured on devices with the Mali-400 MP GPU which can be found from inside the Exynos 4210.

After we had narrowed down the suspects, some googling produced this. In the end it was all down to the following sentence.

You are trying to create a framebuffer object with RGB of 8-bits per channel. Mali doesn’t support this because of memory alignment issues that would impact performance.

We had used GL_RGB in our OpenGL ES implementation and it seems that Mali-400 MP doesn’t support this at all.  So, now we know that. All other devices we’ve encountered have supported it, so this was exceptional. The fix was obvious: use GL_RGBA. Further investigation also revealed that GL_RGB is an optional feature so our code was a bit too optimistic to begin with. Anyways, problem solved!

In the end, as a developer I’d really hope that manufacturers would use a different model name if they decide to use a completely different SOC. Even though your average user doesn’t mind what’s munching the bits, this situation makes a developer cry. Granted the manufacturers have used different technical model names, but our customer will say he has a Samsung Galaxy S2. Most don’t know that actually they might have a GT-I9100G instead.

You really can’t say that your app is tested to work on a SGS 2 if you don’t have all the three different devices. And that wouldn’t account for the operator tailoring which might also be a factor in some cases. With that you might have somewhere between one and two dozen different versions of SGS2. For most developers it’s impossible to acquire AND keep acquiring every possible common Android device so it would be great if the manufacturers wouldn’t make the situation even harder :)