Subscribe via RSS
Select Language

BlackBerry Game Development Tips - Not Just Another Port!

BlackBerry Development Advisor

KaGlom BlackBerry Game 
 
Nothing ruins a good mobile game like a bad user experience.  Just because a mobile developer has written their game in MIDP and had success on other MIDP platforms, doesn’t mean they can throw it on another smartphone platform and expect good things.  Certain aspects of the game will need to be tweaked in order to make it follow the UI paradigms that individual smartphone users are accustomed to.  If developers don't adjust for these nuances, they should expect to get slammed with negative reviews. On that note, let’s look at how to best develop a game in MIDP for BlackBerry® smartphones.
 
First things first: it's important to note that unless you use a BlackBerry smartphone regularly, you're unlikely to understand how your users are accustomed to interacting with applications on the smartphone.  In this two-part post, I'll try to help you understand the nature of the BlackBerry smartphone user and the impact that has on your game development.
 
BlackBerry Curve Keys 
 

Tip 1:  Physical Device Keys 

There are certain keys on BlackBerry smartphones that users will always expect to perform specific actions. 

A)  The Send key.  This key will always cause the phone screen to be displayed.  No special handling required here; the platform will perform this task automatically.
 
B)  The End/Power key.  This key will either end the current call, or if no call is in progress, will send the currently foregrounded application to the background.  The backgrounding is handled automatically by the platform, but it's important to note that the BlackBerry platform supports applications running in the background.  This feature means that just because you've received a MIDlet.pauseApp() event, there's nothing in the platform that explicitly suspends execution of the game; it's your responsibility to go dormant when in the background.
 
C)  The Menu key.  In most applications for BlackBerry smartphones, this will bring up a menu with the default look and feel.  Since many games have implemented their own in-game menu system, you should use this key as a trigger to display your menu.  If you do not capture this key, the default menu will be displayed.   The expected design pattern here is that you will implement a KeyListener, capture this key, using it as a trigger to pause the game and display your menu.  If you wish to use the default menu system of the device, you can add menu items via CommandActions. 
 
D)  The Escape key.  This key should always have the following behavior:
  • Move back one screen in the application.  For most games, this means that you'll pause the game and return to your menu screen.
  • If at the back-most screen of the application, such as the home/splash screen or in-game menu screen, the user should be prompted to exit the application. 

Tip 2:  No Soft Keys 

The concept of soft keys does not apply to BlackBerry smartphones.  That is, you should not use any of the display area at the bottom of the screen for attempting to infer different meaning onto the keys listed in Tip 1.  Those keys should always produce the behaviour listed in Tip 1. 

Tip 3: Navigation 

There are three primary input types particular to BlackBerry smartphones: the trackball, trackpad, and  touch screen.  Older BlackBerry smartphones supported a trackwheel on the right-hand side of the device, but that input mechanism will not be discussed here. 
 
For game developers, the trackball and trackpad can effectively be treated as the same input mechanism: 4-way navigation (up/down/left/right) that will click / fire when pressed.  This input mechanism is similar to the D-pad featured on many MIDP phones, making it pretty straight-forward and easy to work with; the aforementioned events are mapped to Canvas.UP, Canvas.DOWN, Canvas.LEFT, Canvas.RIGHT, and Canvas.FIRE. 
 
BlackBerry smartphones with touch screens are different than the typical touch interface seen on other smartphones in that the screen is clickable, allowing for differentiation between the touching of the screen and clicking the screen.  To ignore the clickable interface is in most cases a mistake.  I.e. based on the learning the user has from all other applications on the smartphone, if your application responds to tap events instead of click events, the user will be confused. 
 
Today we covered the basics of interaction and navigation.  In part two of this post, we'll dig a little deeper into the nature of the BlackBerry user and reveal the expectations they're going to have for your game.

Post a Comment
Be sure to enter a unique name. You can't reuse a name that's already in use.
Be sure to enter a unique email address. You can't reuse an email address that's already in use.
Type the characters you see in the picture above.Type the words you hear.
About BlackBerry Developer's Blog
The Developer Relations team at RIM is focused upon providing solutions for all stages of the BlackBerry development lifecycle. The Developer’s Blog is a forum to share best practices, market insight and developer-engagement opportunities with the development community. The Developer’s Blog complements our existing outreach programs (BlackBerry Developer Conference and Developer Newsletter) while giving us an opportunity to share our personalities too!

About the Author
  • Adam is a product manager at RIM in the platform product management team. Adam’s focus and responsibility is on setting the strategy and direction of the BlackBerry web platform, including the web developer tooling products. He is also responsible for RIM’s involvement with the Eclipse Foundation and the Pulsar project. Adam hopes this blog will allow him to share his knowledge, viewpoint and passion for BlackBerry, but is really interested in what capabilities the community feels should be added to the web platform and tooling to create even more compelling web applications and content.
  • Adam is an Application Development Consultant with the Developer Relations Team at RIM. As a member of the Developer Relations Team, Adam manages the technical relationship with ISVs who specialize in producing applications based on web technologies. Adam's development background consists of a degree in Computer Science and work in web development for both the insurance and technical support industries.
  • I joined Research In Motion in 2005 working with Independent Software Vendors (ISVs) who specialize in Bluetooth, GPS, multimedia, and gaming. As a senior member of the Developer Relations Team it's my mandate to not only support the application development efforts for a number of ISVs, but it's also to act as a voice at RIM for third party application developers. Like RIM, my roots are in the enterprise world, but over the past couple of years I've quickly adapted to the consumer space, and that's where I spend most of my time today.
  • Chris has been at RIM since 2001 and runs R&D for the BlackBerry Development Platform. Practically speaking, this means day-to-day he is busy harnassing the innovative power of a talented group of RIM engineers to serve the needs of the BlackBerry Developer community.
  • Denver is a software developer at RIM, working on the BlackBerry Java APIs. Denver has been working at RIM for 4 years and started in automated testing of the APIs, making the switch to development in 2008. He enjoys programming, and finds developing for BlackBerry especially interesting. Denver also enjoys writing and sharing his development experiences, and hopes his posts will be useful and informative to other developers out there.
  • With more than a half-decade of experience in the wireless industry, Douglas “tr0n” Soltys has chronicled the evolution of mobile culture in both the consumer and enterprise space. Prior to joining RIM, Douglas manned the helm of wireless weblogs QuicklyBored and BlackBerry Cool. When not blogging about all things BlackBerry®, Douglas can be found extolling the virtues of Strunk and White. He uses a BlackBerry® Bold™.
  • As Manager, Developer Programs at Research In Motion (RIM), Ian and his team are responsible for the design and delivery of programs and services for BlackBerry developers – including support tools and resources, recognition, advocacy, go-to-market, and regional programs. Ian is passionate about making sure that BlackBerry developers have everything they need in order to be successful from the inception of an idea to app deployment or commercialization. Prior to joining Developer Relations, Ian was a Product Manager for various BlackBerry solutions including the BlackBerry Java Development Environment, BlackBerry Maps, and BlackBerry Mobile Voice System.
  • Kamen is a Senior Architect, Strategic Initiatives, and started at RIM in 2001 with already established expertise in development for the BlackBerry platform and other mobile devices. Since then Kamen has been part of both device and server-side design and development activities - helping to evolve the BlackBerry development environment. As part of the Strategic Initiatives group he is now involved in looking for new ways to bring additional value to third party developers.
  • Mike Kirkup is the Director for the Developer Relations program at Research In Motion (RIM), which is responsible for managing the technical relationships and programs for RIM’s developer community worldwide. Mike and his team work with RIM’s developer community to provide support and guidance as developers work to integrate their applications to the BlackBerry platform. Mike joined RIM in 2001 as a Security Software Developer in RIM’s Wireless Security Group. As part of the Wireless Securty group, Mike contributed to the development of the BlackBerry Cryptography API, S/MIME and PGP implementations. Mike holds a Masters of Management Science and a Bachelor of Mathematics from the University of Waterloo.
  • When he’s not out riding the waves off the sunny eastern coast of Australia, you’re likely to find Neil at his desk answering emails, taking calls, or cutting code in his role of Application Developer Consultant for RIM. As a member of the Developer Relations team Neil spends a great deal of time working with Independent Software Vendors (ISVs) in Australia and New Zealand helping them get the most out of the BlackBerry platform, and also working behind the scenes to ensure everything is “most excellent” for all developers. Neil’s been developing for the BlackBerry for five years and prior to joining RIM ran a successful BlackBerry software company. He also likes hats.
  • Prosanta is a member of the BlackBerry Developer Relations team specializing in Web Development. Prosanta’s focus is on developing out the web platform and tools associated with web development while supporting the development efforts of a number of Independent Software Vendors. Prior to joining RIM, Prosanta had worked on numerous web portals for major multinational firms writing both front and backend code.
  • Tim is the Development Manager for BlackBerry development tooling. This includes Java, Web and also Theme creation tools. He is always hanging out in the development forums trying to help out where he can and to bring your feedback into the next releases of BlackBerry tooling. You’ll also see Tim presenting various topics at the BlackBerry Developer Conference and Wireless Enterprise Symposium so be sure to stop by and say hi. Just don’t start talking about cars or Batman or you won’t be able to get rid of him.
  • I work on the Developer Relations team at RIM, with a focus on enterprise applications for Sales Force Automation, Health Care, Public Safety and Real Estate. I started on the team at the beginning of 2007.
Categories