<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>BlackBerry Developer Blog &#187; game development</title>
	<atom:link href="http://devblog.blackberry.com/tag/game-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://devblog.blackberry.com</link>
	<description></description>
	<lastBuildDate>Fri, 24 May 2013 15:08:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='devblog.blackberry.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/9ef0a66c09615fa946c4179662398878?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>BlackBerry Developer Blog &#187; game development</title>
		<link>http://devblog.blackberry.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://devblog.blackberry.com/osd.xml" title="BlackBerry Developer Blog" />
	<atom:link rel='hub' href='http://devblog.blackberry.com/?pushpress=hub'/>
		<item>
		<title>Unity for BlackBerry 10: Getting Started</title>
		<link>http://devblog.blackberry.com/2013/05/unity-blackberry-10/</link>
		<comments>http://devblog.blackberry.com/2013/05/unity-blackberry-10/#comments</comments>
		<pubDate>Wed, 15 May 2013 13:51:03 +0000</pubDate>
		<dc:creator>Ramprasad Madhavan</dc:creator>
				<category><![CDATA[BlackBerry World]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[Unity]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=15002</guid>
		<description><![CDATA[Yesterday Unity announced an open beta for the BlackBerry 10 Add-on. Be one of the first to bring Unity games to BlackBerry 10 and at the same time contribute to the quality of the Unity for BlackBerry 10 Add-on. This blog post will walk you through the Add-on from start-to-finish. Get your BlackBerry Signing Keys [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15002&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Yesterday Unity announced an open beta for the BlackBerry 10 Add-on. Be one of the first to bring Unity games to BlackBerry 10 and at the same time contribute to the quality of the Unity for BlackBerry 10 Add-on.</p>
<p>This blog post will walk you through the Add-on from start-to-finish.</p>
<h3><strong>Get your BlackBerry Signing Keys</strong></h3>
<p>Before you begin you need to <a href="https://www.blackberry.com/SignedKeys/codesigning.html" target="_blank">register for BlackBerry Signing Keys</a>, which lets you develop your Unity games and publish to <a href="http://appworld.blackberry.com/" target="_blank">BlackBerry World</a>. After signing up, you should receive 2 .csj files that will be used to generate the Signing Keys. If you already have your Signing Keys setup, move on to the next section.</p>
<p><span id="more-15002"></span></p>
<h3><strong>Setup your Signing Keys</strong></h3>
<p>Once you have the Unity Beta SDK installed, make sure you register your computer for BlackBerry development. This can be done through Unity’s Build Settings at File-&gt;Build Settings. You will find the BlackBerry option among other platforms.</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/unity-1.jpg?w=450" /></p>
<p><em>Note:</em> if BlackBerry is not among other platforms, it is probably because you do not have a Pro license or it is not unlocked for the BlackBerry 10 Add-on. You can find more information on activating your Trial Pro license in the Unity Beta forums.</p>
<ol>
<li><strong>Register</strong>
<p>Clicking on the “Player Settings” will open up the BlackBerry Platform settings tab.</p>
<p><em>Note:</em> If you already have setup the BlackBerry Signing Keys with other BlackBerry Developer tools, the BlackBerry Add-on should detect and show you as <em>Registered</em>.</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/unity-2.jpg?w=450" /></p>
</li>
<p>If you have not already registered your computer, click the Register Button and that will pop-up a screen where you can specify the appropriate <em>.csj</em> files that you received in your email. The <em>CSJ Pin</em> corresponds to the pin that you entered when filling out the Signing Key form. The <em>CSK Password</em> that you enter will be your actual Signing Key password that you should make sure to remember.</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/unity-3.jpg?w=450" /></p>
<li><strong>Backup and Restore</strong>
<p>Once you have registered, make sure to backup the generated Signing Keys. It is <strong>very important</strong> that you backup the Signing Keys as this will allow you to develop, publish, and upgrade your game from different computers. Once backed up, you can simply use the Restore button to register a different computer for development.</p>
<p>Keeping your Signing Keys safe and remembering your password saves you a lot of potential hassle!</p>
</li>
<li><strong> Unregister</strong>
<p>The Unregister button removes any Signing Key information from your computer. It is <strong>highly recommended</strong> to backup your keys in order to be able to publish or upgrade your games in the future. Unregistering your Signing Keys without a backup will make it impossible to retrieve them.</p>
</li>
</ol>
<h3><strong>Debug Tokens</strong></h3>
<p>To securely develop, debug, and test your Unity Games, you’ll need DebugTokens.</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/unity-4.jpg?w=450" /></p>
<p>If you already have a BlackBerry 10 Development environment setup, you can simply import your existing debug token from the following default folders:</p>
<ul>
<li>Windows XP: %HOMEPATH%\Local Settings\Application Data\Research In Motion</li>
<li>Windows Vista and Windows 7: %HOMEPATH%\AppData\Local\Research In Motion</li>
<li>Mac OS: ~/Library/Research In Motion</li>
<li>UNIX or Linux: ~/.rim</li>
</ul>
<p>To create a new debug token, click Create and the following window will pop-up to let you specify where to create a DebugToken and for which device based on the device PIN. The PIN of a BlackBerry 10 device can be accessed from the Settings screen in your device.</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/unity-5.jpg?w=450" /></p>
<p>Before uploading the Debug Token, make sure that:</p>
<ol>
<li>The device is in the development mode.<br />
It can be done at <em>Settings Screen-&gt; Security and Privacy -&gt; Development Mode</em></li>
<li>Device IP Address and device password are entered</li>
</ol>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/unity-6.jpg?w=300" /></p>
<p>If you have a USB cable then enter the Development IP Address starting 169.254.x.x in the Device Address text box. If you prefer deploying wirelessly, make sure your device is connected to the same Wi-Fi network and enter the Network IP address that can be found under Settings Screen -&gt; About -&gt; Network -&gt;IP. In both cases, development mode has to be turned on.</p>
<p>To verify that the Debug Token was successfully uploaded, check the development mode screen for the Debug Token details.</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/unity-7.jpg?w=250" /></p>
<p>For security reasons, the generated Debug Tokens are only valid for a month. For example, if you have a debug version of a Unity game installed on your BlackBerry with an expired token, the game will not launch unless it is renewed. You can renew any existing or expired Debug Tokens within the settings. You may also edit a Debug Token to add or remove BlackBerry Device PINs for development.</p>
<h3><strong>Build and Deploy</strong></h3>
<p>Assuming you were able to import your game and upload the debug token, here’s how to enable optimizations and deploy to a BlackBerry 10 Device.</p>
<ol>
<li><strong>Texture Compression</strong>
<p>Depending on the Device’s GPU, you can compress your textures to a GPU-specific texture compression format to improve performance, loading time, and of course, reduce the texture memory size. The following options are available in the Build settings:</p>
</li>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/unity-8.jpg?w=450" /></p>
<ul>
<li><strong>PVRTC</strong> – To optimize your existing textures to Power VR GPU.<br />
Note: among the current Z10 and Q10 Devices lineup, Model Name STL100-1 indicates a PowerVR SGX544 GPU.</li>
<li><strong>ATC</strong> – To optimize your existing textures to Adreno GPU, which is present in majority of BlackBerry Z10 and Q10 devices.</li>
<li><strong>ETC1 or RGBA16</strong> – To optimize your textures to the standard texture compression format included with OpenGL ES 2.0 extensions. Note: ETC1 is used to compress only opaque textures.</li>
</ul>
<li><strong>Build Type</strong>
<p>If your project is in development phase, use the Local Build Type with the development option turned on. This enables the Unity Script Debugging and Profiling feature. If you wish to test your game in release mode or submit it to BlackBerry World, choose the Signed Build Type.</p>
<p><em>Note:</em> To deploy a <em>Signed</em> Build, you do not need a Debug Token to be uploaded to a device. This allows you to distribute you game for Beta testing without having to distribute a Debug Token.</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/unity-9.jpg?w=250" /></p>
<p>Before submitting your game to BlackBerry World, explore the options under the BlackBerry platform settings to choose your game’s Resolution and Presentation options, Icon, Splash Screen, rendering optimizations etc.</p>
<p>Now that you are up and running, lets see those amazing titles on BlackBerry World!</p>
<p>And of course, for any questions, comments, concerns, or kudos feel free to reach out to me directly at <a href="mailto:rmadhavan@blackberry.com" target="_blank">rmadhavan@blackberry.com</a> or connect directly on Twitter at <a href="https://twitter.com/rmadhavan7" target="_blank">@rmadhavan7</a>.</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/15002/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/15002/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15002&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/05/unity-blackberry-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ba5492209a7823e5998202d3e638830d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rmadhavan</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/unity-1.jpg?w=450" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/unity-2.jpg?w=450" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/unity-3.jpg?w=450" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/unity-4.jpg?w=450" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/unity-5.jpg?w=450" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/unity-6.jpg?w=300" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/unity-7.jpg?w=250" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/unity-8.jpg?w=450" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/unity-9.jpg?w=250" medium="image" />
	</item>
		<item>
		<title>Tips For Bringing Your BlackBerry Z10 Game To The BlackBerry Q10</title>
		<link>http://devblog.blackberry.com/2013/04/blackberryq10-gaming/</link>
		<comments>http://devblog.blackberry.com/2013/04/blackberryq10-gaming/#comments</comments>
		<pubDate>Mon, 29 Apr 2013 16:52:38 +0000</pubDate>
		<dc:creator>Pratik S.</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[BlackBerry Q10]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14839</guid>
		<description><![CDATA[With the upcoming release of BlackBerry Q10, there’s never been a better time to bring over your BlackBerry Z10 game and start monetizing on the new form factor. In this post, I will be talking about various porting considerations and best practices to help you get started and ensure that your game runs the best [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14839&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://rimdevblog.files.wordpress.com/2013/04/ztoq.png"><img class="aligncenter size-full wp-image-14841" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/04/ztoq-e1367253023272.png?w=600&#038;h=316" width="600" height="316" /></a></p>
<p>With the upcoming release of BlackBerry Q10, there’s never been a better time to bring over your BlackBerry Z10 game and start monetizing on the new form factor. In this post, I will be talking about various porting considerations and best practices to help you get started and ensure that your game runs the best on Q10.</p>
<p><span id="more-14839"></span></p>
<p>Let’s start off with the hardware differences:</p>
<p><a href="http://rimdevblog.files.wordpress.com/2013/04/specs.png"><img class="aligncenter size-full wp-image-14843" alt="specs" src="http://rimdevblog.files.wordpress.com/2013/04/specs-e1367253111400.png?w=600&#038;h=292" width="600" height="292" /></a></p>
<p>The BlackBerry Q10 uses the same chipset and GPU as BlackBerry Z10 variant B with Qualcomm Snapdragon MSM8960 and Adreno 225. The main differences that you need to consider are aspect ratio, screen size, orientation and physical keyboard.</p>
<p><b>Aspect Ratio</b></p>
<p>If you have designed your game around the 16:9 or 15:9 aspect ratio, you will need to evaluate how to layout your game content to adapt to the 1:1 aspect ratio. There are various approaches you can take to accomplish this. You might be tempted to take the easy approach of simply scaling your game screen to 1:1 aspect ratio by using letter boxing. This approach is not recommend as it could negatively impact user experience of your game.  Since The BlackBerry Q10 has a smaller screen compared to the BlackBerry Z10, you will significantly reduce the game interaction area and waste precious screen space that could otherwise be utilized for game content such as HUD or controls. For a landscape game, one approach you could take to solve this is to use a comprise aspect ratio such as 16:11.  For the BlackBerry Z10, display more content on the sides and for the BlackBerry Q10 display more content at the top and bottom.</p>
<p>Similarly for a portrait game (9:15 or 9:16), you can display more content at top and bottom on the BlackBerry Z10 and more content at the sides on the BlackBerry Q10. In the below example, <a href="http://appworld.blackberry.com/webstore/content/24579876" target="_blank">Bejeweled 2</a> displays the time progress bar at the bottom on the BlackBerry Z10 and on the side on the BlackBerry Q10.</p>
<p><a href="http://rimdevblog.files.wordpress.com/2013/04/compare.png"><img class="aligncenter size-full wp-image-14844" alt="compare" src="http://rimdevblog.files.wordpress.com/2013/04/compare.png?w=531&#038;h=477" width="531" height="477" /></a></p>
<p>If you are using any aspect ratio specific static assets such as backgrounds, images and splash screen, they will need to be scaled accordingly. For the standard splash screen, the <a href="https://developer.blackberry.com/native/" target="_blank">BlackBerry Native SDK</a> allows you to manage multiple device specific splash screens in the same bar-descriptor. For the BlackBerry Q10 you can add a 720&#215;720 splash screen by editing the bar-descriptor using the IDE or a text editor. Here’s an example:</p>
<pre>&lt;splashScreens&gt;
        &lt;image&gt;splash_1280_768.png&lt;/image&gt;
        &lt;image&gt;splash_720_720.png&lt;/image&gt;
&lt;/splashScreens&gt;
      &lt;asset path="assets"&gt;assets&lt;/asset&gt;
      &lt;asset path="icon.png"&gt;icon.png&lt;/asset&gt;
      &lt;asset path="/Users/pratiksapra/assets/splash_1280_768.png"&gt;splash_1280_768.png&lt;/asset&gt;
      &lt;asset path="/Users/pratiksapra/assets/splash_720_720.png"&gt;splash_720_720.png&lt;/asset&gt;</pre>
<p>Once you do this, correct splash screen will be automatically chosen depending on the device your game is launched on.</p>
<p>Next, if your game uses overlay controls such as virtual joysticks, UI elements and menus, you will need to reposition them as needed. The best approach is to lay them out relative to screen width and height thus making them aspect ratio independent. Below is an example of a flexible UI layout used in <a href="http://appworld.blackberry.com/webstore/content/119547" target="_blank">Bard’s Tale</a> that works on both aspect ratios.</p>
<p><a href="http://rimdevblog.files.wordpress.com/2013/04/bards.png"><img class="aligncenter size-full wp-image-14845" alt="bards" src="http://rimdevblog.files.wordpress.com/2013/04/bards-e1367253830145.png?w=600&#038;h=245" width="600" height="245" /></a></p>
<p><b>Screen Size</b></p>
<p>The BlackBerry Q10 features a 3.1” screen surrounded by a gesture sensitive bezel. If your game uses on-screen controls, it’s important to place them away from the bottom edge of the screen to prevent accidental swipes. An accidental swipe-up gesture during game play will thumbnail your game and cause unnecessary interruption for the user.</p>
<p>Optimizing your game controls is also really important. For example, If your game uses dual virtual joystick control scheme, I would recommend reducing this to just one on-screen joystick.  Due to smaller screen size, the user might end up covering most of the screen when controlling both joysticks using two fingers. We will talk about a solution to this in the later part of this post.</p>
<p><b>Orientation </b></p>
<p>The BlackBerry Z10 supports portrait as the default orientation. If you are setting the orientation in the bar-descriptor for your game, you might be wondering whether this would work on the BlackBerry Q10 without the overhead of creating a separate binary with a different bar-descriptor. To make your life easy, we have made sure that both portrait and landscape orientation settings map to portrait orientation on the BlackBerry Q10. The below example shows how your game would be oriented on the BlackBerry Z10 and the BlackBerry Q10 based on the bar-descriptor orientation setting.</p>
<p><a href="http://rimdevblog.files.wordpress.com/2013/04/orientation.png"><img class="aligncenter size-full wp-image-14846" alt="orientation" src="http://rimdevblog.files.wordpress.com/2013/04/orientation-e1367254029645.png?w=600&#038;h=416" width="600" height="416" /></a></p>
<p><b>Input </b></p>
<p>The BlackBerry Q10 features a physical keyboard so your game needs to be aware of this. If your game contains any buttons to activate the virtual keyboard, you should make sure they are removed or disabled when the game is running on the BlackBerry Q10. Unlike the virtual keyboard, the physical keyboard is always there and can be utilized as an input mechanism.    You can combine keyboard input with touch screen to offer an intuitive and robust input scheme for your game. For example if you want to optimize the dual virtual joystick input mechanism for the BlackBerry Q10, you can substitute one of the joysticks with keyboard input. Or if your game only requires gamepad style input you can use the keyboard as a gamepad.</p>
<p><a href="http://rimdevblog.files.wordpress.com/2013/04/gamepad1.png"><img class="aligncenter size-full wp-image-14851" alt="gamepad" src="http://rimdevblog.files.wordpress.com/2013/04/gamepad1.png?w=538&#038;h=341" width="538" height="341" /></a></p>
<p>Integrating keyboard input in your game is super easy. To accomplish this, in your main event loop simply handle the SCREEN_EVENT_KEYBOARD event and check for the keydown value. Here’s a code snippet on how to do this:</p>
<pre><b>if</b> (<b>screen_get_domain</b>() == domain) {

        screen_event_t screen_event = <b>screen_event_get_event</b>(event);

        <b>int</b> screen_val;
        <b>screen_get_event_property_iv</b>(screen_event, <i>SCREEN_PROPERTY_TYPE</i>, &amp;screen_val);

        <b>switch</b> (screen_val) {
        <b>case</b> <i>SCREEN_EVENT_MTOUCH_TOUCH</i>:
//handle touch events

        <b>case</b> <i>SCREEN_EVENT_KEYBOARD</i>:
            <b>screen_get_event_property_iv</b>(screen_event, <i>SCREEN_PROPERTY_KEY_FLAGS</i>, &amp;screen_val);

            <b>if</b> (screen_val &amp; KEY_DOWN) {
                <b>screen_get_event_property_iv</b>(screen_event, <i>SCREEN_PROPERTY_KEY_SYM</i>,&amp;screen_val);

                <b>fprintf</b>(stderr, "The '%c' key was pressed\n", (<b>char</b>)screen_val);

                <b>switch</b> (screen_val) {
                <b>case</b> KEYCODE_W:
                    // Handle Up
                    <b>break</b>;
                <b>case</b> KEYCODE_A:
                    // Handle Left
                    <b>break</b>;
                <b>case</b> KEYCODE_Z:
                    // Handle Down
                    <b>break</b>;
                <b>case</b> KEYCODE_D:
                    // Handle Right 
                    <b>break</b>;
                <b>case</b> KEYCODE_L:
                    //Button A
                    <b>break</b>;
                <b>case</b> KEYCODE_P:
                    //Button B
                    <b>break</b>;
                <b>case</b> KEYCODE_K: 
                    //Button X
                    <b>break</b>;
                <b>case</b> KEYCODE_O:
                    // Button Y
                    <b>break</b>;
                <b>default</b>:
                    <b>break</b>;
                }
            }
            <b>break</b>;
        }</pre>
<p><b>Tools &amp; Deployment</b></p>
<p>To get started, you will need the latest BlackBerry Native SDK 10.1, which includes BlackBerry Q10 support. If you are running an older version please upgrade by visiting <a href="http://developer.blackberry.com/native">http://developer.blackberry.com/native</a>.</p>
<p>To deploy your game on BlackBerry World, follow the regular process for creating a new release in the Vendor Portal. In the supported devices screen, make sure you select BlackBerry Q10.</p>
<p><b>Known Issues</b></p>
<p>There are two known issues with earlier versions of 10.1 device software that you need to be aware of.</p>
<ul>
<li>Audio – In-game audio playback results in complete loss of device audio and a reboot is required to restore audio.</li>
<li>Orientation – If the orientation is set to landscape in the bar-descriptor, the app splash screen and system dialogs such as volume are incorrectly oriented.</li>
</ul>
<p>Both of these issues have been fixed in the latest 10.1 device software posted at the below link so if you are running an older build please upgrade.</p>
<p><a href="https://developer.blackberry.com/blackberry10devalpha/devalpha_update.html">https://developer.blackberry.com/blackberry10devalpha/devalpha_update.html</a></p>
<p>I hope you found the information included in this post useful.  If you have any questions or feedback please leave a comment below or reach out to me directly on Twitter <a href="http://twitter.com/pratiksapra" target="_blank">@pratiksapra</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14839/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14839/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14839&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/04/blackberryq10-gaming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/5c7714acaeda7a566baa9545c280c91c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pratiks1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/ztoq-e1367253023272.png" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/specs-e1367253111400.png" medium="image">
			<media:title type="html">specs</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/compare.png" medium="image">
			<media:title type="html">compare</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/bards-e1367253830145.png" medium="image">
			<media:title type="html">bards</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/orientation-e1367254029645.png" medium="image">
			<media:title type="html">orientation</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/gamepad1.png" medium="image">
			<media:title type="html">gamepad</media:title>
		</media:content>
	</item>
		<item>
		<title>Unity and BlackBerry Gaming at GDC 2013</title>
		<link>http://devblog.blackberry.com/2013/04/unity-and-blackberry-gaming-at-gdc-2013/</link>
		<comments>http://devblog.blackberry.com/2013/04/unity-and-blackberry-gaming-at-gdc-2013/#comments</comments>
		<pubDate>Thu, 04 Apr 2013 18:18:48 +0000</pubDate>
		<dc:creator>Ramprasad Madhavan</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[gamepads]]></category>
		<category><![CDATA[Gaming Sessions]]></category>
		<category><![CDATA[gdc]]></category>
		<category><![CDATA[Unity]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14510</guid>
		<description><![CDATA[The BlackBerry Gaming team is back from an awesome Game Developer Conference 2013 held last week in San Francisco. The crew was there with the BlackBerry Gaming Booth to show off gaming on BlackBerry to gamers and game developers from around the world. During BlackBerry Jam Europe 2013, we made a big announcement about Unity support [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14510&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://rimdevblog.files.wordpress.com/2013/04/unity.png"><img class="aligncenter size-full wp-image-14512" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/04/unity.png?w=587&#038;h=253" width="587" height="253" /></a></p>
<p>The BlackBerry Gaming team is back from an awesome <a href="http://gdconf.com" target="_blank">Game Developer Conference</a> 2013 held last week in San Francisco. The crew was there with the BlackBerry Gaming Booth to show off gaming on BlackBerry to gamers and game developers from around the world.</p>
<p>During BlackBerry Jam Europe 2013, we made a big announcement about <a href="http://devblog.blackberry.com/2013/02/blackberry-10-unity/">Unity support for BlackBerry 10</a>. The big news this time around was the announcement of the <a href="http://developer.blackberry.com/games">Open Beta SDK release</a> that will start in the next few weeks. We have been hard at work to provide a Unity Add On integrated with cool BlackBerry 10 features that game developers have been asking for.</p>
<p><span id="more-14510"></span>Gamers and game developers got to experience some of the features of the Unity Add On for BlackBerry 10 at Unity&#8217;s BlackBerry Pod space. That turned out to be the busiest station we have ever manned. The gamers were stunned at seeing a BlackBerry Z10 turn into a high performance mini console with a simple HDMI cable and a Bluetooth HID Steel Series gamepad controller. They were further excited by the fact that BlackBerry 10 now supports some very popular gamepads out there right out-of-the-box and this feature integrated directly with the Unity SDK. The goal is to have game developers make as little code changes as possible to port their games over along with seamless gamepad support.</p>
<p>Along with the BlackBerry Lead Developer from Unity and CEO of Darkwind media, Scott Flynn, I was co-presented three exciting  Unity Booth sessions and a very well received GDC session on Professional Game Engines for BlackBerry 10. For those who missed the sessions, the GDC Session will be directly made available through the GDC vault.</p>
<p>If you are looking to be the first ones to port your Mobile Unity Games to BlackBerry 10, <a href="http://unity3d.com/beta/blackberry10">pre-register here</a> for the Unity BlackBerry 10 Open Beta. As a participant in our open beta for the Unity BlackBerry 10 add-on, you get the chance to see how your content will run on this new global platform, and give feedback for improvements directly to Unity developers.</p>
<p>And of course, for any questions, comments, concerns or kudos on the Professional Game Engines, Middlewares or Gaming frameworks for BlackBerry feel free to reach out to me directly at <a href="mailto:rmadhavan@blackberry.com" target="_blank">rmadhavan@blackberry.com</a> or connect to me directly on Twitter at <a href="https://twitter.com/rmadhavan7">@rmadhavan7</a>.</p>
<p>Happy BlackBerry Gaming!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14510/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14510/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14510&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/04/unity-and-blackberry-gaming-at-gdc-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ba5492209a7823e5998202d3e638830d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rmadhavan</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/unity.png" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>BlackBerry GotGame Port-a-thon LIVE Asia Pacific</title>
		<link>http://devblog.blackberry.com/2013/03/blackberry-gotgame-port-a-thon-live-asia-pacific/</link>
		<comments>http://devblog.blackberry.com/2013/03/blackberry-gotgame-port-a-thon-live-asia-pacific/#comments</comments>
		<pubDate>Tue, 26 Mar 2013 13:09:28 +0000</pubDate>
		<dc:creator>Jiazi Xu</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[apac]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[game porting]]></category>
		<category><![CDATA[Game Porting Events]]></category>
		<category><![CDATA[GotGame]]></category>
		<category><![CDATA[Port-A-Thon]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14314</guid>
		<description><![CDATA[Special guest post from Pratik and Ram &#8211; Ed. We love working with developers from all around the world and especially if they make cool games that we can play on our new BlackBerry 10 devices! Right after BlackBerry Jam Asia 2012, we had an amazing opportunity to work with incredibly talented game developers from the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14314&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><em>Special guest post from Pratik and Ram &#8211; Ed.</em></p>
<p>We love working with developers from all around the world and especially if they make cool games that we can play on our new BlackBerry 10 devices! Right after <a href="http://www.blackberryjamconference.com/asia" target="_blank">BlackBerry Jam Asia 2012</a>, we had an amazing opportunity to work with incredibly talented game developers from the Asia Pacific Region. To give you an idea on the amount of travelling it took: 16 days, 8 cities, 39800 miles per head!  The best part was we found 260 happy game developers at the end of the trip.  The GotGame Port-a-thon event comprised of locations spanning six Asia Pacific countries including Thailand, Singapore, Australia, Indonesia, India, Hong Kong and China.  During these intense one-day events, we got a chance to work with some amazing talent from the gaming industry.  As a result, almost 800 high quality game titles were submitted over a span of just three weeks!</p>
<p>We would like to give a BIG Thank you to all the game developers who participated in these events and made GotGame Port-a-thon LIVE a huge success!</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/FS9_7tifGTg?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14314/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14314&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/03/blackberry-gotgame-port-a-thon-live-asia-pacific/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/262099594d8c258beb619f2a5bedcb61?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">jiazeex</media:title>
		</media:content>
	</item>
		<item>
		<title>[VIDEO] Interview with Marmalade’s Nick Smith – February 2013</title>
		<link>http://devblog.blackberry.com/2013/02/jam-europe-2013-marmalade/</link>
		<comments>http://devblog.blackberry.com/2013/02/jam-europe-2013-marmalade/#comments</comments>
		<pubDate>Wed, 27 Feb 2013 16:10:38 +0000</pubDate>
		<dc:creator>Alex Kinsella</dc:creator>
				<category><![CDATA[BlackBerry Jam]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[BlackBerry 10 Games]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[Marmalade]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=13967</guid>
		<description><![CDATA[Did you know Marmalade and BlackBerry Jam go great together for a flavorful combination? Preserve jokes aside, our platform partner Marmalade has made it easy to create apps and deploy towards BlackBerry 10 and many other ecosystems. Marmalade’s Nick Smith joins us in this interview to talk about why he’s excited about BlackBerry 10 and [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13967&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Did you know Marmalade and BlackBerry Jam go great together for a flavorful combination? Preserve jokes aside, our platform partner Marmalade has made it easy to create apps and deploy towards BlackBerry 10 and many other ecosystems. Marmalade’s Nick Smith joins us in this interview to talk about why he’s excited about BlackBerry 10 and what’s on the horizon for Marmalade and BlackBerry.</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/ByRggpLYR9I?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p>&nbsp;</p>
<p>For a closer look at what Marmalade is capable of make sure you check out this demo of Nick using Marmalade Quick to build a 2D application really fast with Lua and Cocos2d.</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/oqhk3UEsK48?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p>&nbsp;</p>
<p>Have you used <a href="http://www.madewithmarmalade.com/">Marmalade</a> to create apps for <a href="http://www.madewithmarmalade.com/blackberryhub">BlackBerry 10</a>? We’d love to hear about how your experience has been so far!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/13967/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/13967/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13967&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/02/jam-europe-2013-marmalade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d0e94a7e96e80d5911732d43f31a39c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex K.</media:title>
		</media:content>
	</item>
		<item>
		<title>Adding Gamepad Support to Your BlackBerry 10 Game</title>
		<link>http://devblog.blackberry.com/2013/02/blackberry-10-gamepad-support/</link>
		<comments>http://devblog.blackberry.com/2013/02/blackberry-10-gamepad-support/#comments</comments>
		<pubDate>Thu, 21 Feb 2013 17:22:02 +0000</pubDate>
		<dc:creator>SeanPaulT</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Platform Services]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[gamepads]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[sample code]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=13882</guid>
		<description><![CDATA[I&#8217;ve heard a lot of people claim that the gamepad is dead &#8211; doomed to be replaced by touch screens. I disagree with this sentiment.  There’s nothing wrong with mobile games using cool new control schemes that make good use of touch screens – but if I’m playing a game that was designed with gamepads [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13882&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://rimdevblog.files.wordpress.com/2013/02/blackberry10_gamepadsupport.jpg"><img class="aligncenter size-full wp-image-13896" alt="BlackBerry10_GamepadSupport" src="http://rimdevblog.files.wordpress.com/2013/02/blackberry10_gamepadsupport.jpg?w=598&#038;h=147" width="598" height="147" /></a></p>
<p>I&#8217;ve heard a lot of people claim that the <a href="http://en.wikipedia.org/wiki/Gamepad" target="_blank">gamepad</a> is dead &#8211; doomed to be replaced by touch screens. I disagree with this sentiment.  There’s nothing wrong with mobile games using cool new control schemes that make good use of touch screens – but if I’m playing a game that was designed with gamepads in mind, like <a href="http://appworld.blackberry.com/webstore/content/18561355" target="_blank">Shadowgun</a>, why can’t I just use a real controller?</p>
<p>Well, now I can &#8211; and so can you. Check out gamepad support now being added in upcoming <a href="http://unity3d.com/promo/unity4/?gclid=CPXA9bH0x7UCFUXf4AodJm0Aig" target="_blank">Unity 4</a> for BlackBerry 10:</p>
<p><span id="more-13882"></span></p>
<p style="text-align:center;"><a href="http://rimdevblog.files.wordpress.com/2013/02/blackberry10_gamepadsupport.jpg"><a href="http://rimdevblog.files.wordpress.com/2013/02/unity_gamepadsupport.jpg"><img class="aligncenter size-full wp-image-13898" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/02/unity_gamepadsupport.jpg?w=598&#038;h=219" width="598" height="219" /></a></a></p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/d9SEYTlFsIM?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p>&nbsp;</p>
<p>After years of being frustrated by touch screen gamepads, I’m excited about bringing physical gamepad support to the <a href="developer.blackberry.com/native/" target="_blank">Native SDK</a> for BlackBerry 10. By making use of the new Gamepad API features developers can make their games work with physical controllers, giving their players the tactile responsiveness they’re used to from consoles and desktop PCs. When this is combined with BlackBerry 10’s built-in HDMI connectivity, you end up with a console experience in your pocket!</p>
<p>Here is another video showcasing gamepad pairing instructions and a racer sample on <a href="http://gameplay3d.org/">GamePlay3D</a> that now supports not only desktop gamepad support but also BlackBerry 10:</p>
<p><a href="http://rimdevblog.files.wordpress.com/2013/02/gameplay3d_gamepadsupport.jpg"><img class="aligncenter size-full wp-image-13897" alt="GamePlay3D_GamepadSupport" src="http://rimdevblog.files.wordpress.com/2013/02/gameplay3d_gamepadsupport.jpg?w=433&#038;h=132" width="433" height="132" /></a></p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/B4NGAp2O2sM?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p>&nbsp;</p>
<p>Before you get started implementing this in your own game, I want to answer a few of the most common questions people ask me about the API.</p>
<ol start="1">
<li>What gamepads are supported right now?
<ol start="1">
<li>The <a href="http://steelseries.com/products/other/steelseries-free-mobile-wireless-controller">SteelSeries Free</a>.</li>
<li>The <a href="http://www.gametel.se/">Gametel</a>.</li>
<li>The Wii Remote.  Note that currently only the core buttons on the remote itself are supported – that means no attachments and no motion controls, just the D-Pad and other buttons.</li>
</ol>
</li>
<li>If new gamepads come out, do I have to update my game to support them?
<ol start="1">
<li>No, you don’t!  When new controllers become available, we’ll update the mappings in a system update and your game will start receiving gamepad inputs from the new hardware.  Because the Gamepad API is an abstraction above HID, and because we map each gamepad’s unique HID report format to the Gamepad API, you don’t need to write any code that’s specific to a single controller.</li>
</ol>
</li>
<li>Do users need to install anything to set up or configure their gamepads?
<ol start="1">
<li>No.  The Gamepad API is integrated into the Screen library, the same library you are already using to handle touch, keyboard, and other input events.  All users have to do is pair their device through the Bluetooth settings screen for it to start sending inputs to your game.</li>
</ol>
</li>
</ol>
<p>We realize there are other gamepads out there and continue to work towards supporting as many devices as possible. If you know of a Bluetooth, HID-compatible game controller that’s not supported yet, please let us know in the comments. Meanwhile, the fact that you won’t have to change your code when we add more devices to the list means you only help yourself (and your users) by starting to use this new feature right away.</p>
<p><a href="http://developer.blackberry.com/native/documentation/bb10/create_the_gamepad_app.html">Here’s a tutorial</a> that should get you up and running. It includes plenty of code snippets and is based on <a href="https://github.com/blackberry/NDK-Samples/tree/master/Gamepad">this open-source sample project</a>, which started as a little app I whipped up to test the new API. It eventually turned into a demo of two-player connectivity and a configuration screen.  I hope you find it useful.</p>
<p>Please, for the sake of everyone who’s ever been frustrated by touch controls, try this new feature and leave your feedback – I’m eager to do what I can to help if you have any trouble.  Most of all, I’m looking forward to playing your games with a real gamepad!</p>
<p>Links:</p>
<ul>
<li><a href="http://developer.blackberry.com/native/documentation/bb10/create_the_gamepad_app.html">Tutorial</a></li>
<li><a href="https://github.com/blackberry/NDK-Samples/tree/master/Gamepad">Sample code</a></li>
<li><a href="http://steelseries.com/products/other/steelseries-free-mobile-wireless-controller">SteelSeries Free</a></li>
<li><a href="http://www.gametel.se/">Gametel</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/13882/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/13882/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13882&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/02/blackberry-10-gamepad-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/588de8e9ded23b503ae5fb589bf35159?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">seanpaultaylor</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/02/blackberry10_gamepadsupport.jpg" medium="image">
			<media:title type="html">BlackBerry10_GamepadSupport</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/02/unity_gamepadsupport.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/02/gameplay3d_gamepadsupport.jpg" medium="image">
			<media:title type="html">GamePlay3D_GamepadSupport</media:title>
		</media:content>
	</item>
		<item>
		<title>Making your game social with Scoreloop</title>
		<link>http://devblog.blackberry.com/2013/02/scoreloop/</link>
		<comments>http://devblog.blackberry.com/2013/02/scoreloop/#comments</comments>
		<pubDate>Thu, 21 Feb 2013 15:23:22 +0000</pubDate>
		<dc:creator>Ramprasad Madhavan</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Cocos2d-x]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[scoreloop]]></category>
		<category><![CDATA[social gaming]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=13818</guid>
		<description><![CDATA[In my last blog post, you got Up and Running with Cocos2d-x library on BlackBerry 10. Assuming you are well ahead in porting your game, may I suggest a wonderful idea to make your game go viral? Make use of Scoreloop and the power of our Social Gaming hub. BlackBerry 10 comes with a lot [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13818&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img alt="" src="http://rimdevblog.files.wordpress.com/2013/02/scorelooppic1.jpg?w=600" /></p>
<p>In my last blog post, you got <a href="http://devblog.blackberry.com/2013/01/cocos2d-x-on-blackberry-10/" target="_new">Up and Running with Cocos2d-x</a> library on BlackBerry 10. Assuming you are well ahead in porting your game, may I suggest a wonderful idea to make your game go viral? Make use of Scoreloop and the power of our Social Gaming hub.</p>
<p>BlackBerry 10 comes with a lot of surprises for gamers including the introduction of the BlackBerry Social Gaming Hub via the Games app. Gamers can now meet new friends, discover popular games and share their experience through the Games app.</p>
<p>It doesn’t stop there. The Games app enables Scoreloop-integrated games to automatically post activities such as achievements, challenge results and high scores to a gamer’s timeline. With over 250 Million users already playing Scoreloop-powered games across platforms, this gives any game a great chance make a viral impact. There are also some good featuring opportunities in the “Games” section of the games app.</p>
<p><span id="more-13818"></span></p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/02/scorelooppic2.jpg?w=180" /> <img alt="" src="http://rimdevblog.files.wordpress.com/2013/02/scorelooppic3.jpg?w=180" /> <img alt="" src="http://rimdevblog.files.wordpress.com/2013/02/scorelooppic4.jpg?w=180" /></p>
<p>In this post, I will walk you through the process of integrating Scoreloop into the cocos2d-x BBTemplate project we setup in my last blog post. The instructions are generic enough and can applied to any other open library with minor modifications.</p>
<h3><strong>Set up Scoreloop account</strong></h3>
<p>First, create a Scoreloop developer account at <a href="https://developer.scoreloop.com/" target="_new">https://developer.Scoreloop.com</a>. If you already are a BlackBerry user and have a BlackBerry ID, there is no need to create a new account. Simply choose “Login with BlackBerry ID” and enter your BlackBerry ID credentials.</p>
<p>After logging in, you will see three options. You can skip the first option as the BlackBerry 10 Native SDK comes preloaded with the Scoreloop SDK and there is no need to download any external libraries. Now create a game title and choose “BlackBerry” option. If the game’s name is not already taken, a profile will be created.</p>
<p>Once the game account is created, you will see various options to customize your game’s social gaming options. If you already have an account and have already published titles using Scoreloop, you can choose the newly created game from the drop down menu.</p>
<h3><strong>Getting started</strong></h3>
<p>Follow the instructions below to include the Scoreloop library to the BBTemplateProject.</p>
<ol>
<li>Right click the game project settings</li>
<li>Select C/C++ Build -&gt; Settings -&gt; Tool Settings -&gt; QCC Linker</li>
<li>Add “scoreloopcore” library to the list of Libraries</li>
</ol>
<p>To be able to make use of Scoreloop’s features, the infrastructure need to be setup and it all starts with creating an instance of Scoreloop client. Add Scoreloop’s main header file in HelloWorldScene.h and add the below mentioned Scoreloop variables in the “HelloWorld” class.</p>
<pre>#include &lt;Scoreloop/Scoreloopcore.h&gt;</pre>
<p>In your Scoreloop account, fetch the application data corresponding to your game title from the “Game Overview” section. It should look something like this:</p>
<pre>Platforms	BlackBerry
Game ID	xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
Game Secret	Xxxxxxxxxx
Game Currency Code	IBI</pre>
<p><strong>Add this information to your code along with the game version and language:</strong></p>
<pre>static const char SCORELOOP_GAME_ID[] = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx";
static const char SCORELOOP_GAME_SECRET[] = "xxxxxxxxxx";
static const char SCORELOOP_GAME_VERSION[] = "1.0";
static const char SCORELOOP_GAME_CURRENCY[] = "IBI";
static const char SCORELOOP_GAME_LANGUAGE[] = "en";</pre>
<p><strong>In the init() method, initialize the Scoreloop client and its data components as shown below:</strong></p>
<pre>SC_InitData_Init(&amp;scData);
SC_Error_t errCode = SC_Client_New(&amp;client, &amp;scData, SCORELOOP_GAME_ID, SCORELOOP_GAME_SECRET, 
SCORELOOP_GAME_VERSION, SCORELOOP_GAME_CURRENCY, SCORELOOP_GAME_LANGUAGE);</pre>
<p>Note: If the user had not already setup his Social Gaming Hub account, he may be prompted to sign in with his BlackBerry ID and credentials.</p>
<p><strong>Fetching information from the Scoreloop server</strong></p>
<p>To fetch user information from the Scoreloop server, a Scoreloop user controller needs to be created. Queries receive asynchronous response and needs a callback function to be registered. In the snippet below, fetchUserComplete will be called upon a response from the server.</p>
<pre>SC_Client_CreateUserController(client, &amp;userController, fetchUserComplete, this);</pre>
<p><strong>For example: if the game needs to query the current session user’s information call</strong></p>
<pre>SC_UserController_LoadUser(userController);</pre>
<p>Once a user controller is successfully created, it can be used to query information. There are two approaches to get the desired information from the server.</p>
<ol>
<li>Via BlackBerry Platform Services (BPS) events.</li>
<li>Using a custom events</li>
</ol>
<p><strong>Approach 1:</strong> Via BlackBerry Platform Services (BPS) events</p>
<p>Cocos2d-x absorbs all the BPS events in its implementation and you can modify the cocos2d-x source code directly and have it call back whenever a BPS event arrives. CCEGLView::handleEvents() is where the event handling takes place and it calls the callback function that was registered through the “setEventCallback()”. The advantage of this approach is that it does not have event-polling overhead. The code snippets below show the changes made to the cocos2d-x library and the BBTemplate project to accomplish Scoreloop event handling via BPS events.</p>
<p>CCEGLView.h</p>
<pre>void * m_eventCookie;
CEGLViewEventCallback m_eventCallback;
void setEventCallback(CCEGLViewEventCallback callback, void *cookie);</pre>
<p>CCEGLView.cpp</p>
<pre>void CCEGLView::setEventCallback(CCEGLViewEventCallback callback, void *cookie) {
	m_eventCookie = cookie;
	m_eventCallback = callback;
}
bool CCEGLView::handleEvents() {
	...

	for (;;) {

		if (m_eventCallback != NULL)
		m_eventCallback(m_eventCookie, event);
...
    }
}</pre>
<p>HelloWorldScene.h</p>
<pre>void fetchUserComplete(SC_Error_t result);
static void fetchUserComplete(void* userData, SC_Error_t result) {
 (reinterpret_cast(userData))-&gt;fetchUserComplete(result);
}</pre>
<p>HelloWorldScene.cpp</p>
<pre>bool HelloWorld::init() {
...
scData.runLoopType = SC_RUN_LOOP_TYPE_BPS;
SC_Error_t errCode = SC_Client_New(&amp;client, &amp;scData, SCORELOOP_GAME_ID, SCORELOOP_GAME_SECRET, SCORELOOP_GAME_VERSION, SCORELOOP_GAME_CURRENCY, SCORELOOP_GAME_LANGUAGE);

CCEGLView::sharedOpenGLView()-&gt;setEventCallback(StaticOnScoreloopUIEvent, (&amp;_scInitData);
...
}

static void OnScoreloopUIEvent(void *cookie, void *event) {
SC_HandleBPSEvent((SC_InitData_t  *)cookie, (bps_event_t *)event);
}
void HelloWorld::fetchUserComplete(SC_Error_t result) {
...
}</pre>
<p><strong>Approach 2: Via custom events</strong></p>
<p>An alternative approach to handle Scoreloop events is to use the Scoreloop custom event queue. The difference here is that incoming Scoreloop responses are processed by periodic polling. The good news is that cocos2d-x already has an infrastructure to support scheduling and the disadvantage of this approach is that polling takes place periodically and sometimes even when no Scoreloop event is expected.</p>
<p>The custom event handler can be called in game’s update() function or scheduled via cocos2d-x schedule() function.</p>
<p>HelloWorldScene.h</p>
<pre>void OnScoreloopCustomEvent(float o);
void fetchUserComplete(SC_Error_t result);
static void fetchUserComplete(void* userData, SC_Error_t result) {
 (reinterpret_cast(userData))-&gt;fetchUserComplete(result);
}</pre>
<p>HelloWorldScene.cpp</p>
<pre>bool HelloWorld::init() {
...
scData.runLoopType = SC_RUN_LOOP_TYPE_CUSTOM;
SC_Error_t errCode = SC_Client_New(&amp;client, &amp;scData, SCORELOOP_GAME_ID, SCORELOOP_GAME_SECRET, SCORELOOP_GAME_VERSION, SCORELOOP_GAME_CURRENCY, SCORELOOP_GAME_LANGUAGE);

// schedule to call this method with every frame
this-&gt;schedule(schedule_selector(HelloWorld::OnScoreloopCustomEvent));
...
}

void HelloWorld::OnScoreloopCustomEvent(float o) {
SC_HandleCustomEvent(&amp;scData, SC_FALSE);
}

void HelloWorld::fetchUserComplete(SC_Error_t result) {
...
}</pre>
<p>Well, there you have it &#8211; you are up and running with cocos2d-x and Scoreloop. Here are some great resources available to you to get more out of Scoreloop SDK:</p>
<p><a href="http://developer.blackberry.com/native/documentation/playbook/scoreloop/index.html" target="_new">Scoreloop SDK Guide</a></p>
<p><a href="https://github.com/blackberry/Scoreloop-Samples" target="_new">Scoreloop Integration Sample</a> -101 Scoreloop Integration sample</p>
<p><a href="https://github.com/blackberry/NDK-Samples/tree/master/BelligerentBlocks" target="_new">Belligerent Blocks</a> – A Sample 1 level game that showcases great use cases of Scoreloop</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/13818/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/13818/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13818&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/02/scoreloop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ba5492209a7823e5998202d3e638830d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rmadhavan</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/02/scorelooppic1.jpg?w=600" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/02/scorelooppic2.jpg?w=180" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/02/scorelooppic3.jpg?w=180" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/02/scorelooppic4.jpg?w=180" medium="image" />
	</item>
		<item>
		<title>Incorporating video into your BlackBerry 10 OpenGL applications</title>
		<link>http://devblog.blackberry.com/2013/01/blackberry-10-opengl-video/</link>
		<comments>http://devblog.blackberry.com/2013/01/blackberry-10-opengl-video/#comments</comments>
		<pubDate>Fri, 18 Jan 2013 18:41:08 +0000</pubDate>
		<dc:creator>Dale Ducharme</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=13149</guid>
		<description><![CDATA[Guest post from Dale D. &#8211; Ed. So, you want to add video to your native OpenGL application on BlackBerry 10? Below I’ll go through the steps that you need to complete in order to get it up and running quickly. The first thing you’ll want to do is create a window group in your [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13149&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><i>Guest post from Dale D. &#8211; Ed.</i></p>
<p>So, you want to add video to your native OpenGL application on BlackBerry 10? Below I’ll go through the steps that you need to complete in order to get it up and running quickly.</p>
<p>The first thing you’ll want to do is create a window group in your screen creation code. The window group will be used to attach the video window to. The code is as follows:</p>
<pre>       // Window group name
static const char *window_group_name = "videowindowgroup";

       if (screen_create_window_group(screen_win, window_group_name)) 
       {
              fprintf(stderr,"screen_create_window_group failed");
       }</pre>
<p>The next thing you’ll want to do is handle the initialization of the video screen. There is a screen event called SCREEN_EVENT_CREATE that you need to listen to and initialize the video screen as you see fit. For example, if I wanted my screen to take up an arbitrary width and height I could do the following:</p>
<p><span id="more-13149"></span></p>
<pre>       case SCREEN_EVENT_CREATE:
{
              screen_window_t video_window;
              screen_get_event_property_pv(screen_event, SCREEN_PROPERTY_WINDOW, (void **)&amp;video_window);

              int size[2];
              size[0] = video_width;
              size[1] = video_height;

              screen_set_window_property_iv(video_window, SCREEN_PROPERTY_SIZE, size);
              screen_set_window_property_iv(video_window, SCREEN_PROPERTY_BUFFER_SIZE, size);

              int order = 1;
              screen_set_window_property_iv(video_window, SCREEN_PROPERTY_ZORDER, &amp;order);
              break;
}</pre>
<p>It’s important to set the zorder on the video window as it’s behind your main window by default, so make sure the order is set to a positive number.</p>
<p>Once initialization is complete, you can create a method to play your video. You can just use mmrenderer in order to do the heavy lifting. We just need to point it to use the window group that we’ve already defined called &#8220;videowindowgroup&#8221;. An example might look like this:</p>
<pre>// I/O devices
static const char *video_device_url    = "screen:?winid=videowindowgroup&amp;wingrp=videowindowgroup";
static const char *audio_device_url    = "audio:default";

// Name of video context
static const char *video_context_name = "videocontextname";

// I/O variables
int                video_device_output_id = -1;
int                audio_device_output_id = -1;

// Renderer variables
static mmr_connection_t*     mmr_connection = 0;
static mmr_context_t*        mmr_context = 0;

int playVideo()
{
       int rc;

       /*
       * Configure mm-renderer.
       */
       mmr_connection = mmr_connect(NULL);
       if (mmr_connection == NULL) {
              return EXIT_FAILURE;
       }

       mmr_context = mmr_context_create(mmr_connection, video_context_name, 0, S_IRWXU|S_IRWXG|S_IRWXO);
       if (mmr_context == NULL) {
              return EXIT_FAILURE;
       }

       /*
       * Configure video and audio output.
       */
       video_device_output_id = mmr_output_attach(mmr_context, video_device_url, "video");
       if (video_device_output_id == -1) {
              return EXIT_FAILURE;
       }

       audio_device_output_id = mmr_output_attach(mmr_context, audio_device_url, "audio");
       if (audio_device_output_id == -1) {
              return EXIT_FAILURE;
       }

       /*
       * Build up the path to where the video is.
       */
       char cwd[PATH_MAX];
       char media_file[PATH_MAX];
       getcwd(cwd, PATH_MAX);

       rc = snprintf(media_file, PATH_MAX, "file://%s/app/native/myVideo.m4v", cwd);
       if ((rc == -1) || (rc &gt;= PATH_MAX)) {
              return EXIT_FAILURE;
       }

       /*
       * Start the playback.
       */
       if (mmr_input_attach(mmr_context, media_file, "track") != 0) {
              fprintf(stderr, "failed to attach video\n");
              return EXIT_FAILURE;
       }

       if (mmr_play(mmr_context) != 0) {
              return EXIT_FAILURE;
       }

       return EXIT_SUCCESS;
}</pre>
<p>Finally when we’re done, we’ll want to clean up the window and the mmrenderer contexts:</p>
<pre>void clearVideoScreen(screen_event_t screen_event)
{
       mmr_stop(mmr_context);
       mmr_output_detach(mmr_context, audio_device_output_id);
       mmr_output_detach(mmr_context, video_device_output_id);
       mmr_context_destroy(mmr_context);

       mmr_context = 0;
       video_device_output_id = -1;
       audio_device_output_id = -1;

       mmr_disconnect(mmr_connection);
       mmr_connection = 0;

       int order = -1;
       screen_set_window_property_iv(video_window, SCREEN_PROPERTY_ZORDER, &amp;order);

       int visible = 0;
       screen_set_window_property_iv(video_window, SCREEN_PROPERTY_VISIBLE, &amp;visible);

       screen_destroy_window(video_window);
}</pre>
<p>Hopefully this gives you a good start into incorporating video into your BlackBerry 10 applications. For some other related samples of using video, you can check out the VideoPlayerSample in the <a href="https://github.com/blackberry/Cascades-Community-Samples" target="_new">Cascades-Community-Samples</a> and also the Video Overlay sample in the <a href="http://developer.blackberry.com/native/sampleapps/bb10/" target="_new">native samples</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/13149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/13149/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13149&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/01/blackberry-10-opengl-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/71db8544ff393b959bd4a96b6be3b522?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">daleydee</media:title>
		</media:content>
	</item>
		<item>
		<title>BlackBerry 10 Development 101: Native</title>
		<link>http://devblog.blackberry.com/2012/12/blackberry-development-101-native/</link>
		<comments>http://devblog.blackberry.com/2012/12/blackberry-development-101-native/#comments</comments>
		<pubDate>Thu, 13 Dec 2012 17:06:33 +0000</pubDate>
		<dc:creator>Joshua Granick</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[native]]></category>
		<category><![CDATA[native SDK development]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12695</guid>
		<description><![CDATA[There are many ways to develop games or applications for BlackBerry 10. This is a good thing, but if you have not developed for the BlackBerry platform or you are familiar only with the older Java-based platform, it may be overwhelming. What are your options, and how do you get started? Several factors can help [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12695&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><img class="aligncenter size-full wp-image-12700" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/12/devblog-native-cake-e1355418336592.png?w=600&#038;h=292" width="600" height="292" /></p>
<p>There are many ways to develop games or applications for BlackBerry 10. This is a good thing, but if you have not developed for the BlackBerry platform or you are familiar only with the older Java-based platform, it may be overwhelming. What are your options, and how do you get started?</p>
<p>Several factors can help you decide which path to follow. BlackBerry 10 has four primary developer platforms, each with its own distinct style of development, advantages and frameworks you can choose from.</p>
<p>In this first blog post, we’ll provide an overview of some of the options available on our native development platform.</p>
<h3><strong>Native</strong></h3>
<p>The bedrock of a good developer platform is a high-performance, low-level native implementation – and BlackBerry 10 delivers. The native platform is POSIX-based, so everything from “int main(void) { printf(‘Hello World’); }” and up will run on the operating system.</p>
<p>Whether you are a C++ guru or you shy away from low-level code, BlackBerry 10 supports a wide variety of choices on the native development platform.</p>
<p><span id="more-12695"></span></p>
<h3><strong>Straight C/C++</strong></h3>
<p><a href="http://developer.blackberry.com/native/beta/" target="_new">http://developer.blackberry.com/native/beta/</a></p>
<p>BlackBerry 10 is based on QNX, a powerful, stable operating system that has been refined for over 30 years. Thanks to the POSIX interface, standard Unix C/C++ will run on the platform, without additional bootstrapping. You have full access to system APIs, from the networking stack to EGL and OpenGL and the flexibility to use common practices like dynamically loading libraries.</p>
<p>I personally ported a significant game framework to BlackBerry in only two days, and I have heard many more stories of developers with similar experiences on the native platform. If you like C/C++ development, BlackBerry 10 is a very exciting platform.</p>
<h3><strong>Cascades</strong></h3>
<p><a href="https://developer.blackberry.com/cascades/" target="_new">https://developer.blackberry.com/cascades/</a></p>
<p>If you are looking to create an application, Cascades is the Qt-based framework that we provide for the most natural of BlackBerry 10 experiences. Application code and rendering are handled in different threads, so even when you are doing heavy processing, the UI will run at a smooth 60 frames-per-second.</p>
<p>Many applications can be developed using C++ or using QML, or a combination of both. QML supports JavaScript, so even if you are a web developer, it can be easy to create native BlackBerry 10 applications using your existing skill-set. The BlackBerry Native SDK provides our Momentics IDE with designer support for Cascades, so you can preview and fine-tune the layout of your applications without deploying to a device or a device simulator.</p>
<h3><strong>Marmalade</strong></h3>
<p><a href="http://www.madewithmarmalade.com" target="_new">http://www.madewithmarmalade.com</a></p>
<p>We have partnered with Marmalade to provide a first-class experience for C++ developers using the Marmalade SDK. Similar to open-source solutions such as SDL and SFML, Marmalade is designed to provide a low-level compatibility layer between multiple platforms.</p>
<p>Marmalade also provides additional features &#8211; such as an optimized pipeline for art assets &#8211; tailored for every target device, as well as enterprise-level support.</p>
<h3><strong>NME</strong></h3>
<p><a href="http://www.haxenme.org" target="_new">http://www.haxenme.org</a></p>
<p>We have also partnered with NME to provide support for BlackBerry 10. Unlike the other options you have as a native developer, NME does not require that you use C or C++. Instead, NME uses a language called Haxe that is compiled to C++ automatically, giving you the performance of C++ and OpenGL while creating an environment that should feel comfortable to a Flash or Java developer.</p>
<p>NME is an open-source, cross-platform framework that makes it simple to use graphics, sound, input, networking and the other features you need for 2D games and applications, including libraries such as Flixel or Box2D. NME can also uniquely target mobile, desktop, Flash Player and HTML5.</p>
<h3><strong>cocos2d-x</strong></h3>
<p><a href="http://www.cocos2d-x.org" target="_new">http://www.cocos2d-x.org</a></p>
<p>The C++ version of the cocos2d, the popular 2D gaming framework, is available for BlackBerry 10.<br />
Similar to other versions of the library, cocos2d-x provides structured support for scene management, physics, particle effects, tiles, spritesheets and other game-specific features. Most of the framework can also be scripted using Lua or JavaScript. cocos2d-x is an open-source, cross-platform framework with support for both mobile and desktop platforms.</p>
<h3><strong>gameplay</strong></h3>
<p><a href="http://www.gameplay3d.org" target="_new">http://www.gameplay3d.org</a></p>
<p>If you would like to develop 3D games using C++, gameplay is an excellent open-source framework which is fully supported on BlackBerry 10.</p>
<p>gameplay supports the standards you expect, such as OpenGL shaders, device input and particles, but also provides integrated support for physics, skeletal character animation, 3D audio and support for themeable 2D and 3D UI forms. If you would like to use a scripting language, Lua bindings are support. gameplay is cross-platform, supporting mobile and desktop platforms.</p>
<p>These are just a few of the choices you have on the native platform for BlackBerry 10, so don’t let this limit you. If you have any questions or would like recommendations, please feel free to sound off in the comments!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12695/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12695/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12695&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/12/blackberry-development-101-native/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/cfbe0800e72c5d771f9fef2ea4f941e9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">singmajesty</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/12/devblog-native-cake-e1355418336592.png" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Why one game developer loves the BlackBerry PlayBook</title>
		<link>http://devblog.blackberry.com/2012/11/playbook-exclusive-devs/</link>
		<comments>http://devblog.blackberry.com/2012/11/playbook-exclusive-devs/#comments</comments>
		<pubDate>Mon, 05 Nov 2012 19:22:34 +0000</pubDate>
		<dc:creator>Veronica O</dc:creator>
				<category><![CDATA[Case Studies & Success Stories]]></category>
		<category><![CDATA[blackberry playbook]]></category>
		<category><![CDATA[BlackBerry PlayBook game]]></category>
		<category><![CDATA[FlyCraft]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[PlayBook app]]></category>
		<category><![CDATA[PlayBook game]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=11891</guid>
		<description><![CDATA[Guest post from Luca F. &#8211; Ed. [YouTube link for mobile viewing] You might remember the interesting story of Greek developer Charilaos Kalogirou, who ported his iOS game Pop Corny to the BlackBerry® PlayBook™ tablet and to the BlackBerry® 10 Dev Alpha device in just a few days. He blogged about how fast and easy [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11891&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><i>Guest post from Luca F. &#8211; Ed.</i></p>
<p style="text-align:center;"><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='560' height='315' src='http://www.youtube.com/embed/vKosOcaDAD0?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span></p>
<p style="text-align:center;">[<a href="http://www.youtube.com/embed/vKosOcaDAD0" target="_new">YouTube link for mobile viewing</a>]</p>
<p>You might remember the <a href="http://devblog.blackberry.com/2012/08/game-porting-ios-to-playbook/" target="_new">interesting story</a> of Greek developer Charilaos Kalogirou, who ported his iOS game Pop Corny to the BlackBerry® PlayBook™ tablet and to the BlackBerry® 10 Dev Alpha device in just a few days. He <a href="http://kalogirou.net/2012/08/22/porting-my-game-engine-to-the-playbook/" target="_new">blogged</a> about how fast and easy the process was.</p>
<p>Now, after a few weeks, he’s back. Charilaos is participating to a competition organized by the <a href="http://www.ludumdare.com/" target="_new">Ludum Dare</a> website, and I was happy to read that he decided to create a game exclusively for the BlackBerry PlayBook tablet. The <a href="http://www.ludumdare.com/compo/2012/09/27/announcing-october-challenge-2012/" target="_new">competition</a> is the following: finish a game, take it to market, earn $1. All in October.</p>
<p>Why did he decide to develop for the BlackBerry PlayBook tablet only? Well, he explains the reasons in <a href="http://www.ludumdare.com/compo/2012/10/02/introducing-flycraft-for-the-october-challenge-2012/" target="_new">this blog post</a>. In particular:</p>
<p>“&#8230;we are going to exclusively target the BlackBerry PlayBook and the BlackBerry App World store, as it is a platform I fell in love recently and it’s a platform where you can actually make a buck these days.”</p>
<p>I think that says it all. More proof that if you want to make money with your apps and games, BlackBerry App World is the store for you.</p>
<p>Here it is, game ready: <a href="http://www.ludumdare.com/compo/2012/10/29/flycraft-we-made-it/" target="_new">http://www.ludumdare.com/compo/2012/10/29/flycraft-we-made-it/</a> You can get it from BlackBerry App World <a href="https://appworld.blackberry.com/webstore/content/18560868/?lang=en" target="_new">here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/11891/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/11891/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11891&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/11/playbook-exclusive-devs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7b375d2578c668cc015d7452d495c9ff?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">veronchiquita</media:title>
		</media:content>
	</item>
	</channel>
</rss>
