Developer Stories: My experience thus far in porting Tank Recon 3D to the BlackBerry PlayBook

Tank Recon 3D for the BlackBerry PlayBook
By Kevin Michaluk on 7 Nov 2011 07:25 pm EST

This article comes to us via Leigh McRae. A veteran game developer working with the PlayBook NDK, it gives an honest look at both some of the pleasant surprises and frustrations experienced while porting a game to the PlayBook for the first time....

Today I found myself with some extra time on my hands so I decided to send Kevin a small email letting him know my initial experience with developing for the Playbook using the NDK. After receiving the email Kevin asked if I would be willing to expand on it. So I opened up my Open Office and wrote a little piece.

Just a little background about myself. I have been in the 3D industry for about 20 years, 15 of which have been in the game industry directly. I worked on PlayStation 2 and Xbox titles such as Oni, Max Payne and The Warriors. I left the big budget console industry to start Lone Dwarf Games Inc and ended up making BlackBerry games in early 2009. The first game I released was Wrath, a retro shooter.

Currently I'm in the process of finishing up porting my first game to the Playbook. Tank Recon 3D initially came out on BackBerry OS6 almost a year ago and the game was written purely in Java. Tank Recon 3D was my fifth game on the BlackBerry platform and I had accumulated enough to put together a suite of tools (game engine) which I called Odin. Odin uses Java to target BlackBerry, Android, PC, Mac and Linux. Since the Playbook was going to be dropping Java and moving on to native development (NDK), I decided to port my game engine Odin to include C/C++. This would open my game development to just about every platform. The initial port took about one month before the game was playable on a PC running Windows. Once the Playbook NDK came out in the summer of 2011 I would be ready to do the port.

Summer came and went. Honestly, I was almost done with BlackBerry at this point. While I waited I decided to improve the game and add more content to it. Later I decided to port the game to iOS. The port to iOS was actually pretty painful as there is so much to learn. The last Apple I did any programming on was the Apple IIe, so I was pretty much out of touch. I had to learn the Mac OS and the development tools and Objective C to boot. It wasn't that any of these things were hard to learn, it's just that there was so much you had to learn at once it could be frustrating.

October rolls around and I get an invite to beta the NDK on the Playbook. On top of that I can get a Playbook for $299! A quick trip to BestBuy and the port is back on. I get home with my new Playbook and check it out. I was shocked as to how good it was. I actually showed my wife how how good it was. I loved just about everything about it except the power button. Seriously, someone needs to be fired over the power button...

Enough of the story. Here is what I found. I had the game loading to the menu in the first day. That is incredible. The game was playable in the first 2 days. I doesn't get any better than that. On top of it, the game looked great and ran so fast without any modifications. I'm considering increasing the quality of the terrain in Tank Recon 3D because I know the Playbook can handle it. Overall I am very happy with the how the port to the Playbook has gone and how well it has performed. Great job RIM.

Here are some of the highlights as to why the port went so well. The tools installed without any problems at all. I was able to get a sample project up an running pretty much right away. The NDK allows you to use a wifi connection instead of a usb. This might not sound like a big deal but most mobile developers will agree that using a usb cable is a real pain. They are never long enough. Since the tools are based on Eclipse, I didn't have to learn a new tool set either. That was huge. There are some bugs with the IDE but all in all it's a very good first release of the tools.

RIM is providing support for C/C++, OpenGL ES, OpenAL and POSIX. Right there you have covered what I would say is close to 80% of the work needed to port a game. It is pretty common practise to develop your game on a PC where the environment is very mature and the work flow is much faster. Then you port it to your different platforms. The amount of code needed to support the Playbook platform was the smallest, even smaller than it was for Windows. Really there wasn't much that needed to be changed to get the PC version to work on the Playbook. The biggest changes I did were with supporting a touch screen and showing a dialog for the user to enter a high score.

RIM has embraced such open source goodies as Lua and Boost. My Lua fu is pretty good and Odin uses it all over. I love that RIM has made no attempts to block me from using Lua and on top of it all has actually done the work to make sure it runs on their platform. Boost also worked without a problem. Great job RIM.

On the down side. The docs are really lacking from what I have seen. Honestly most of the docs I see are QNX bragging about it's OS or low level stuff that most programmer aren't going to be worried about. I keep trying to figure out how it all fits together. Yesterday I tried force myself to read through as much of the docs as I could. Surely all will become clear but eventually I just wanted to throw myself on a butter knife. Seriously. They need to get some better docs with a good high level overview of the platform.

I have had people tell me that they picked up a Playbook and took it back not because they didn't like it but because there were no apps for it. RIM really needs to make sure that developers are taken care of and finally here we come to why I have the time to write about my experience today.

Yes RIM has done a great job getting 80% of my port done for me. It's that last 5% that nailed me. Right now I am having a problem and have spent 2 days working on the problem. I have posted on the Native SDK for BlackBerry Tablet OS and as of writing this I still have no response. I find this shocking. I thought for sure there would be someone from RIM posting within a couple hours with an attempt to lend some level of help. It's not like there is much activity on the forums, there are only two pages of topics! At some point I'm going to put this port aside and finish the iOS port.

I know I am not Electronic Arts or Blizzard and this might sound like a small dev just being bitter. The thing is that if you list all the top games on the mobile platforms, you will have a list of Indie Developers. Yes I know RIM isn't a gaming platform but either was iOS when it came out and now look at all that revenue.

- Leigh McRae, Lone Dwarf Games, Inc.

Reader comments

Developer Stories: My experience thus far in porting Tank Recon 3D to the BlackBerry PlayBook


hahahahahahahahahahahaha finallyyyyyy for what is worth ..FIRST!!!!!!!! 111111111111.


Better listen up RIMM, developers are the ones who are going to make or break the company. The mobile and tablet consumer market demands quality apps, not just games, and to think otherwise is yet another nail in the RIMM coffin. Give them the tools and support they need and they will produce the goods, the consumer will respond and you will get your sales.

And yes bbqsanchez, good that you recognise that you are one.

No. A select few articulate people who actually know what they are talking about should send him an email.
I guarantee you he's not going to even try sifting through hundreds of hate mail if we all flood his in-box.

Next time keep your 2 cents. You could be doing more harm than good.

It's not developers, not really.

The key is to see your users as your customers, rather than carriers, partners, OEMs or developers. Develop a platform that gives users what they want in terms of experience and makes it easy to develop apps that are appealing to use. Build the user base, and the developers will follow.

Microsoft marketed Windows Mobile as a developer-friendly platform and it failed because it concentrated on making things easy for devs at the expense of the user experience.

Admittedly this is a bit of a chicken-and-egg problem: you need users to attract developers, and you need developers to build apps to attract users to the platform. The PlayBook is a good start, though RIM crippling the platform such that users avoid it doesn't instill developer confidence.

In that sense, the PlayBook wasn't really built for end-users: it was built for RIM's convenience. To their credit I think they've learned since then.

"Seriously, someone needs to be fired over the power button... "


I just about threw mine against the wall.................

+infinity. There are people in the forums still trying to defend the button design. It's an awful design, there is no tactile feedback, and the response time to boot up is sufficiently slow that my button has been mashed unnecessarily. But back on topic.

Really? Infinity? I got my playbook in late September and I believe it was one of the updated models with a less-recessed power button, but even with it being easier to push than the first batch, I've used it maybe twice in two months? I don't understand the hoopla over a button that's rarely if ever used.

From the homescreen you can power off, sleep, or restart in two taps. TWO TAPS. I use this daily and its easy as sh*. Is that too much for people? Is that cause for backlash or even comment?

Lets focus on better apps, more apps, bug fixes with keyboard and app-crashing, more accessories (HDMI/Power dock for TV, OEM Keyboard, etc). These are the items that will hurt RIM and not the depth of a rarely if ever used f*ing power button.

I have had 4 playbooks - Bought 3 for staff and one RMA, the power button was fine on two of them so it seems they did fix that issue.

Yes, on mine (French distrib ?) the power button works so nice I don't consider anymore soft power alternative, unless for restart. [FYI, sorry for the out of topic]

The power button isn't really so bad. For one, it's not often you need to use it, and it'd be completely obviated if RIM added a multi-finger swipe-down-to-sleep gesture.

It's really no worse than the power button on the iPad, which is also difficult to locate and use.

Now, the lack of system-wide autocorrect/autotext, that's something someone should be fired over.

I am glad to hear that the development of app for the playbook are not as bad as people would like you to believe. I think that it is in RIM's best interest to keep on top of devs who are doing the work now because it will only benefit the smartphone market for the qnx phones when they come out. I can't imagine that the difference between the playbook and new blackberries will be that drastically different. I think that rim has a great place to put its foot down and set themselves up for a great launch with blackberry hosting a new os. Let's see if they do the right thing and support all developers regardless of size.

Glad to hear you sharing your story, hopefully other devs do the same! RIM has surely been making big strides to help you guys, but I think this is uncharted territory for them, so feedback from the developers is so important.

Email Alec! Tell him your story! And ask him about your problem, I'm sure he'll find someone to address it (when you show him this post).

... if you have something constructive to share with him.
He's the VP of Developer Relations.
It's not going to help developers if he's stuck at his desk, staring at an inbox with 1000+ email saying "hey fix the power button".

That was well worth reading. I appreciate the honesty, humor, and the information on what I, for one, have less than zero knowledge about. I'm disappointed, but not surprised, at the lack of RIM support/comments to your questions. I think it's been painfully clear to just about everyone that RIM, to be blunt, sucks in this area. But, having watched DevCon, I am hoping that the lack of developer support will be in the past and RIM has learned, recognized, that they need to sharpen up and embrace developers - both for the Playbook and for their phones - if they are ever to succeed in remaining viable as a company. Oh, and as aside, if the game ever does make its way to the Playbook, I'll eagerly give you my money. Happy to support any developers - except a certain book "developer" that is - when I see them support the Playbook. :)

LD has done some of the best games for BB so it's great news he's looking at the PB. Long Live The Indie Developer!!!!!!

looking forward to when the game hits the streets! i enjoyed it on my storm 2...loved it on my 9930...and know that the playbook version is going to ROCK!!!


Sounds about what I've encountered. I haven't done much - just a crappy AIR app that got me a free PlayBook that's actually finished at this point - but a big part of the reason was that I was waiting for the NDK. I don't really need it for the power of it, but I'm more familiar with C++ so I thought that would be a good start. After months of waiting, I tried it out. Tools look great, but documentation is useless. The documentation for the AIR SDK was pretty good: generally I could find anything I need. But NDK documentation was useless. After getting nowhere with it, now I'm trying out WebWorks and it is somewhere in between on the documentation front: I can find a lot of what I need, but not all of it. Some day I'll get back to the NDK when I try something more intense but it wasn't worth the hassle for now.

Thanks for taking the time to share your experience developing for the PlayBook, as you said, it's a great piece of hardware (yes, except for the idiotic power button) and the OS is great too. I hope RIM gets back to you and provides the documentation & support that developers need so RIM can jumpstart the PlayBook and be ready to have some apps for a BBX phone. I'll keep my eyes open for Tank Recon on the PB!

This story is more telling than alot of RIM's own developer stories series...let's hope RIM does more than provide the tools but sets some individuals aside to walk with the developers!

Yeah I thoroughly enjoyed reading this story about this games development and I feel like the statement about RIM not responding to his question pretty much sums up how I feel they are treating the playbook. I bought one day one for my wife and don't get me wrong I am a hardcore gadget guy but every day I look and see that playbook collecting dust and think why did I ever buy this thing because RIM is not taking advantage of this amazing piece of equipment and not getting smaller developers on board to make the super cool apps we have all come to know and love.

The homebrew and smaller developers are the ones with the freshest games and apps... take Rovio for instance as proof of that.... and what is totally a shame is that in the small app development I am seeing more movement with the Palm TouchPad which is really sad since technically it is a dead piece of hardware.

Oh that's cool. I remember first playing both Wrath and Tank Recon 3D on my nexus one well over a year ago.

I really hope you can get help with your problem, I'd love to blow up some tanks on a bigger screen :)

Enjoyed reading this and hopefully RIM works on those negatives you pointed out. Looks like what RIM has created is a good thing and just needs to be tweaked a little

Thanks for posting this. It helps us understand what developers go through. I like where RIM is going but a bit of fine-tunning is needed.

Keep working at it RIM, it seems the big pieces are in place now for the detail.

Why is RIM sitting on their hands and not helping out the smaller developers?
I have a PB and think it will be the killer tablet once they get OS 2.0 on it and then get the apps on board.
However you can't build a community of developers if you don't work with them to get through the issues that are blocking them to complete their work.

Most will lose interest and not finish their work if they don't get some kind of resolve to their issues.

Hey RIM,....does anyone at HQ read Crackberry? These are your faithful followers/users here!

Actions speak louder than words!

Tank Recon is a really good game that I bought last year for my S2. I was just thinking the other day when they were going to have a version for the PB. I think that is a game that will work really well with it. Hope the developer finishes it. I'll buy it right away.