<?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/"
	>

<channel>
	<title>DrMop &#187; Apps</title>
	<atom:link href="http://www.drmop.com/index.php/categories/pocketeers-limited/apps/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.drmop.com</link>
	<description>Mobile Game and App Programming Tutorials</description>
	<lastBuildDate>Sat, 19 May 2012 22:16:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Yet another IwGame Engine UI Progress Update</title>
		<link>http://www.drmop.com/index.php/2012/05/09/yet-another-iwgame-engine-ui-progress-update/</link>
		<comments>http://www.drmop.com/index.php/2012/05/09/yet-another-iwgame-engine-ui-progress-update/#comments</comments>
		<pubDate>Wed, 09 May 2012 23:37:57 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[Android App Development]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Blackberry Playbook App Development]]></category>
		<category><![CDATA[C++ Programming]]></category>
		<category><![CDATA[Cool news]]></category>
		<category><![CDATA[Game and App Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[iOS App Development]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Samsung Bada Development]]></category>
		<category><![CDATA[IwGame Engine UI]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=1641</guid>
		<description><![CDATA[Not had a great deal of spare time to spend on the UI this week but did manage to get a few cool things in there including: Scrolling grids Scrolling list boxes Horizontal list boxes 9-patch brushes Child element sizing based on percentage of parent Child clipping Grid per column bindings Dynamic resizing of elements, [...]]]></description>
			<content:encoded><![CDATA[<p>Not had a great deal of spare time to spend on the UI this week but did manage to get a few cool things in there including:</p>
<ul>
<li>Scrolling grids</li>
<li>Scrolling list boxes</li>
<li>Horizontal list boxes</li>
<li>9-patch brushes</li>
<li>Child element sizing based on percentage of parent</li>
<li>Child clipping</li>
<li>Grid per column bindings</li>
<li>Dynamic resizing of elements, grids and list boxes will automatically re-layout child elements to make use of extra space</li>
<li>UI elements can allow touch events to bubble up to parent elements allowing them to also receive the same events</li>
<li>Tidied up the UI input system</li>
<li>4 parameter skewing &#8211;  See the wonky text on the large and small buttons for an example</li>
</ul>
<p>Heres a quick screen shot showing the current UI demo:</p>
<div id="attachment_1640" class="wp-caption aligncenter" style="width: 1034px"><a href="http://www.drmop.com/wp-content/uploads/2012/05/ui1.jpg"><img class="size-full wp-image-1640" title="More Advanced IwGame Engine UI" src="http://www.drmop.com/wp-content/uploads/2012/05/ui1.jpg" alt="More Advanced IwGame Engine UI Screen Shot" width="1024" height="768" /></a><p class="wp-caption-text">More Advanced IwGame Engine UI Screen Shot</p></div>
<p>Those frogs look happy to be sat in that list box like that <img src='http://www.drmop.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>And here&#8217;s a new and better video showing the new UI <a href="http://www.youtube.com/watch?v=IhtT_e5u8gU" target="_blank" rel="nofollow">http://www.youtube.com/watch?v=IhtT_e5u8gU</a></p>
<p>I hope to spend a few additional weeks on implementing more UI controls such as sliders and tab vies etc.. before we released 0.35.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/05/09/yet-another-iwgame-engine-ui-progress-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IwGame UI Progress Update</title>
		<link>http://www.drmop.com/index.php/2012/05/04/iwgame-ui-progress-update/</link>
		<comments>http://www.drmop.com/index.php/2012/05/04/iwgame-ui-progress-update/#comments</comments>
		<pubDate>Fri, 04 May 2012 11:24:47 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[Android App Development]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Blackberry Playbook App Development]]></category>
		<category><![CDATA[C++ Programming]]></category>
		<category><![CDATA[Cool news]]></category>
		<category><![CDATA[Game and App Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[iOS App Development]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Samsung Bada Development]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[IwGame Engine UI]]></category>
		<category><![CDATA[User interface]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=1577</guid>
		<description><![CDATA[Got a quick update showing how the IwGame engines UI system is shaping up. Note that the UI system is &#8220;bitmap&#8221; based and IwGame does not draw things like buttons, grids etc.. manually. Here&#8217;s a quick screen shot at iPad resolution showing some basic UI: This is just a static image however, so you cannot [...]]]></description>
			<content:encoded><![CDATA[<p>Got a quick update showing how the IwGame engines UI system is shaping up. Note that the UI system is &#8220;bitmap&#8221; based and IwGame does not draw things like buttons, grids etc.. manually. Here&#8217;s a quick screen shot at iPad resolution showing some basic UI:</p>
<div id="attachment_1578" class="wp-caption aligncenter" style="width: 1034px"><a href="http://www.drmop.com/wp-content/uploads/2012/05/ui.jpg"><img class="size-full wp-image-1578" title="Basic IwGame Engine UI" src="http://www.drmop.com/wp-content/uploads/2012/05/ui.jpg" alt="Basic IwGame Engine UI Screenshot" width="1024" height="768" /></a><p class="wp-caption-text">Basic IwGame Engine UI Screenshot</p></div>
<p>This is just a static image however, so you cannot really see the animation that&#8217;s built into the UI, for that you need to take a look at a quick video I stuck together showing the UI in action at <a title="iwGame Engine Basic UI Video" href="http://www.youtube.com/watch?v=oV3kYLbzcKo" rel="nofollow" target="_blank">http://www.youtube.com/watch?v=oV3kYLbzcKo</a></p>
<p>&nbsp;</p>
<p>The UI itself consists of the following elements:</p>
<ul>
<li> StackPanels &#8211; The top left hand control is a vertical stack panel containing 3 horizontal stack panels. Each horizontal stack panel contains multiple basic UI components including buttons, labels and text input boxes. The check boxes and the long named button are toggle buttons. The top stack panel and the components within the panel have been draggable so they can be dragged away from the stack panel and moved around. Tapping the Expert check box will spin the control 360 degrees using an animation time line. One of the buttons and two of the check boxes also have animation time lines applied to them.</li>
<li>Grid &#8211; The control to the bottom left is a 3&#215;4 grid that contains 12 items. These items are simple label buttons that when tapped will animate. A XOML array variable is bound to the grid and data from the array is moved into the grid. Updating the XOML array will automatically update the grid elements. The types of elements within the grid are defined using an item template. You can create a grid manually by adding components directly to the grid in XOML or in code bypassing the binding system. This allows you to create more complex controls within each grid cell. Tapping an item in the grid will set it animating</li>
<li>List box &#8211; The list box to the top right work on the same principles as the grid where data is bound to the list box and a template can be specified that defnies the type of items. This list box is a multi-select list box which allows you to select multiple  items</li>
<li>List Box 2 &#8211; The list box to the bottom right is more complex list box that shows list items using a more complex control. The list box items in this instance are created using a horizontal stack panel, which contains a label and a button. The list box is a single item selection list box</li>
</ul>
<p>The UI controls themselves can be moved around and placed anywhere in the scene. the whole scene can also be moved around.</p>
<p>To give you an idea as to how the XOML looks, here&#8217;s a short code clip showing the XOL that creates the list box to the upper right of the screen:</p>
<pre>   <span style="color: #008000;"> &lt;!-- Create a listbox --&gt; </span>
    <span style="color: #008000;">&lt;!-- ListBoxItems - Defines a list of items that will be bound to the list box --&gt;</span>
    &lt;<span style="color: #0000ff;">Variable</span> Name="ListBoxItems" Type="arraystring" Size="4" Value="Item 1, Item 2, Item 3, Item 4" /&gt;
    <span style="color: #008000;">&lt;!-- Create a template that will be used to generate the list box actors --&gt;</span>
    &lt;<span style="color: #0000ff;">Template</span> Name="ListBoxItemTemp"&gt;
        &lt;Label Name="ListItem$index$" Background="ListBoxItemBrush" BackgroundColour="200, 200, 200, 255" SelectedColour="80, 80, 255, 255" Font="trebuchet_12" TextColour="255, 255, 255, 255" SelectedTextColour="255, 255, 255, 255" Margin="0, 0, 20, 0" SelectType="toggle" Selected="false" /&gt;
    &lt;/<span style="color: #0000ff;">Template</span>&gt;
    &lt;<span style="color: #0000ff;">ListBox</span> Name="ListBox" Position="351, -190" Background="ListBoxBrush" MultiSelect="true" <span style="color: #ff00ff;">ItemsData="ListBoxItems"</span> <span style="color: #ff00ff;">ItemsTargetType="text"</span> ItemsTemplate="<span style="color: #ff00ff;">ListBoxItemTemp"</span> HitTest="true" Draggable="true" /&gt;</pre>
<p>&nbsp;</p>
<p>As you can see its pretty straight forward:</p>
<ul>
<li>We create an array string variable and assign it the data that will be bound to the list box</li>
<li>We create a template that represents our items</li>
<li>We create a list box that uses the template and data and make it draggable</li>
</ul>
<p>Well that&#8217;s it for now. We will be adding more and more features to the UI over the coming weeks and will keep you updated.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/05/04/iwgame-ui-progress-update/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Pocketeers Limited is taking on New Mobile Projects</title>
		<link>http://www.drmop.com/index.php/2012/05/03/pocketeers-limited-new-mobile-projects/</link>
		<comments>http://www.drmop.com/index.php/2012/05/03/pocketeers-limited-new-mobile-projects/#comments</comments>
		<pubDate>Thu, 03 May 2012 14:05:55 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[Android App Development]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Blackberry Playbook App Development]]></category>
		<category><![CDATA[Cool news]]></category>
		<category><![CDATA[Digital Publishing]]></category>
		<category><![CDATA[Game and App Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[iOS App Development]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[Marmalade SDK]]></category>
		<category><![CDATA[Nintendo]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[Samsung Bada Development]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Game projects wanted]]></category>
		<category><![CDATA[Mobile projects]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=1568</guid>
		<description><![CDATA[&#160; Need a mobile game or app developed across multiple platforms (iPhone, iPad, Andriod,Bada, PlayBook etc..) at little extra cost? Or maybe you need a rapid prototype of your next game or app idea creating as proof of concept? Pocketeers Limited a UK based mobile app and game developer (established in 2002) responsible for the [...]]]></description>
			<content:encoded><![CDATA[<p><!--adsandwich--><br />
<div id="attachment_1569" class="wp-caption aligncenter" style="width: 266px"><a href="http://www.drmop.com/wp-content/uploads/2012/05/Pocketeers_Logo_256x256.png"><img class="size-full wp-image-1569" title="Pocketeers_Logo_256x256" src="http://www.drmop.com/wp-content/uploads/2012/05/Pocketeers_Logo_256x256.png" alt="Pocketeers Limited Mobile Developer Logo" width="256" height="256" /></a><p class="wp-caption-text">Pocketeers Limited Mobile Developer</p></div></p>
<p>&nbsp;</p>
<p>Need a mobile game or app developed across multiple platforms (iPhone, iPad, Andriod,Bada, PlayBook etc..) at little extra cost? Or maybe you need a rapid prototype of your next game or app idea creating as proof of concept?</p>
<p>Pocketeers Limited a UK based mobile app and game developer (established in 2002) responsible for the creation of the IwGame Engine are looking to take on additional gaming and app projects. Pocketeers will consider any size project, but will favour those projects that utilise the IwGame engine / Marmalade SDK. Pocketeers have worked with clients large and small including the likes of Electronic Arts, Destination Software, Ideaworks, Honey Badger Studios, Tournay Software, and others.  Pocketeers provide a full range of services including design, coding, art work, audio and testing at very competitive prices.</p>
<p>For more details you can contact Pocketeers Limited via the web at <a href="http://www.pocketeers.co.uk/?page_id=8">http://www.pocketeers.co.uk/?page_id=8</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/05/03/pocketeers-limited-new-mobile-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Puzzle Friends FREE for iOS Just Released</title>
		<link>http://www.drmop.com/index.php/2012/04/19/puzzle-friends-free-for-ios-just-released/</link>
		<comments>http://www.drmop.com/index.php/2012/04/19/puzzle-friends-free-for-ios-just-released/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 23:41:14 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Cool news]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[Puzzle Friends]]></category>
		<category><![CDATA[Puzzle Friends FREE for iOS]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=1472</guid>
		<description><![CDATA[IwGame powered Puzzle Friends has just been released on iPhone, iPad and iPod Touch. This product shows many of the latest IwGame features running in a commercial product on iOS, including in-app purchasing, Facebook posting and dynamic content. It also includes Scoreloop leaderboards which will be integrated into IwGame soon as an extension. http://itunes.apple.com/us/app/puzzle-friends/id513683800?ls=1&#38;mt=8 Its [...]]]></description>
			<content:encoded><![CDATA[<p>IwGame powered Puzzle Friends has just been released on iPhone, iPad and iPod Touch. This product shows many of the latest IwGame features running in a commercial product on iOS, including in-app purchasing, Facebook posting and dynamic content. It also includes Scoreloop leaderboards which will be integrated into IwGame soon as an extension.</p>
<p><a href="http://itunes.apple.com/us/app/puzzle-friends/id513683800?ls=1&amp;mt=8">http://itunes.apple.com/us/app/puzzle-friends/id513683800?ls=1&amp;mt=8</a></p>
<p>Its FREE so grab a copy now and check it out. Please consider leaving a nice review if you like the game <img src='http://www.drmop.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/04/19/puzzle-friends-free-for-ios-just-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IwGame &#8211; We Need Your Feedback</title>
		<link>http://www.drmop.com/index.php/2012/04/14/iwgame-we-need-feedback/</link>
		<comments>http://www.drmop.com/index.php/2012/04/14/iwgame-we-need-feedback/#comments</comments>
		<pubDate>Sat, 14 Apr 2012 12:11:57 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[Android App Development]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Blackberry Playbook App Development]]></category>
		<category><![CDATA[C++ Programming]]></category>
		<category><![CDATA[Game and App Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[iOS App Development]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Samsung Bada Development]]></category>
		<category><![CDATA[Need feedback]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=1375</guid>
		<description><![CDATA[Hi Everyone, The IwGame Engine has been in development for around 6 months now and although we&#8217;ve received lots of feedback regarding bug reports and feature requests we would like to know your opinions on the current state of the engine. Here are a few questions to consider: Is IwGame difficult to use, if so [...]]]></description>
			<content:encoded><![CDATA[<p>Hi Everyone, </p>
<p>The IwGame Engine has been in development for around 6 months now and although we&#8217;ve received lots of feedback regarding bug reports and feature requests we would like to know your opinions on the current state of the engine. Here are a few questions to consider:</p>
<ul>
<li>Is IwGame difficult to use, if so can you suggest any improvements that we could make to make it easier to use?</li>
<li>How are you finding the current feature set? Is anything particularly buggy, hard to use or simply missing something?</li>
<li>What&#8217;s the next BIG feature for you, what would you really like to see come next?</li>
<li>How are you finding using XOML? Do you prefer the declarative approach or do you prefer to code things up in C++ instead. Can you suggest any improvements you would like to see?</li>
<li>If you have recently stopped using IwGame, what made you leave? Was there a better option and if so, what was the deal making features?</li>
</ul>
<p>This is the opportunity to have your say, any feedback that you can provide is greatly appreciated and will help steer the direction of the IwGame engine.</p>
<p>Mat</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/04/14/iwgame-we-need-feedback/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>IwGame Engine v0.33 Released – Unified Android and iOS in-app purchasing</title>
		<link>http://www.drmop.com/index.php/2012/04/06/iwgame-engine-v0-33-released-unified-android-and-ios-in-app-purchasing/</link>
		<comments>http://www.drmop.com/index.php/2012/04/06/iwgame-engine-v0-33-released-unified-android-and-ios-in-app-purchasing/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 17:40:27 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[Android App Development]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Apps and Games]]></category>
		<category><![CDATA[C++ Programming]]></category>
		<category><![CDATA[cOnnecticOns]]></category>
		<category><![CDATA[Cool news]]></category>
		<category><![CDATA[Game and App Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[iOS App Development]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Marmalade SDK]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Puzzle Friends]]></category>
		<category><![CDATA[Android in-app purchasing]]></category>
		<category><![CDATA[iOS in-app purchasing]]></category>
		<category><![CDATA[IwGame Engine Update]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=1239</guid>
		<description><![CDATA[New here? What&#8217;s IwGame? IwGame is an open source free to use cross platform game engine for iPhone, iPad, Android, Bada, Playbook, Symbian, Windows Mobile, LG-TV, Windows and Mac, built on top of the Marmalade SDK. You can find out more and download the SDK from our IwGame Engine page. I can tell you one thing, testing in-app [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.drmop.com/wp-content/uploads/2012/01/IwGameLogo2.png"><img class="aligncenter size-large wp-image-705" title="IwGameLogo2" src="http://www.drmop.com/wp-content/uploads/2012/01/IwGameLogo2-1024x300.png" alt="" width="512" height="150" /></a></p>
<p>New here? What&#8217;s IwGame? IwGame is an open source free to use cross platform game engine for iPhone, iPad, Android, Bada, Playbook, Symbian, Windows Mobile, LG-TV, Windows and Mac, built on top of the <a title="Marmalade SDK" href="http://www.madewithmarmalade.com/" rel="nofollow" target="_blank">Marmalade SDK</a>. You can find out more and download the SDK from our <a title="IwGame Engine" href="http://www.drmop.com/index.php/iwgame-engine/" target="_self">IwGame Engine page</a>.</p>
<p>I can tell you one thing, testing in-app purchasing from scratch is NOT an easy task, in fact its a pain in the a** to be quite honest. However, like anything that&#8217;s cool its worth doing. Its been a while coming but we finally put together a unified API for in-app purchasing on the Android and iOS platforms. To see the end product in action check out <a title="Puzzle Friends  FREE for Android" href="https://play.google.com/store/apps/details?id=com.pocketeers.puzzlefriends" rel="nofollow" target="_blank">Puzzle Friends on Android</a> (the new name for the free version of cOnnecticOns (I must have been off my head when I invented the name cOnnecticOns <img src='http://www.drmop.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ). The iOS version is currently with the great Apple reviewers in the sky.</p>
<p>Ok, here is the list of changes for 0.33:</p>
<ul>
<li>In-app purchasing added for Android and iOS (IwGameMarket)</li>
<li>Scenes can now be augmented after they have been created (like partial classes)</li>
<li>Scenes can now be layered visually</li>
<li>New SetAllTimelines action added to XOML that will set the timeline of all scenes</li>
<li>SetVariable action now allows you to specify the scene in which the variable lives</li>
<li>Resources can now be tagged with a tag name</li>
<li>New RemoveResource and RemoveResources actions that allow removal of resources from global resource manager</li>
<li>New CallActions action added that enables execution of other actions lists</li>
<li>Actor now has ScaleX and ScaleY bindings</li>
<li>Relative actor depth is now 0 for linked actors</li>
<li>UDID removed from IwGameAds for iOS</li>
<li>Scenes now have a ClipStatic property that will force the clipping area of a scene to stay in place on screen instead of moving with the scenes camera</li>
<li>BUG FIX: Scene NotifyResuming now called properly</li>
<li>BUG FIX: CIwGameAnimInstance::setAnimation() no longer crashes if NULL is passed</li>
<li>BUG FIX: IwGameAdsView sprites are now updated correctly</li>
</ul>
<p>The most interesting addition this update is the well hidden IN-APP PURCHASING for iOS and Android. With the aid of copy and paste lets take a look at the changes in more detail:</p>
<h2>IwGameMarket &#8211; Unified In App Purchasing API for iOS And Android</h2>
<p>Its an incredibly tough job to get noticed in the app stores these days with approaching half a million apps available in the larger stores (insane competition), its an even tougher job persuading Joe public to part with their money for your app. Many developers are turning to developing freemium titles as a means to increase visibility (app users are much more likely to download a free app) and earn money by offering the app in a limited form then allowing users to purchase additional content and game features. As of IwGame v0.33, basic in-app purchasing is now available for iOS and Android using a wrapper around Marmalade&#8217;s EDK in-app purchase extensions called IIwGameMarket.</p>
<p>IIwGameMarket is a not a concrete class however so you cannot just create one and use it. Instead it provides a basic interface for creating the platform specific market class as well as access to common functionality. At the moment the following marker classes are available:</p>
<p>CIwGameMarketiOS – Uses iOS in-app purchasing<br />
CIwGameMarketAndroid – Uses Android market billing<br />
CIwGameMarketTest – This version is a test class that you can use to simulate purchases / errors etc in the simulator.</p>
<p>IwGameMarket is designed to allow you to initialise and set-up and use in-app purchasing in a platform agnostic fashion, allowing you to query / purchase content very easily.</p>
<p>IwGameMarket works using a product list system, where you create and add CIwGameMarketProduct products to the IwGameMarket. Each CIwGameMarketProduct represents a single consumable / none consumable product that can be purchased.</p>
<p>Setting up the IwGameMarket is very simple, you simply call IIwGameMarket::Create() which initialises the correct market for the platform that your game or app is running on then set-up a few handlers, depending upon which messages you want to handle. Below shows a quick example:</p>
<blockquote>
<pre>IiwGameMarket::Create("Your android public key");
IIwGameMarket::getMarket()-&gt;setReceiptAvailableHandler(PurchaseComplete, NULL);
IIwGameMarket::getMarket()-&gt;setErrorHandler(PurchaseError, NULL);
IIwGameMarket::getMarket()-&gt;setRefundHandler(Refunded, NULL);	// Android only</pre>
</blockquote>
<p>Note that if you are releasing for iOS only then you do not need to supply your Android Market public key, simply pass no parameters to Create().</p>
<p>In this example, we have told IwGameMarket that we want to be notified when a purchase receipt is available, when an error occurs or when a transaction refund has happened.</p>
<p>When done with the market don&#8217;t forget to clean it up using:</p>
<blockquote>
<pre>IIwGameMarket::Destroy();</pre>
</blockquote>
<p>Now that the market is set-up we need to add products, below shows a quick example:</p>
<blockquote>
<pre>// Which OS are we running
int os = s3eDeviceGetInt(S3E_DEVICE_OS);

// Create product 1
CIwGameMarketProduct* product = new CIwGameMarketProduct();
product-&gt;Consumable = true;
product-&gt;ID = 1;
product-&gt;Name = "10 Coins";
if (os == S3E_OS_ID_IPHONE)
	product-&gt;ExternalID = "com.companyname.gamename.coinsx10";
else
	product-&gt;ExternalID = "coinsx10";
product-&gt;Purchased = false;
IIwGameMarket::getMarket()-&gt;addProduct(product);

// Create product 2
product = new CIwGameMarketProduct();
product-&gt;Consumable = true;
product-&gt;ID = 2;
product-&gt;Name = "50 Coins";
if (os == S3E_OS_ID_IPHONE)
	product-&gt;ExternalID = "com.companyname.gamename.coinsx50";
else
	product-&gt;ExternalID = "coinsx50";
product-&gt;Purchased = false;
IIwGameMarket::getMarket()-&gt;addProduct(product);</pre>
</blockquote>
<p>In this example, we create 2 products, our first represents 10 in-game coins, whilst the second represents 50 in-game coins. The ExternalID property is the product ID as defined in the in-app purchase section of your app in iTunes Connect for iOS or the product id of the in-app purchase in the in-app purchase section of your Android Market product control panel for Android. ID can be anything you like but will need to be unique.</p>
<p>Now that the system and product set-up are out the way, lets take a look at how to purchase a product. Firstly you need to call PurchaseProduct() passing in the ID defined in the CIwGameMarketProduct that you added earlier:</p>
<blockquote>
<pre>if (IiwGameMarket::getMarket()-&gt;PurchaseProduct(product_id))
{
}</pre>
</blockquote>
<p>You then need to add code to the callbacks that we added in our set-up:</p>
<blockquote>
<pre>int32 MarketScene::PurchaseComplete(void* caller, void* data)
{
	int type = IIwGameMarket::getMarket()-&gt;getLastPurchaseID();
	if (type == 1)	// 10 coins
	{
		GAME-&gt;AddCoins(10);
	}
	else
	if (type == 2)	// 50 coins
	{
		GAME-&gt;AddCoins(50);
	}

	return 1;
}

int32 MarketScene::PurchaseError(void* caller, void* data)
{
	// Display an error to the user

	return 1;
}

int32 MarketScene::Refunded(void* caller, void* data)
{
	// Only available on th Andriod platform
	CIwGameString id = IW_GAME_MARKET_ANDROID-&gt;getRefundedID();

	// Player was refunded so take back the items(s)

	return 1;
}</pre>
</blockquote>
<h2>Augmenting Scenes</h2>
<p>Another cool new feature in v0.33 is the ability to augment a previously created scene and add extra stuff to it after the fact. You can for example have a basic common scene that provides the basic background of the scene. This gets loaded by many other scenes and serves as its basic background. After its been loaded you can declare the scene a 2nd time and add additional elements which will then be integrated into the original scene.</p>
<h2>Layered Scenes</h2>
<p>Scenes can now be depth sorted (visually only). This is incredibly useful as previously scenes would always be drawn in the order in which they were added to the game class. There is no limit to the layer number of a scene.</p>
<h2>Tagged Resources</h2>
<p>Resources can now be given a tag name, allowing you to identify groups of resources. New actions have also been added that allow the removal of specific resources or groups of tagged resources from the global resource manager. We added this new features because we found that sometimes it is very useful to have resources in the global resource manager so they can be shared across scenes, but later needed a way to remove those resources when done with them.</p>
<h2>Calling Actions Lists</h2>
<p>Its now possible to call an actions list from an action. This is great if you want to define lots of different action sets then pick and choose which ones you want to use. </p>
<p>And that&#8217;s it for this update, please enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/04/06/iwgame-engine-v0-33-released-unified-android-and-ios-in-app-purchasing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>cOnnecticOns Now Available on BlackBerry App World for BlackBerry PlayBook</title>
		<link>http://www.drmop.com/index.php/2012/03/14/connecticons-now-available-on-blackberry-app-world-for-blackberry-playbook/</link>
		<comments>http://www.drmop.com/index.php/2012/03/14/connecticons-now-available-on-blackberry-app-world-for-blackberry-playbook/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 15:22:11 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Apps and Games]]></category>
		<category><![CDATA[Blackberry Playbook]]></category>
		<category><![CDATA[Blackberry Playbook App Development]]></category>
		<category><![CDATA[cOnnecticOns]]></category>
		<category><![CDATA[Cool news]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[App World]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[cOnnecticOn]]></category>
		<category><![CDATA[Playbook]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=1031</guid>
		<description><![CDATA[Our latest iwGame Engine game cOnnecticOns is now available on BlackBerry App World for BlackBerry PlayBook gamers at http://appworld.blackberry.com/webstore/content/95862/]]></description>
			<content:encoded><![CDATA[<p>Our latest iwGame Engine game cOnnecticOns is now available on BlackBerry App World for BlackBerry PlayBook gamers at <a href="http://appworld.blackberry.com/webstore/content/95862/" rel="nofollow" target="_blank">http://appworld.blackberry.com/webstore/content/95862/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/03/14/connecticons-now-available-on-blackberry-app-world-for-blackberry-playbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cOnnecticOns for iOS now FREE!</title>
		<link>http://www.drmop.com/index.php/2012/03/04/connecticons-for-ios-now-free/</link>
		<comments>http://www.drmop.com/index.php/2012/03/04/connecticons-for-ios-now-free/#comments</comments>
		<pubDate>Sun, 04 Mar 2012 13:57:01 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[AirPlay SDK]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Apps and Games]]></category>
		<category><![CDATA[Cool news]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Marmalade SDK]]></category>
		<category><![CDATA[cOnnecticOns]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[Game]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod Touch]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=922</guid>
		<description><![CDATA[Hey everyone, we decided to make cOnnecticOns FREE for a few days to increase its visibility and hence visibility of the IwGame Engine. If you haven&#8217;t already downloaded it then please take a look at http://itunes.apple.com/us/app/connecticons/id505645452?mt=8 Please consider leaving us a nice review, it only takes 2 mins!]]></description>
			<content:encoded><![CDATA[<p>Hey everyone, we decided to make cOnnecticOns FREE for a few days to increase its visibility and hence visibility of the IwGame Engine. If you haven&#8217;t already downloaded it then please take a look at <a href="http://itunes.apple.com/us/app/connecticons/id505645452?mt=8">http://itunes.apple.com/us/app/connecticons/id505645452?mt=8</a></p>
<p>Please consider leaving us a nice review, it only takes 2 mins!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/03/04/connecticons-for-ios-now-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cOnnecticOns Now Available for iPhone, iPad and iPod Touch</title>
		<link>http://www.drmop.com/index.php/2012/03/02/connecticons-now-available-for-iphone-ipad-and-ipod-touch/</link>
		<comments>http://www.drmop.com/index.php/2012/03/02/connecticons-now-available-for-iphone-ipad-and-ipod-touch/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 22:27:00 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[AirPlay SDK]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Apps and Games]]></category>
		<category><![CDATA[Cool news]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Marmalade SDK]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[cOnnecticOns]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[New Game]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=876</guid>
		<description><![CDATA[Great news. cOnnecticOns is now available on the Apple iTunes app store. Woohoo, passed fist time! It&#8217;s available for almost a kings ransom ($0.99 in earth money). For those of you that are as bad off as me, here are a few promot codes so you can grab a FREE copy: 3KYAR49RTMMM LLHREAPKT6W3 FKA3R6L6PJPF J6AN4AWK3T9F [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.drmop.com/wp-content/uploads/2012/03/connecticons2.jpg"><img class="aligncenter size-full wp-image-877" title="connecticons2" src="http://www.drmop.com/wp-content/uploads/2012/03/connecticons2.jpg" alt="" width="480" height="320" /></a></p>
<p>Great news. cOnnecticOns is now available on the <a href="http://itunes.apple.com/us/app/connecticons/id505645452?ls=1&amp;mt=8" rel="nofollow" target="_blank">Apple iTunes app store</a>. Woohoo, passed fist time!</p>
<p>It&#8217;s available for almost a kings ransom ($0.99 in earth money). For those of you that are as bad off as me, here are a few promot codes so you can grab a FREE copy:</p>
<p><a href="http://www.drmop.com/wp-content/uploads/2012/03/connecticons3.jpg"><img class="aligncenter size-full wp-image-878" title="connecticons3" src="http://www.drmop.com/wp-content/uploads/2012/03/connecticons3.jpg" alt="" width="480" height="320" /></a></p>
<p>3KYAR49RTMMM<br />
LLHREAPKT6W3<br />
FKA3R6L6PJPF<br />
J6AN4AWK3T9F<br />
ETTWL46PYE4W</p>
<p>Please consider leaving a nice review. It&#8217;s always nice to see a good review <img src='http://www.drmop.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.drmop.com/wp-content/uploads/2012/03/connecticons4.jpg"><img class="aligncenter size-full wp-image-878" title="connecticons3" src="http://www.drmop.com/wp-content/uploads/2012/03/connecticons4.jpg" alt="" width="480" height="320" /></a></p>
<p><a href="http://www.drmop.com/wp-content/uploads/2012/03/connecticons5.jpg"><img class="aligncenter size-full wp-image-878" title="connecticons3" src="http://www.drmop.com/wp-content/uploads/2012/03/connecticons5.jpg" alt="" width="480" height="320" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/03/02/connecticons-now-available-for-iphone-ipad-and-ipod-touch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IwGame Engine v0.31 Released &#8211; Facebook and Full cOnnecticOns Source Available</title>
		<link>http://www.drmop.com/index.php/2012/02/25/iwgame-engine-v0-31-released-facebook-and-full-connecticons-source-available/</link>
		<comments>http://www.drmop.com/index.php/2012/02/25/iwgame-engine-v0-31-released-facebook-and-full-connecticons-source-available/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 16:12:21 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[AirPlay SDK]]></category>
		<category><![CDATA[Android App Development]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Blackberry Playbook]]></category>
		<category><![CDATA[Blackberry Playbook App Development]]></category>
		<category><![CDATA[C++ Programming]]></category>
		<category><![CDATA[Cool news]]></category>
		<category><![CDATA[Game and App Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[iOS App Development]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[Marmalade SDK]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Samsung Bada Development]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CIwGameFacebook]]></category>
		<category><![CDATA[cOnnecticOns Source]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=742</guid>
		<description><![CDATA[New here? What&#8217;s IwGame? IwGame is an open source free to use cross platform game engine for iPhone, iPad, Android, Bada, Playbook, Symbian, Windows Mobile, LG-TV, Windows and Mac, built on top of the Marmalade SDK. You can find out more and download the SDK from our IwGame Engine page. Its been a tough week, my Apple [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.drmop.com/wp-content/uploads/2012/01/IwGameLogo2.png"><img class="aligncenter size-large wp-image-705" title="IwGameLogo2" src="http://www.drmop.com/wp-content/uploads/2012/01/IwGameLogo2-1024x300.png" alt="" width="512" height="150" /></a></p>
<p>New here? What&#8217;s IwGame? IwGame is an open source free to use cross platform game engine for iPhone, iPad, Android, Bada, Playbook, Symbian, Windows Mobile, LG-TV, Windows and Mac, built on top of the <a title="Marmalade SDK" rel="nofollow" href="http://www.madewithmarmalade.com/" target="_blank">Marmalade SDK</a>. You can find out more and download the SDK from our <a title="IwGame Engine" href="http://www.drmop.com/index.php/iwgame-engine/" target="_self">IwGame Engine page</a>.</p>
<p>Its been a tough week, my Apple Mac blew a gasket and refused to boot. Didn&#8217;t know this until I had spent 4 hours trying to make the Mac boot from Snow Leopard, but you cannot boot a Mac Mini from any version of the OS other than the original version that came with the Mac! Arrrgggghhhhh, insanity! In the end I turned my office and house upside down to find the original Mac disk.</p>
<p>Finally got cOnnecticOns cleaned up and submitted to the app stores. I also added 10 more levels and a game editor that allows players to create up to 20 of their own levels on-device and play them. I plan to allow sharing of these custom levels in a future version. We also added Facebook posting to IwGame and therefore has now been added to cOnnecticOns. You can find our more info about the game at <a href="http://appliter.com/apps/connecticons/connecticons.aspx">http://appliter.com/apps/connecticons/connecticons.aspx</a></p>
<p>Ok, onto the update. IwGame v0.31 is kind of a special release because it contains the FULL source and assets of the game that you will see on Android Market and very soon Blackberry App World, Apple iTunes and SamsungApps for Bada.</p>
<p>Here&#8217;s the full list of changes for 0.31:</p>
<p>IwGame 0.31 Changes:</p>
<ul>
<li>cOnnecticOns full commercial game with source and assets provided as an example of engine usage</li>
<li>CIwGameFacebook added &#8211; Currently provides login and wall posting access</li>
<li>New AddVariable action added which allows you to add a positive or negative value to a XOML variable with limits</li>
<li>New EnterValue action added that brings up the devices keyboard allowing the user to enter a value into a XOML variable</li>
<li>New UpdateText action added will update a text actor with the value of a variable</li>
<li>New Exit action added that allows the user to exit the game</li>
<li>3rd paramater added to XOML actions</li>
<li>DoSleep added to CIwGameBox2dWorld to enable / disable object sleeping, also added to scene XOM</li>
<li>IIwGameXomlResource now has an actual type, allowing type checking for exact object types</li>
<li>OnKeyBack and OnKeyMenu events added to scene and XOML. These fire when back and menu keys are pressed</li>
<li>BUG FIX: CIwGameSprite position and origin now 32 bit vectors, which helps prevent positions overflowing</li>
<li>BUG FIX: When a scene is destroyed and it has touch focus it was causing a crash</li>
<li>BUG FIX: If a scene becomes inactive or invisible it now loses touch focus</li>
<li>BUG FIX: Velocity / angular velocity now applied when actors have no physics attached</li>
<li>BUG FIX: JPEG image data is now correctly converted from BGR to RGB</li>
<li>BUG FIX: CIwGameString, find index now properly reset</li>
</ul>
<p>As well as the release of the full source for cOnnecticOns, we also snook a few extra col bits and bobs in there.</p>
<h2>New CIwGameFacebook Class</h2>
<p>The main purpose of this class is to allow the user to log into facebook and interact with it. Right know, only logging in and wall posting functionality is provided using the following method:</p>
<pre><span style="color: #0000ff;">bool </span>PostWall(<span style="color: #0000ff;">const char</span>* message, <span style="color: #0000ff;">const char</span>* link_uri, <span style="color: #0000ff;">const char</span>* image_uri, <span style="color: #0000ff;">const char</span>* name, <span style="color: #0000ff;">const char</span>* description);</pre>
<ul>
<li>message – Message to display to the users wall visitors</li>
<li>link_uri – URL that the user will visit when clicking on the wall post link</li>
<li>image_uri – URL of an image that you would like to be displayed along with the post</li>
<li>name – The title of the post</li>
<li>description – Description of the post (displayed in weaker font beneath title)</li>
</ul>
<p>A Facebook wall post will look something like this:</p>
<div id="attachment_746" class="wp-caption alignleft" style="width: 534px"><a href="http://www.drmop.com/wp-content/uploads/2012/02/facebook_post.png"><img class="size-full wp-image-746 " title="facebook_post" src="http://www.drmop.com/wp-content/uploads/2012/02/facebook_post.png" alt="Post to Facebook example" width="524" height="295" /></a><p class="wp-caption-text">POst to Facebook Example</p></div>
<div style="clear: left;">
<h2>New XOML Actions</h2>
<p>It is now possible to add a value onto an existing XOML variable using the new AddVariable action. You can also update a text actor with the value of a variable in XOML. Here&#8217;s an example showing how the editor in cOnnecticOns uses both actions together to create an up / down UI element that the player can use to change the number of cOnnecticOns available in the level:</p>
<pre>       <span style="color: #008000;"> &lt;!-- Create change connecticons buttons --&gt;</span>
        &lt;InertActor Name="ConnectButton2" Position="0, -200" Size="81, 84" SrcRect="555, 482, 81, 84" Image="sprites1"&gt;
            &lt;ActorText Name="ConnectButton" Depth="0" Font="trebuchet_12" Rect="-100, -50, 200, 100" Colour="0, 0, 0, 255" Text="2" /&gt;
            &lt;InertActor Name="DownButton" Position="-60, 0" Angle="-90" Size="48, 51" SrcRect="868, 299, 48, 51" Image="sprites1" Depth="0" OnBeginTouch="DownBeginTouch" OnEndTouch="DownEndTouch" OnTapped="DownTapped"&gt;
                &lt;Actions Name="DownBeginTouch"&gt;
                    &lt;Action Method="SetTimeline" Param1="buttonin4_anim" /&gt;
                    &lt;Action Method="PlaySound" Param1="ui_tap" /&gt;
                &lt;/Actions&gt;
                &lt;Actions Name="DownEndTouch"&gt;
                    &lt;Action Method="SetTimeline" Param1="buttonout4_anim" /&gt;
                &lt;/Actions&gt;
                &lt;Actions Name="DownTapped"&gt;
<span style="color: #ff0000;">                    &lt;Action Method="AddVar" Param1="EditorConnecticons" Param2="-1" Param3="0" /&gt;
                    &lt;Action Method="UpdateText" Param1="ConnectButton" Param2="EditorConnecticons" /&gt;</span>
                &lt;/Actions&gt;
            &lt;/InertActor&gt;
            &lt;InertActor Name="UpButton" Position="60, 0" Angle="90" Size="48, 51" SrcRect="868, 299, 48, 51" Image="sprites1" Depth="0" OnBeginTouch="UpBeginTouch" OnEndTouch="UpEndTouch" OnTapped="UpTapped"&gt;
                &lt;Actions Name="UpBeginTouch"&gt;
                    &lt;Action Method="SetTimeline" Param1="buttonin5_anim" /&gt;
                    &lt;Action Method="PlaySound" Param1="ui_tap" /&gt;
                &lt;/Actions&gt;
                &lt;Actions Name="UpEndTouch"&gt;
                    &lt;Action Method="SetTimeline" Param1="buttonout5_anim" /&gt;
                &lt;/Actions&gt;
                &lt;Actions Name="UpTapped"&gt;
<span style="color: #ff0000;">                    &lt;Action Method="AddVar" Param1="EditorConnecticons" Param2="1" Param3="10" /&gt;
                    &lt;Action Method="UpdateText" Param1="ConnectButton" Param2="EditorConnecticons" /&gt;</span>
                &lt;/Actions&gt;
            &lt;/InertActor&gt;
        &lt;/InertActor&gt;</pre>
</div>
<p>The mark-up marked in red show the new AddVar and UpdateText XOML actions.</p>
<p>Basically when the user taps the DownButton actor the OnTapped event fires which calls the DownBeginTouch actions list. This actions list contains two actions:</p>
<p>AddVar &#8211; This adds -1 onto the EditorConnecticons variable and limits it to 0, so it does not go below 0.<br />
UpdateText &#8211; The next action copies the value of the EditorConnecticons variable into the ConnectButton text actor, which updates the number of connecticons on screen.</p>
<h2>Support for Android Back and Menu Buttons in XOML</h2>
<p>It is now possible to attach actions in XOML to the menu and back button events in a scene by handling the OnKeyBack and OnKeyMenu events. Note that only the current scene will handle button events.</p>
<h2>Text Input via XOML</h2>
<p>Using the new EnterValue XOML tag you can bring up the device keyboard and allow the user to input some text into a XOML variable.</p>
<h2>cOnnecticOns</h2>
<p>As previously mentioned the full source to cOnnecticOns has been provided to enable developers to see a real working commercial game utilising IwGame. The first thing you will notice when looking at the code base is just how little code is actually there. This is because much of the mundane functionality such as creating layouts, handling events, creating animations, scenes etc.. are all handled by XOML. Please note that the supplied XOML is not optimised in way shape or form, in fact I have done many things long hand so as not to make the scripts convoluted and difficult to understand. When creating your own XOML you should probably focus more on re-use with templates, styles and global actions / animations etc..</p>
<p>Here is a brief overview of the provided XOML scripts:</p>
<ul>
<li>Actors &#8211; This file contains physics materials, shapes and game object templates</li>
<li>Common &#8211; Contains common styles, animations and actions that are used across many scenes</li>
<li>ConfirmDialog &#8211; This is the dialog box scene for the rest scores action, it is displayed to the user when they attempt to reset their records</li>
<li>EditLevelSelect &#8211; Level selection screen that allows the user to select a custom level to edit</li>
<li>Editor &#8211; The level editor scenes</li>
<li>GameComplete &#8211; Shown to the player when they complete all zones and all rounds</li>
<li>Help &#8211; The basic help dialog that is accessible from the main menu</li>
<li>HUD &#8211; The in-game HUD that displays the scores and game buttons</li>
<li>Intro &#8211; The IwGame intro that is displayed at game boot</li>
<li>LevelCleared &#8211; The end of level score dialog that is displayed when the user completed or fails a round</li>
<li>LevelSelect &#8211; Level selection screen that allows the user to select a level to play</li>
<li>LevelSelect2 &#8211; Level selection screen that allows the user to play a custom level to play</li>
<li>Menu &#8211; The main front-end menu scenes</li>
<li>PauseMenu &#8211; The in-game pause men scene</li>
<li>ZoneLocked &#8211; Dialog scene that is displayed when the player finishes round 10 but has not unlocked all levels in the zone</li>
<li>ZoneSelect &#8211; Zone selection scene</li>
<li>Scenes 1 to 30 &#8211; Game level scenes</li>
<li>Scenes 101-120 &#8211; Custom blank level scenes</li>
</ul>
<p>Note that some files contain more than one scene. For example, each game level file contains the pause menu, the main game level scene as well as the in-game HUD. The pause menu and HUD exist as separate XOML files so they can be re-used across all levels.</p>
<p>The code base contains implementations of the following custom scenes:</p>
<ul>
<li>EditScene &#8211; Level editor scene, contains level editor logic</li>
<li>GameScene &#8211; A game level scene, contains game logic</li>
<li>LevelSelectScene &#8211; Custom scene for level select that handles updating of the scores in the level screen</li>
<li>ZoneSelectScene &#8211; Custom scene for zone select that handles updating of the lock / unlocked status of each zone</li>
</ul>
<p>The following custom actors are also used:</p>
<ul>
<li>ConnectActor &#8211; An actor that connect two bugs together with minimal logic</li>
<li>CounterActor &#8211; This is the main bug actor (originally called counters), handles all bug logic / collision etc</li>
<li>FloaterActor &#8211; Handles floating / fading text</li>
<li>GravityPlacerActor &#8211; Special actor that can be modified to change gravity within the editor</li>
<li>InertActor &#8211; Basically an actor that doesn&#8217;t much other than display itself</li>
<li>PlacerActor &#8211; A basic placeable object, used to position actors in the editor</li>
<li>SelectorActor &#8211; A basic selector actor used by the editor object selection screen to select which object to place</li>
</ul>
<p>The rest of the code is pretty bog standard stuff. Game is the implementation of CIwGame and contains initialisation and shut down. Probably the most interesting part is where the custom XOML classes and events are added using the following code:</p>
<pre>	<span style="color: #008000;">// Add custom classes to XOML system</span>
	IW_GAME_XOML-&gt;addClass(<span style="color: #0000ff;">new </span>InertActorCreator());
	IW_GAME_XOML-&gt;addClass(<span style="color: #0000ff;">new </span>GameSceneCreator());
	IW_GAME_XOML-&gt;addClass(<span style="color: #0000ff;">new </span>LevelSelectSceneCreator());
	IW_GAME_XOML-&gt;addClass(<span style="color: #0000ff;">new </span>ZoneSelectSceneCreator());
	IW_GAME_XOML-&gt;addClass(<span style="color: #0000ff;">new </span>CounterActorCreator());
	IW_GAME_XOML-&gt;addClass(<span style="color: #0000ff;">new </span>PlacerActorCreator());
	IW_GAME_XOML-&gt;addClass(<span style="color: #0000ff;">new </span>GravityPlacerActorCreator());
	IW_GAME_XOML-&gt;addClass(<span style="color: #0000ff;">new </span>SelectorActorCreator());
	IW_GAME_XOML-&gt;addClass(<span style="color: #0000ff;">new</span> EditSceneCreator());

	<span style="color: #008000;">// Add custom game actions to XOML system</span>
	for (<span style="color: #0000ff;">int </span>t = 0; t &lt; CIwGameXomlAction_Global::Action_Max; t++)
 		IW_GAME_XOML-&gt;addAction(<span style="color: #0000ff;">new </span>GameXomlAction_Global((GameXomlAction_Global::ActionType)t));</pre>
<p>These custom actions and events allow us to tie our game logic much closer to our XOML code.</p>
<p>Well that&#8217;s it for this update. We were aiming to get conditional XOML actions in for 0.31, but unfortunately it didn&#8217;t make it, but should do for 0.32.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/02/25/iwgame-engine-v0-31-released-facebook-and-full-connecticons-source-available/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
	</channel>
</rss>

