Hungry Hamster
Above: "Hungry Hamster' running on a BlackBerry Playbook and iPhone 4S

A while back we heard of RIM having a new software platform that was very easy to develop for and, especially relevant to us, easy to port to from iOS. We contacted someone we knew at RIM and were promptly provided with one of their Playbook tablets. Impressive given that we didn't even have a potential title at the time. The hardware has a high quality feel and as we have since discovered, the Playbook and BB10 phones perform very well compared to most other non-Apple devices1. We were keen to see what it was like to work with.

BlackBerry's QNX based Native platform has actually been available for the Playbook tablet for some time. However it is new to the BlackBerry 10 phones that will ship in early 2013. QNX Neutrino RTOS is an embedded Unix-like OS typically used in mission critical systems. In practice, this provides a very efficient, stable foundation - unusual for first versions of software in the consumer space. On top of this, RIM have added a complete and simple to use set of services required by games such as OpenGL, OpenAL, streamed media playback and system messages for input, application switching, etc. The API's are all in C and are generally minimalist in nature. All API's are documented and there are a decent set of samples also. For anyone with a mostly C/C++ game engine, the Native platform will be hard not to like.

RIM also provide as part of their Native SDK an Eclipse based IDE providing all the usual integrated building, signing, packaging, deployment and debugging capabilities. Device simulators are also available and require VMWare Player to run. PC and Mac are both supported. The IDE and simulators are both satisfactory, however at the current time, are not as polished or reliable as those from Apple or Microsoft. Visual Studio integration has also been recently released which we have not tried.

To feel out new platforms, we like to perform a test port. In our early years we used Quake (see here and here).The Quake code is cleanly laid out with multiple platform support in mind and so is generally easy to port. However a couple of years ago one of us had been experimenting with a 2D game engine for iOS, in part because of a request from his daughter to "help make an app", and in part to experiment with a number of architectural ideas. The code base was written to be very portable and so this time we used it for the test port. Port time to the Playbook was just 18 hours and about half of that was figuring out the best, clean way to place Eclipse and Xcode projects side by side - a one time learning experience. For a large, complex game with a typical amount of Apple specific calls, porting time is more likely to be two to three weeks.

As developers, it is important to have a choice of platforms. We think it would be great to have a choice with good hardware, a great software platform and a strong belief in games. Beyond that, in our experience RIM have been great folks to work with. For anyone with a strong selling title, we suggest looking into supporting BlackBerry 10. The time and/or financial investment will be small and the install base of the Playbook alone is likely to bring in a profit. But more importantly, you will be putting your support behind a solid platform.

1. Apple appear to be the king with respect to phone/tablet gaming performance by a very large margin. Even devices with the generation old A5 have better real world performance than any competitor we are aware of.