<?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 and Games</title>
	<atom:link href="http://www.drmop.com/index.php/categories/marketing/apps-and-games/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>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>iPad 3 Prices and Availability</title>
		<link>http://www.drmop.com/index.php/2012/03/07/ipad-3-prices-and-availability/</link>
		<comments>http://www.drmop.com/index.php/2012/03/07/ipad-3-prices-and-availability/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 22:04:39 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[Apps and Games]]></category>
		<category><![CDATA[cOnnecticOns]]></category>
		<category><![CDATA[Cool news]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[iPad 3 availability]]></category>
		<category><![CDATA[iPad 3 Prices]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=973</guid>
		<description><![CDATA[Ok, its finally here the awesome iPad 3 with is uber super 2048 x 1536 pixel retina display resolution! Its availabl now in the US and March 16th in Canada, UK, France, Germany, Switzerland and Japan. Prices go like this: 16GB &#8211; $499 / £399 32GB &#8211; $599 / £499 64GB &#8211; $699./ £599 The [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, its finally here the awesome iPad 3 with is uber super 2048 x 1536 pixel retina display resolution! Its availabl now in the US and March 16th in Canada, UK, France, Germany, Switzerland and Japan.</p>
<p>Prices go like this:</p>
<ul>
<li>16GB &#8211; $499 / £399</li>
<li>32GB &#8211; $599 / £499</li>
<li>64GB &#8211; $699./ £599</li>
</ul>
<p>The IwGame Engine is gonna  kick some serious a** on iPad 3!</p>
<p>Will need to upgrade the graphics in <a title="cOnnecticOns Puzzle Friends for iPhone, iPad, iPod and Android" href="http://itunes.apple.com/us/app/connecticons/id505645452?mt=8">cOnnecticOns</a> to account for the higher resolution display</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/03/07/ipad-3-prices-and-availability/feed/</wfw:commentRss>
		<slash:comments>9</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>cOnnecticOns is now available on the Android Market!</title>
		<link>http://www.drmop.com/index.php/2012/02/23/connecticons-is-now-available-on-the-android-market/</link>
		<comments>http://www.drmop.com/index.php/2012/02/23/connecticons-is-now-available-on-the-android-market/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 15:08:33 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[AirPlay SDK]]></category>
		<category><![CDATA[Android App Development]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Apps and Games]]></category>
		<category><![CDATA[Blackberry Playbook App Development]]></category>
		<category><![CDATA[C Sharp 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[Marketing]]></category>
		<category><![CDATA[Marmalade SDK]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[Samsung Bada Development]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=735</guid>
		<description><![CDATA[Hey everyone, some good news. We finally got the first version of the first IwGame Engine game  cOnnecticOns up on the Android Market at https://market.android.com/details?id=com.pocketeers.connecticons. Playbook, Bada and iOS builds will be available within the next few weeks. And the even better news is that we are on schedule for releasing the full source this [...]]]></description>
			<content:encoded><![CDATA[<p>Hey everyone, some good news. We finally got the first version of the first IwGame Engine game  cOnnecticOns up on the Android Market at <a href="https://market.android.com/details?id=com.pocketeers.connecticons" rel="nofollow">https://market.android.com/details?id=com.pocketeers.connecticons</a>. Playbook, Bada and iOS builds will be available within the next few weeks.</p>
<p>And the even better news is that we are on schedule for releasing the full source this weekend! We&#8217;ve had a bit of a delay because we decided to upgrade the game a bit. We added an extra zone with 10 additional levels, as well as a game editor to allow players to create and play up to 20 of their own levels. Oh, and players can also post their scores to Facebook using the new CIwGameFacebook class (coming in the next IwGame engine update 0.31 this weekend)</p>
<div id="attachment_736" class="wp-caption aligncenter" style="width: 1034px"><a title="cOnnectiCons Android Market" href="https://market.android.com/details?id=com.pocketeers.connecticons" rel="nofollow"><img class="size-full wp-image-736" title="cOnnecticOns" src="http://www.drmop.com/wp-content/uploads/2012/02/Promo_1024.jpg" alt="cOnnecticOns for Android, iPhone, Bada and Blackberry" width="1024" height="500" /></a><p class="wp-caption-text">cOnnecticOns for Android, iPhone, Bada and Blackberry</p></div>
<p>The next update of the game will feature sharing levels between users using a web service, for which we will release the full source code, including the server side scripts.</p>
<p>The update after that will feature in-app purchase content using new classes that e are developing for the IwGame engine.</p>
<p>If you download the game then please consider leaving a nice review</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/02/23/connecticons-is-now-available-on-the-android-market/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>IwGame Engine v0.3 Released &#8211; The 36 hour game</title>
		<link>http://www.drmop.com/index.php/2012/02/14/iwgame-engine-v0-3-released-the-36-hour-game/</link>
		<comments>http://www.drmop.com/index.php/2012/02/14/iwgame-engine-v0-3-released-the-36-hour-game/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 17:00:43 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[AirPlay SDK]]></category>
		<category><![CDATA[Android App Development]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Apps and Games]]></category>
		<category><![CDATA[Blackberry Playbook]]></category>
		<category><![CDATA[Blackberry Playbook App Development]]></category>
		<category><![CDATA[C Sharp Programming]]></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[Marketing]]></category>
		<category><![CDATA[Marmalade SDK]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Samsung Bada Development]]></category>
		<category><![CDATA[36 hour game]]></category>
		<category><![CDATA[cOnnecticOns]]></category>
		<category><![CDATA[Cross platform game development engine]]></category>
		<category><![CDATA[IwGame Engine Update]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=725</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. Well, Dan said a few weeks ago [...]]]></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>Well, Dan said a few weeks ago that &#8220;it’s only until you eat your own dog food that you know you have to improve the taste of it&#8221;. I thought about this and decided that we really needed to create a game using the engine to show its various features in action. So with this, I began work on a game (currently unnamed), but decided that the game would take a few weeks to finish off, so moved over to producing a completely new game from scratch but with a simpler design. The end result was a game that was created in less than 36 man hours, including art production, coding, design and scripts (I was aiming for 24 hours but I came across a a few nasty bugs that took a fair bit of time to fix). In addition,. I underestimated how difficult it would be to put levels together without an actual editor. I will very likely build an actual editor into the cOnnectiCons game itself to allow players to create their own levels. So the game ended up with 20 levels, with an additional 20+ levels coming later.</p>
<p>You can take a quick look at cOnnecticOns at <a rel="nofollow" href="http://www.youtube.com/watch?v=sVa8TWYQEsQ" target="_blank">http://www.youtube.com/watch?v=sVa8TWYQEsQ</a> and here are a few screen shots of our 36 hour game cOnnecticOns:</p>
<div id="attachment_726" class="wp-caption aligncenter" style="width: 650px"><a href="http://www.drmop.com/wp-content/uploads/2012/02/Connecticons_640x375-2.jpg"><img class="size-full wp-image-726" title="Connecticons_640x375 (2)" src="http://www.drmop.com/wp-content/uploads/2012/02/Connecticons_640x375-2.jpg" alt="Connecticons screen shot" width="640" height="375" /></a><p class="wp-caption-text">Connecticons screen shot</p></div>
<div id="attachment_727" class="wp-caption aligncenter" style="width: 650px"><a href="http://www.drmop.com/wp-content/uploads/2012/02/Connecticons_640x375-11.jpg"><img class="size-full wp-image-727" title="Connecticons_640x375 (11)" src="http://www.drmop.com/wp-content/uploads/2012/02/Connecticons_640x375-11.jpg" alt="Connecticons screen shot" width="640" height="375" /></a><p class="wp-caption-text">Connecticons screen shotConnecticons screen shot</p></div>
<div id="attachment_729" class="wp-caption aligncenter" style="width: 650px"><a href="http://www.drmop.com/wp-content/uploads/2012/02/Connecticons_640x375-7.jpg"><img class="size-full wp-image-729" title="Connecticons_640x375 (7)" src="http://www.drmop.com/wp-content/uploads/2012/02/Connecticons_640x375-7.jpg" alt="Connecticons screen shot" width="640" height="375" /></a><p class="wp-caption-text">Connecticons screen shot</p></div>
<p>We have already started submitting the game to app stores, so when we release the source &#8220;Don&#8217;t go getting any ideas lol&#8221;. The source will be provided as a learning exercise, and not for someone else to make a quick buck off.</p>
<p>Ok, now that&#8217;s out the way, lets take a brief look at the changed that have arrived in IwGame v0.3:</p>
<ul>
<li>Support added for particle based actors via CIwGameActorParticle and CIwGameActorParticles as well as XOML via ActorParticles and Particle tags. Particles can be defined individually or in batches using random parameters. Particles have position, linear velocity, angular velocity, scale velocity, colour velocity, depth velocity, velocity damping, lifespan and repeat</li>
<li>Support for Marmalade fonts has been added via CIwGameFont wrapper and a new XOML Font tag</li>
<li>All rendering now uses IwGx instead of Iw2D. This offers more control over rendering as well as makes the code more portable / versatile in the future</li>
<li>All internal rendering upgraded to sub pixel coordinates offering MUCH smoother rendernig</li>
<li>New 2D rendering class added CIwGameRender2d. This cklass allows batch rendering of primitives and rendering of text CIwGxFontPreparedData prepared text</li>
<li>New very powerful template system added to XOML. The template system allows you to create a complex piece of XOML using paramaters that can be passed in when the template is instantiated. Templates can also be instantiated from code using CIwGameTemplate::Instantiate()</li>
<li>CIwGame::addScene() can now auto bring a scene to the front of scene stack</li>
<li>New global actions added to XOML &#8211; Launch, setBGColour, SetCurrentScene and BringtSceneToFront</li>
<li>Actors and sprites now have a depth property allowing you to add 3D depth to them</li>
<li>Actors and sprites now have an origin attribute</li>
<li>Support added for sprites and actors for none uniform scaling</li>
<li>Support added for linked actors. A linked actor will utilise the transform, colour and visibility of the actor it is linked to. In XOML, you can use the new LinkedTo tag to set linkage or the more natural and readable method of defining actors within actor tags. This system allows complex multi-patr actors to be created and animated</li>
<li>Actors now support OnCreate and OnDestroy events in code and in XOML</li>
<li>Scenes now support OnCreate, OnDestroy OnGainedFocus and OnLostFocus events in code and in XOML</li>
<li>New text based actor and sprite types added CIwGameActorText and CIwGameTextSprite.</li>
<li>Animation system now supports linear, quadratic, cubic and quartic on / out easing in code and in XOML. In addition value interpolation can be enabled / disabled</li>
<li>Animations now support absolute and delta values</li>
<li>Animation timelines now support OnStart, OnEnd and OnRepeat events in code and in XOML</li>
<li>CIwGameAudio::PlayMusic now supports repetition with additional parameter in XOML</li>
<li>New CIwGameSlotArray class added for efficient resizable arrays</li>
<li>Actor Box2D collision system was broken and inefficient. The system has been completely reworked and now uses the new more efficient CIwGameSlotArray</li>
<li>CIwGameBox2dBody now has new awake and active methods</li>
<li>CIwGameCamera now supports velocity, damping and touch panning. Touch panning will pan the camera to follow the users finger</li>
<li>More than one scene can now receive input events using the new AllowFocus functionality in code and in XOML</li>
<li>New findClosestActor and findFurthestActor methods added to CIwGameScene</li>
<li>CIwGameBitmapSprite now supports colour per vertex</li>
<li>CIwGameSpriteManager supports enabling / disabling of batching and a new centre of projection property for depth used by depth sprites</li>
<li>CIwGameInput reworked to better support multi-touch</li>
<li>PlayTimeline, StopTimeline and SetTimeline now supports a second parameter which points to the scene or actor that the timeline change should be made to</li>
<li>Actors can now be marked for hit testing in XOML</li>
<li>Image files can now be loaded directly from XOML without the need for Marmalade resources files</li>
<li>CIwGameScene and CIwGameActor based objects are now marked as destroyed when they are removed so they cannot be found in a scene or actor search</li>
<li>CIwGameXmlNode now supports cloning</li>
<li>Bug Fix: Actors now take into account their visibility when being hit tested</li>
<li>Bug Fix: CIwGameActor::setCollidable no works</li>
<li>Bug Fix: StartTimeline action now restarts a stopped timline properly</li>
<li>Bug Fix: Clipping rect is now transform by the scenes transform (will not clip correctly against rotated scenes however)</li>
<li>Bug Fix: XML parser fixes</li>
<li>Bug Fix: CIwGame game scene switch scene bug fixes</li>
<li>Bug Fix: CIwGameAds::ErrorFromResponse fix that were causing some valid ads to be in error</li>
<li>Bug Fix: CIwGameAnim fixes</li>
<li>Bug Fix: Polygon based Box2D bodies now fixed</li>
<li>Bug Fix: Sprite rendering transform fixed</li>
<li>Bug Fix: CIwGameBitmapSprite with no loaded image no longer crash</li>
<li>Bug Fix: CiwGameString crashes fixed (were causing rare problems with XML system)</li>
<li>Bug Fix: Fixed issue with CIwGameXmlAttribute::GetValueAsColour not checking for correct parameter count</li>
<li>Bug Fix: On device scene shut down camera deletion fixed</li>
</ul>
<p>Ok, that&#8217;s a shed load of changes, but I can assure you that they are all for the better. IwGame is now a professional grade and fairly stable engine that can be used to create games in as little as 36 hours!</p>
<p>Lets take a look at some of the new additions in more detail.</p>
<h1>Templates</h1>
<p>I want to start with my utmost favourite change to 0.3 which is templates. I am so in love with templates that I feel like I could almost marry one! They saved me so much time when developing cOnnecticOns. Templates allow you to create large sections of XOML as templates then instantiate those large<br />
pieces of XOML somewhere else using custom parameters that you pass to the template when you instantiate it. Lets take a quick look at a super simple example:</p>
<pre>&lt;Template Name="ActorTemplate"&gt;
        &lt;InertActor Name="Explosion$name$" Image="$image" Position="$pos$" Scale="$scale$" Depth="$depth$" Layer="1" AngularVelocity="0" /&gt;
&lt;/Template&gt;</pre>
<p>Here we define a template called ActorTemplate that contains a basic InertActor definition. You may notice some strange markers in there surrounded by double dollars signs ($name$, $image$,$pos$, $scale$ and $depth$).</p>
<p>Now when we instantiate this template somewhere we would use:</p>
<p>&lt;FromTemplate Template=&#8221;ActorTemplate&#8221; name=&#8221;actor1&#8243; scale=&#8221;1.0&#8243; pos=&#8221;300, 150&#8243; depth=&#8221;1.0&#8243; image=&#8221;sprites1&#8243; /&gt;</p>
<p>The above XOML command will instantiate whatever is in the ActorTemplate template passing all of its parameters, replacing the double dollar definitions inside the template (Hmm, sounds very much like calling a function? Which I guess in some ways it is)</p>
<p>Templates can be as massive and as complicated as you like, allowing you to design and instantiate some very complex objects with very few lines of XOML.</p>
<h1>Rendering Engine Upgrade</h1>
<p>Up until version 0.29 of the IwGame Engine we used Marmalade&#8217;s Iw2D engine as the rendering core. As of v0.30 we have switched to Marmalade&#8217;s IwGx rendering system as it offers much more versatility as well as brings the engine into the realms of 3D rendering, which is where we will eventually be steering the engine.</p>
<p>To facilitate this change over and to keep the game engine code nice and readable, all rendering has been abstracted away into a nice simple class called CIwGameRender2d. CiwGameRender2d is and will in future be the centre point for all rendering that takes place within IwGame.</p>
<p>At the moment CiwGameRender2d offers:</p>
<ul>
<li>Batch and none batch sprite rendering of quad based polygons</li>
<li>Rendering of prepared text from the Marmalade IwGxFont system</li>
</ul>
<p>In the near future we will be adding support for various other types of primitives, 3d models and hopefully our own custom shaders etc..</p>
<p>Lastly, all rendering now uses sub-pixel accuracy which looks much much smoother.</p>
<h1>Text and Fonts</h1>
<p>IwGame now supports definition of Marmalade fonts and custom rendering of those fonts using a new text based sprite and actor. Text based sprites and actors are treat just like any other sprite or actor objects, so they can be spun, scaled, linked, colour changed etc.. Unlike generic actors text based actors can be instantiated without deriving your own class from CIwGameActorText</p>
<h1>3D Sprites / Actors</h1>
<p>Another one of my favourite additions to 0.3 is 3D sprites. All sprites and actors can now have a depth value (think iof this as a z value) that allows you to project sprites into 3D.  This system is great for create parallaxing effects etc..</p>
<p>Oh and sprites / actors also get an adjustable origin and none uniform scaling</p>
<h1>Linked Actors</h1>
<p>Actors can be created within other actors to form a parent / child relationship. Inner actors will be linked back to their containing actor forcing them to be transformed by their parent actors. This system allows you to create a very powerful intuitive multi-part actor system complete with animations per actor part. Note that all positions, depths etc will be relative to the container actor, so for example, if the parent actor has a Depth value of 1.0f and the child actor has a Depth value of 1.0f then the child&#8217;s effective Depth will be 2.0f. Here&#8217;s an example showing parent / child actors:</p>
<pre>&lt;InertActor Name="Level1" Style="LevelButtonStyle" Position="0, 0" OnBeginTouch="BeginTouch11" OnTapped="StartLevel1"&gt;
    &lt;ActorText Name="Record1" Style="LevelButtonTextStyle" Colour="255, 80, 80, 255" Position="0, 0" Text="0" Depth="0" /&gt;
    &lt;ActorText Style="LevelButtonTextStyle" Position="0, 60" Text="Round 1" Depth="0" /&gt;
    &lt;InertActor Name="LevelComplete1" Size="74, 67" Image="sprites2" SrcRect="582, 423, 148,134" Position="60, -20" HitTest="false" Depth="0" Timeline="tick_scale_anim" /&gt;
&lt;/InertActor&gt;</pre>
<p>In the above XOML the parent actor level1 contains three children actors that will all follow theLevel1 actors visual transform.</p>
<h1>Particle System Actors</h1>
<p>This actor is special in that it is optimised for creating, displaying and updating a complete system of sprites (kind of like its own sprite manager). The advantage of this actor is that it does not have to deal with each particle as a separate actor object. The CIwGameActorParticles actor supports both manual and auto generation of particles. Auto generation can be controlled using a number of a control parameters.</p>
<p>Particles have a number of properties that can be adjusted:</p>
<ul>
<li>Visual</li>
<li>Position</li>
<li>Velocity</li>
<li>Velocity Damping</li>
<li>Gravity</li>
<li>Scale</li>
<li>Scale Velocity</li>
<li>Scale Velocity Damping</li>
<li>Angle</li>
<li>Angle Velocity</li>
<li>Angle Velocity Damping</li>
<li>Colour</li>
<li>Colour Velocity</li>
<li>Colour Velocity Damping</li>
<li>Depth</li>
<li>Depth Velocity</li>
<li>Depth Velocity Damping</li>
<li>Active state</li>
<li>Visible state</li>
<li>Lifespan – Duration of particle in seconds</li>
<li>SpawnDelay – The amount of time to wait before spawning for the first time</li>
<li>Lives – Number of times the particle will re-spawn (-1 for infinite)</li>
</ul>
<p>The particle actor system allows auto generation of particles within certain limits as well as manual generation. Patricles can be defined and placed both in code and in XOML.</p>
<h1>Animation Frame Easing</h1>
<p>Animations now support in and out easing on a per frame basis using the “Ease” attribute of the frame tag or in code. Valid values of easing include:</p>
<ul>
<li>linear – No easing</li>
<li>quadin / quadout – Quardatic in / out easing</li>
<li>cubicin / cubicout – Cubic in / out easing</li>
<li>quarticin / quarticout – Quartic in / out easing</li>
</ul>
<h1>Time lines now in the Events System</h1>
<p>Its now possible to attach actions  to timeline events such as OnStatr, OnEnd and OnRepeat. So for example, each time an animation repeats you could play a sound effect or maybe when an animation finishes yu kill destroy the actor or start a particle system off going etc..</p>
<h1>Animations now support delta / absolute coordinates</h1>
<p>Every animation can now be specified as absolute or delta. An absolute animation will write its interpolated frame values directly into the target objects properties (such as position), whilst a delta animation will update the current target properties. So for example, a delta animation for position would adjust the position by dx, dy, where dx and dy is the current interpolated frame value.</p>
<h1>Automatic Touch Panning for Cameras</h1>
<p>Cameras now have X and Y axis touch panning. When a camera is touch pan enabled it will track the users finger drag on screen to determine a velocity to move the camera by. Touch panning can be enabled on the X an Y axis independently.</p>
<h1>Other cool changes</h1>
<p>Multi-focus scenes &#8211; More than one scene can now receive input events<br />
Local images can now be loaded from XOML</p>
<p>There are many other changes but I don&#8217;t really have the time to go through them all. There&#8217;s also a mound of bug fixes that weer found during development of cOnnecticOns.</p>
<p>We will be releasing the full source to cOnnecticOns later this week along with an additional 10-20 levels.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/02/14/iwgame-engine-v0-3-released-the-36-hour-game/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>IwGame Engine v0.29 Released &#8211; XOML is evolving</title>
		<link>http://www.drmop.com/index.php/2012/01/23/iwgame-engine-v0-29-released-xoml-is-evolving/</link>
		<comments>http://www.drmop.com/index.php/2012/01/23/iwgame-engine-v0-29-released-xoml-is-evolving/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 19:07:51 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[AirPlay SDK]]></category>
		<category><![CDATA[Android App Development]]></category>
		<category><![CDATA[Apps and Games]]></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[iOS App Development]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[Marmalade SDK]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>
		<category><![CDATA[Samsung Bada Development]]></category>
		<category><![CDATA[Cross platform]]></category>
		<category><![CDATA[Free open source]]></category>
		<category><![CDATA[Game Engine]]></category>
		<category><![CDATA[IwGame Engine Update]]></category>
		<category><![CDATA[XOML upgrade]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=697</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. The Universe conspired against me this week, [...]]]></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>The Universe conspired against me this week, first of all landing me with a nice flu, followed directly by some horrible sickness bug that featured projectile vomiting of the likes only seen in movies such as the Exorcist! Thankfully the Universe decided to give me a break this week so an IwGame Engine update got finished.</p>
<p>Most of the changes this week are XOML related as this is the general direction we want to take the game engine. A good mix of XOML mark-up and solid coding should make games and media apps very quick and easy to develop.</p>
<p>Oh and we got a new logo for the IwGame Engine woohoo! Feel free to use the logo in any of your IwGame powered products, or if you want to link to us.</p>
<p>Ok, onto the list of iwGame Engine changes for v0.29:</p>
<ul>
<li>New style system added to XOML. Actors and scenes can now use a style to reduce repetition</li>
<li>Actors and scenes now handle events such as OnSuspend, OnTapped, OnBeginTouch etc.. When an event fires it executes a collection of actions</li>
<li>Actions added to XOML to allow definition of collections of actions that can be executed. Many default actions are suppported such as ChangeScene, KillScene, PlayTimeline, PlaySound etc.. Custom actions can also be added toextend the system</li>
<li>CIwGame now handles touch begin touch, end touch and tapped events</li>
<li>CIwGame now has new Postdraw() method for adding in custom post draw rendering</li>
<li>Actors can now be made tappable and now handle OnTapped(), OnBeginTouch() and OnEndTouchEvents()</li>
<li>Actors have new HitTest() method that can be used to check if a point is inside the actors visual</li>
<li>XOML now supports creation of cameras</li>
<li>XOML now supports creation of variables and update of variables using actions, supports string, bool, int, float, vec2, vec3 and vec4</li>
<li>XOML files can now load other XOML files with new LoadXOML tag as well as LoadXOML action</li>
<li>Scenes now support a type field</li>
<li>CIwGameBitmapSprite now supports image transforms (flips. mirrors etc) which can be also applied to actors visuals using FlipX and FlipY attributes</li>
<li>You now change the current time of a CIwGameAnimInstance and CIwGameAnimTimeline</li>
<li>Bug Fix &#8211; Actor visibile state now works properly</li>
<li>Bug Fix &#8211; CIwGameShape::setShape() now works</li>
<li>Bug Fix &#8211; Transform is now reset after CIwGameAdsView finishes rendering</li>
<li>Bug Fix &#8211; JPEG file detection fixed, was not detecting certain types of JPEG files</li>
<li>Bug Fix &#8211; CIwGameString::FindNext() crash fixed</li>
</ul>
<p>Quite a few changes and bug fixes. Note that someo f the bug fixes directly affected IwGameAds so an update to that API will be released shortly.</p>
<p>Lets take a look at the changes in more detail.</p>
<h2>XOML Variables</h2>
<p>XOML got variables, but why? Well, there are a number of reasons:</p>
<ul>
<li>We want to be able to define values that can be read by the main code</li>
<li>We want to change these values via actions</li>
<li>When we implement the UI system we are looking to add data binding capabilities that will rely on values</li>
</ul>
<p>You can declare a variable in XOML like this:</p>
<pre>    &lt;<span style="color: #0000ff;">Variable </span>Name="PlayerName" Type="string" Value="Player One" /&gt;
    &lt;<span style="color: #0000ff;">Variable </span>Name="PlayerScore" Type="int" Value="0" /&gt;
    &lt;<span style="color: #0000ff;">Variable </span>Name="PlayColour" Type="vec4" Value="255, 128, 64, 8" /&gt;</pre>
<p>You can later modify the value of that variable using a SetVar action, more on this later.</p>
<p>Each scene contains its own variables collection and the global resource system also contains a global variables collection.</p>
<h2>XOML Styles</h2>
<p>XOML now supports the styling of actors and scenes using the new Style tag. XOML styles enable you to create a set of properties and values that are common across a range of objects then apply tat style the to them all. Hers a quick</p>
<p>example:</p>
<pre>&lt;<span style="color: #0000ff;">Style </span>Name="BasicActorStyle"&gt;
    &lt;<span style="color: #0000ff;">Set </span>Property="Size" Value="60, 60" /&gt;
    &lt;<span style="color: #0000ff;">Set </span>Property="Angle" Value="0" /&gt;
    &lt;<span style="color: #0000ff;">Set </span>Property="SrcRect" Value="0, 0, 36, 40" /&gt;
    &lt;<span style="color: #0000ff;">Set </span>Property="Image" Value="Sprites" /&gt;
    &lt;<span style="color: #0000ff;">Set </span>Property="Timeline" Value="Player1Intro1" /&gt;
    &lt;<span style="color: #0000ff;">Set </span>Property="Shape" Value="PlayerShape" /&gt;
    &lt;<span style="color: #0000ff;">Set </span>Property="Box2dMaterial" Value="BounceyBall" /&gt;
    &lt;<span style="color: #0000ff;">Set </span>Property="CollisionFlags" Value="1, 1, 1" /&gt;
&lt;/Style&gt;</pre>
<p>&lt;TestActor Name=&#8221;Player2&#8243; Style=&#8221;BasicActorStyle&#8221; Position=&#8221;0, -150&#8243; /&gt;</p>
<p>The TestActor Player2 will be assigned all of the values in the properties defined in the style saving you a whole bunch of typing as well as making your mark-up much more readable and easier to maintain.</p>
<h2>XOML Events And Actions</h2>
<p>Actors and scenes now support various events that can fire off user defined actions. The following events are currently defined:</p>
<p>Scenes:</p>
<ul>
<li>OnSuspend &#8211; Called when a scene is suspended</li>
<li>OnResume &#8211; Called when a scene is resumed</li>
</ul>
<p>Actors:</p>
<ul>
<li>OnTapped &#8211; Called when the user taps an actor</li>
<li>OnBeginTouch &#8211; Called when the user begins to touch an actor</li>
<li>OnEndTouch &#8211; Called when the user stops touching an actor</li>
</ul>
<p>More will be added as we think of them or when requested. You can also add your own custom events youself. Check out the CIwGameActor class for a reference on how to do this.</p>
<p>Events wouldn&#8217;t really be much use unless we could carry out some kind of action when the event occurred. Actions are defined in XOML using the Actions tag, heres an example:</p>
<pre>&lt;<span style="color: #0000ff;">Scene </span>Name="GameScene3" Style="GenericSceneStyle" OnSuspend="SuspendActions"&gt;
    &lt;<span style="color: #0000ff;">Actions </span>Name="SuspendActions"&gt;
        &lt;<span style="color: #0000ff;">Action </span>Method="SetTimeline" Param1="SceneTransition1" /&gt;
        &lt;<span style="color: #0000ff;">Action </span>Method="PlaySound" Param1="explosion" /&gt;
    &lt;/<span style="color: #0000ff;">Actions</span>&gt;
&lt;/<span style="color: #0000ff;">Scene</span>&gt;</pre>
<p>You actually create a group of actions that are all executed when the action is called by an event.</p>
<p>The following actions are currently supported:</p>
<ul>
<li>ChangeScene – Changes the currently focused scene to the specified scene</li>
<li>SuspendScene – Suspends the specified sceme</li>
<li>ResumeScene– Resumes the specified sceme</li>
<li>HideScene– Hides the specified sceme</li>
<li>ShowScene– Shows the specified sceme</li>
<li>ActivateScene – Activates the specified sceme</li>
<li>DeactivateScene – Deactivates the specified sceme</li>
<li>KillScene – Destroys and removes the specified sceme from the game, all contained resources amd actors will be also be destroyed</li>
<li>HideActor – Hides the specified actor</li>
<li>ShowActor – Shows the specified actor</li>
<li>ActivateActor – Activates the specified actor</li>
<li>DeactivateActor – Deactivates the specified actor</li>
<li>KillActor – Kills and removes the specified actor</li>
<li>PlayTimeline – Plays the specified timeline. If no timeline is supplied then the current actor / scenes timeline will be restarted (depends on where the action was defined)</li>
<li>StopTimeline – Stops the specified timeline. If no timeline is supplied then the current timeline will be stopped. (depends on where the action was defined)</li>
<li>SetTimeline – Changes to the specified timeline. If no timeline is supplied then the current timeline will changed and restarted. (depends on where the action was defined)</li>
<li>PlaySound – Starts playing a sound effect</li>
<li>PlayMusic – Starts the playing specified music file</li>
<li>StopMusic – Stops the music player playing</li>
<li>LoadXOML – Loads a XOML file into scene or globally. If a scene is provided then the XOML will be loaded into that scene</li>
<li>SetVar – Sets the value of a variable</li>
</ul>
<p>Again, more will be added as we think of them or when requested. You can also add your own custom actions youself. Check out the CIwGameXomlAction_Actors class for a reference on how to do this.</p>
<p>Coupled together the events and actions system provide a very powerful way of creating fully interactive content without having to write a single line of code.</p>
<h2>Loading Other XOML Files</h2>
<p>It is now possible to load other XOML files from a XOML file using the new LoadXOML tag. Heres an example:</p>
<pre>&lt;<span style="color: #0000ff;">LoadXOML </span>File="Common.xml" /&gt;
&lt;<span style="color: #0000ff;">LoadXOML </span>File="Sceme2.xml" /&gt;
&lt;<span style="color: #0000ff;">LoadXOML </span>File="Scene3.xml" /&gt;</pre>
<p>You can also (as shown in the actions section) load a XOML file from an action.</p>
<p>Using this system you can create fully interactive navigation based content. Think adventure games, books, magazines and informational apps etc..</p>
<h2>Scene Cameras</h2>
<p>Cameras can now be defined in XOML and attached to scenes. You can also switch a scenes camera using the animation system.</p>
<h2>Image Transforms for Sprites and Actors</h2>
<p>Sprites and actors can now use an image transform allowing you to flip the source image used to render the object. The ne FlipX and FlipY attributes are now available in XOML.</p>
<p>Well thats it for this update. IwGame now has some very cool features that should hopefully make game / app development much easier and quicker for everyone.</p>
<p>We are going to assess the possibility of wrapping up Marmalades cool UI system with XOML very soon, will keep you all posted on how that goes. I am also looking at producing a new article on in-app purchasing with the Marmalade SDK, which will form the basis of in-app purchasing for the IwGame engine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/01/23/iwgame-engine-v0-29-released-xoml-is-evolving/feed/</wfw:commentRss>
		<slash:comments>84</slash:comments>
		</item>
		<item>
		<title>POLL: Using IwGameAds or Planning To?</title>
		<link>http://www.drmop.com/index.php/2012/01/16/poll-using-iwgameads-or-planning-to/</link>
		<comments>http://www.drmop.com/index.php/2012/01/16/poll-using-iwgameads-or-planning-to/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 23:40:34 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[Android App Development]]></category>
		<category><![CDATA[Apps and Games]]></category>
		<category><![CDATA[Blackberry Playbook App Development]]></category>
		<category><![CDATA[C++ Programming]]></category>
		<category><![CDATA[iOS App Development]]></category>
		<category><![CDATA[IwGame Engine]]></category>
		<category><![CDATA[IwGameAds SDK]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Samsung Bada Development]]></category>
		<category><![CDATA[IwGameAds Poll]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=687</guid>
		<description><![CDATA[Hi Everyone, We currently don&#8217;t have a clue as to how many developers are using or planning to use IwGameAds. Please let us know by selecting one of the following options Thanks for voting!]]></description>
			<content:encoded><![CDATA[<p>Hi Everyone, </p>
<p>We currently don&#8217;t have a clue as to how many developers are using or planning to use IwGameAds. Please let us know by selecting one of the following options</p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
<p>Thanks for voting!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/01/16/poll-using-iwgameads-or-planning-to/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Please Vote for Our App</title>
		<link>http://www.drmop.com/index.php/2012/01/06/please-vote-for-our-app/</link>
		<comments>http://www.drmop.com/index.php/2012/01/06/please-vote-for-our-app/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 11:08:01 +0000</pubDate>
		<dc:creator>drmop</dc:creator>
				<category><![CDATA[Apps]]></category>
		<category><![CDATA[Apps and Games]]></category>
		<category><![CDATA[Cool news]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Pocketeers Limited]]></category>

		<guid isPermaLink="false">http://www.drmop.com/?p=629</guid>
		<description><![CDATA[We have been nominated for 2011 Best App Ever Award over at http://bestappever.com/v/vido/2/com.pocketeers.funkycam3d in the video app category. Please take the time to give us a quick vote. Vote for Funky Cam 3D for Best Video App]]></description>
			<content:encoded><![CDATA[<p>We have been nominated for 2011 Best App Ever Award over at <a title="Vote for Funky Cam 3D" href="http://bestappever.com/v/vido/2/com.pocketeers.funkycam3d" target="_blank" rel="nofollow">http://bestappever.com/v/vido/2/com.pocketeers.funkycam3d</a> in the video app category. Please take the time to give us a quick vote.</p>
<p><a class="bae-nominate-btt" href="http://www.bestappever.com/v/vido/2/com.pocketeers.funkycam3d"><span>Vote for Funky Cam 3D for Best Video App</span></a>
<link rel="stylesheet" href="http://www.bestappever.com/template/2011/vote-button.css" media="screen">
]]></content:encoded>
			<wfw:commentRss>http://www.drmop.com/index.php/2012/01/06/please-vote-for-our-app/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

