<?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>8-Bit Warrior</title>
	<atom:link href="http://www.8bitwarrior.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.8bitwarrior.com</link>
	<description>Games + Design + Tutorials + Random</description>
	<lastBuildDate>Mon, 17 Jun 2013 07:59:19 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>[PersistGMS v0.1.7] &#8211; Custom Room Persistence for GameMaker: Studio</title>
		<link>http://www.8bitwarrior.com/?p=969&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=persistgms-v0-15-custom-persistence-for-gamemaker-studio</link>
		<comments>http://www.8bitwarrior.com/?p=969#comments</comments>
		<pubDate>Mon, 01 Apr 2013 04:03:08 +0000</pubDate>
		<dc:creator>8BitWarrior</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Maker]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gml]]></category>
		<category><![CDATA[maker]]></category>
		<category><![CDATA[studio]]></category>

		<guid isPermaLink="false">http://www.8bitwarrior.com/?p=969</guid>
		<description><![CDATA[THIS IS AN EARLY EXPERIMENTAL VERSION AND LIKELY CONTAINS BUGS. USE AT YOUR OWN DISCRETION. Currently, it should only be used for smaller projects. Documentation can be found in the 'Create Event' of obj_PersistentManager. ------------------------- HTML5 DEMO ... .gmz Example Project DOWNLOAD ** Open using GameMaker's 'Import' menu. ... obj_PersistentManager.object.gmx DOWNLOAD ** Right-Click -> Save [...]]]></description>
				<content:encoded><![CDATA[<p></p>
<p>
<strong>THIS IS AN EARLY EXPERIMENTAL VERSION AND LIKELY CONTAINS BUGS. USE AT YOUR OWN DISCRETION.</strong><br />
Currently, it should only be used for smaller projects.<br />
Documentation can be found in the 'Create Event' of obj_PersistentManager.
</p>
<p>-------------------------<br />
HTML5 <a href="http://8bitwarrior.com/tools/PersistGMS/PersistGMS_HTML5_Demo/" target="_blank">DEMO</a><br />
...<br />
.gmz Example Project <a href="http://8bitwarrior.com/tools/PersistGMS/PersistGMS_0_1_7.gmz">DOWNLOAD</a> ** Open using GameMaker's 'Import' menu.<br />
...<br />
obj_PersistentManager.object.gmx <a href="http://8bitwarrior.com/tools/PersistGMS/obj_PersistentManager.object.gmx">DOWNLOAD</a> ** Right-Click -> Save Link As **<br />
-------------------------</p>
<p>PersistGMS provides a foundation for custom room persistence in GameMaker. It is designed to be easy to use. Simply add the objects you want to remain persistent for each room to a list contained in obj_PersistentManager. For now, only the x/y values of persistent objects are recorded, but this can easily be extended to suit specific needs.</p>
<p>Feel free to check out the example project, or download and directly import obj_PersistentManager.object.gmx into your own project. There is no need to download additional scripts or .dll files.</p>
<p>Designed to work across all target platforms (Windows, Mac, Linux, iOS, Android, HTML5).<br />
Feel free to report any bugs or design issues you face.</p>
<p>&nbsp;</p>
<div id="attachment_970" class="wp-caption aligncenter" style="width: 330px"><a href="http://www.8bitwarrior.com/?attachment_id=970" rel="attachment wp-att-970"><img class="size-full wp-image-970" alt="Persistent Action!" src="http://www.8bitwarrior.com/wp-content/uploads/2013/03/PersistGMS_Screenshot.png" width="320" height="480" /></a><p class="wp-caption-text">Persistent Action!</p></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.8bitwarrior.com/?feed=rss2&#038;p=969</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sync Labs &#8211; February 1GAM Entry</title>
		<link>http://www.8bitwarrior.com/?p=891&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sync-labs-february-1gam-entry</link>
		<comments>http://www.8bitwarrior.com/?p=891#comments</comments>
		<pubDate>Sun, 17 Feb 2013 22:45:48 +0000</pubDate>
		<dc:creator>8BitWarrior</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Jams]]></category>
		<category><![CDATA[Game Maker]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.8bitwarrior.com/?p=891</guid>
		<description><![CDATA[For February's OneGameAMonth entry, I decided to dedicate my time on finishing up a project I started over a year and a half ago. 1GAM has become a great facilitator in helping me stay motivated and simply get things done. Sync Labs originally started from a small puzzle game I completed called Spawner for a [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_893" class="wp-caption alignright" style="width: 370px"><a href="http://www.8bitwarrior.com/?attachment_id=893" rel="attachment wp-att-893"><img class="size-full wp-image-893" alt="Puzzles for the win!" src="http://www.8bitwarrior.com/wp-content/uploads/2013/02/screen_four_corners.png" width="360" height="240" /></a><p class="wp-caption-text">Puzzles for the win!</p></div>
<p>For February's OneGameAMonth entry, I decided to dedicate my time on finishing up a project I started over a year and a half ago. 1GAM has become a great facilitator in helping me stay motivated and simply get things done.</p>
<p>Sync Labs originally started from a small puzzle game I completed called <a href="http://8bitwarrior.com/Spawner/" target="_blank">Spawner</a> for a Game Jam I participated in almost 2 years ago. Ever since that time, I have been meaning to extend the idea and create something more complete.</p>
<p>Sync Labs is currently available on:</p>
<p>Web HTML5 -&gt;<a href="http://www.8bitwarrior.com/games/SyncLabs/" target="_blank">Play Now</a><br />
Android Google Play-&gt; <a href="https://play.google.com/store/apps/details?id=com.distractedpear.synclabs" target="_blank">Full Version</a> - <a href="https://play.google.com/store/apps/details?id=com.distractedpear.synclabslite" target="_blank">Free Lite Version</a><br />
Kindle Fire -&gt; <a href="http://www.amazon.com/Stephen-Loney-Sync-Labs/dp/B00BHMHE72/ref=sr_1_1?s=mobile-apps&amp;ie=UTF8&amp;qid=1361482663&amp;sr=1-1&amp;keywords=sync+labs" target="_blank">Amazon</a><br />
iOS -&gt; <a href="https://itunes.apple.com/us/app/sync-labs/id604312866?ls=1&amp;mt=8" target="_blank">iTunes</a></p>
<p>[Game Description]<br />
Welcome to Sync Labs, a place infamous for clone experimentation and questionable ethics.</p>
<p>As Subject 227, an oddly cheery blob, you must skillfully complete the many tests prepared for you and the clones designed to copy your every move. Success will demand perfect collaboration in activating all sync pads placed throughout each lab.</p>
<p>In the experiments, you will find boulders, moving platforms, brain-reversing devices, teleporters and more!</p>
<p>Sound easy? Think again!</p>
<p>Features:<br />
- Unique puzzle experience<br />
- 45 levels across 5 sectors<br />
- 8-bit inspired graphics based on NES palette<br />
- Interactive environments</p>
<p><object width="420" height="315" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/jzFm2K4YnEc?hl=en_US&amp;version=3&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed width="420" height="315" type="application/x-shockwave-flash" src="http://www.youtube.com/v/jzFm2K4YnEc?hl=en_US&amp;version=3&amp;rel=0" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.8bitwarrior.com/?feed=rss2&#038;p=891</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Battle Blocks &#8211; January 1GAM Entry</title>
		<link>http://www.8bitwarrior.com/?p=861&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=battle-blocks-january-1gam-entry</link>
		<comments>http://www.8bitwarrior.com/?p=861#comments</comments>
		<pubDate>Wed, 30 Jan 2013 05:48:02 +0000</pubDate>
		<dc:creator>8BitWarrior</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Jams]]></category>
		<category><![CDATA[Game Maker]]></category>
		<category><![CDATA[1gam]]></category>
		<category><![CDATA[arcade]]></category>
		<category><![CDATA[classic]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[gamemaker]]></category>
		<category><![CDATA[onegameamonth]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[shmup]]></category>
		<category><![CDATA[shooter]]></category>

		<guid isPermaLink="false">http://www.8bitwarrior.com/?p=861</guid>
		<description><![CDATA[I recently finished my first entry, Battle Blocks, for One Game a Month. At one point, it seemed that I wouldn't be able to finish before the end of January, but applying a lot of KISS solved that problem. I am looking forward to working on another game for February. I still have to play [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_860" class="wp-caption alignright" style="width: 330px"><a href="http://www.8bitwarrior.com/?attachment_id=860" rel="attachment wp-att-860"><img src="http://www.8bitwarrior.com/wp-content/uploads/2013/01/screenshot_1.png" alt="Its a bit hectic" width="320" height="480" class="size-full wp-image-860" /></a><p class="wp-caption-text">Its a bit hectic</p></div>
<p>I recently finished my first entry, <a href="https://play.google.com/store/apps/details?id=com.distractedpear.battleblocks" target="_blank">Battle Blocks</a>, for <a href="http://onegameamonth.com/" target="_blank">One Game a Month</a>. At one point, it seemed that I wouldn't be able to finish before the end of January, but applying a lot of <a href="http://en.wikipedia.org/wiki/KISS_principle" target="_blank">KISS</a> solved that problem. I am looking forward to working on another game for February. I still have to play with some ideas. Again, it will need to be something simple.</p>
<p>I must note that the community around 1GAM has been great. There is lots of activity, especially on Twitter, where many people are sharing and supporting one another. It will be interesting to see the result of this whole experiment by the end of the year!</p>
<p>Anyhow, here is some info for Battle Blocks:</p>
<p>HTML5 Version -> <a href="http://8bitwarrior.com/games/BattleBlocks/" target="_blank">Play Now</a><br />
Android Versions -> <a href="https://play.google.com/store/apps/details?id=com.distractedpear.battleblocks" target="_blank">Google Play</a> or <a href="https://dl.dropbox.com/u/8524378/Sharing/BattleBlocks/BattleBlocks.apk">Direct Download</a><br />
iOS Version -> <a href="https://itunes.apple.com/us/app/battle-blocks-attack!/id598514430?ls=1&#038;mt=8" target="_blank">iTunes</a></p>
<p>Description:<br />
They are coming!<br />
The four sided foes have gathered their numbers and are ready to strike!<br />
How long can you survive the perpetual onslaught of merciless blocks?</p>
<p>As the last surviving triangle, you must shoot wave after wave of incoming squares as they attempt to reinforce their numbers and conquer the screen.<br />
Collect power ups to assist you in fighting back the enemy and to obtain the top score.</p>
<p>Features colorful graphics, rad music and fast paced combat!<br />
Now, doesn't that sound great? I know, I know... its awesome+1!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.8bitwarrior.com/?feed=rss2&#038;p=861</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TweenGMS v0.88 &#8211; Tweening Engine for GameMaker:Studio</title>
		<link>http://www.8bitwarrior.com/?p=823&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gamemakerstudio-tweeningeasing-system</link>
		<comments>http://www.8bitwarrior.com/?p=823#comments</comments>
		<pubDate>Mon, 26 Nov 2012 02:15:51 +0000</pubDate>
		<dc:creator>8BitWarrior</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Jams]]></category>
		<category><![CDATA[Game Maker]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[accelerate]]></category>
		<category><![CDATA[acceleration]]></category>
		<category><![CDATA[add]]></category>
		<category><![CDATA[addon]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[Buttons]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[curve]]></category>
		<category><![CDATA[curved]]></category>
		<category><![CDATA[dll]]></category>
		<category><![CDATA[ease]]></category>
		<category><![CDATA[easy]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[frames]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gex]]></category>
		<category><![CDATA[gml]]></category>
		<category><![CDATA[gradual]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[interpolate]]></category>
		<category><![CDATA[interpolation]]></category>
		<category><![CDATA[juice]]></category>
		<category><![CDATA[key]]></category>
		<category><![CDATA[lerp]]></category>
		<category><![CDATA[lib]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[maker]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[morph]]></category>
		<category><![CDATA[morphing]]></category>
		<category><![CDATA[motion]]></category>
		<category><![CDATA[movement]]></category>
		<category><![CDATA[on]]></category>
		<category><![CDATA[ramp]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[simple]]></category>
		<category><![CDATA[slope]]></category>
		<category><![CDATA[slow down]]></category>
		<category><![CDATA[smooth]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[tween]]></category>
		<category><![CDATA[tweening]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[yoyogames]]></category>

		<guid isPermaLink="false">http://www.8bitwarrior.com/?p=823</guid>
		<description><![CDATA[Download: TweenGMS v0.88 HTML5 Example Demo TweenGMS is an automated tweening system for GameMaker:Studio. It can be used for easing character/camera movements, fades, rotations, animations, and much more. This system is still relatively new and may contain a few bugs. Feel free to report any issues you have with TweenGMS or to leave feedback on [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_1030" class="wp-caption alignright" style="width: 310px"><img class="size-medium wp-image-1030  " alt="Ease_Screenshot" src="http://8bitwarrior.com/tools/TweenGMS/TweenGMS.png" width="300" height="225" /><p class="wp-caption-text">Tween with Ease! *sigh*</p></div>
<p><strong>Download:</strong> <a href="http://8bitwarrior.com/tools/TweenGMS/TweenGMS%20Package.zip"><strong>TweenGMS v0.88</strong></a></p>
<p><strong>HTML5</strong> <a href="http://8bitwarrior.com/tools/TweenGMS/Demo/" target="_blank"><strong>Example Demo</strong></a></p>
<p>TweenGMS is an automated tweening system for GameMaker:Studio. It can be used for easing character/camera movements, fades, rotations, animations, and much more.</p>
<p>This system is still relatively new and may contain a few bugs. Feel free to report any issues you have with TweenGMS or to leave feedback on how it could be made better.</p>
<p>You can also check out TweenGMS in action with <a href="http://www.8bitwarrior.com/?page_id=868" target="_blank"><strong>Battle Blocks</strong></a> / <a href="http://www.8bitwarrior.com/?page_id=905" target="_blank"><strong>Sync Labs</strong></a> / <a href="http://www.8bitwarrior.com/?page_id=766" target="_blank"><strong>Candy Crash</strong></a>.</p>
<p><strong>[Features]</strong><br />
- No DLL required. (Uses GEX)<br />
- Easy setup and management of numerous tweens<br />
- Works across all target modules (Windows, Mac, iOS, Android, HTML5, Linux)<br />
- Persistent tweens for persistent objects<br />
- Optimized code supplying fast performance<br />
- Ability to assign tweens to designated groups for increased control</p>
<p><strong>[Example Code]</strong><br />
<code>// ** Create Event ** //<br />
// Create automated tween references<br />
tween_x = TweenCreate(id);<br />
tween_y = TweenCreate(id);</code></p>
<p>// Ease instance's x/y position from (0, 0) to (640, 480) over 60 steps<br />
TweenPlayOnce(tween_x, x__, 0, 640, 60, EASE_IN_OUT_QUAD);<br />
TweenPlayOnce(tween_y, y__, 0, 480, 60, EASE_IN_OUT_QUAD);</p>
<p>// Pause active automated tween<br />
TweenPause(tween_x);</p>
<p>// Stop active automated tween<br />
TweenStop(tween_y);</p>
<p>// Resume paused automated tween<br />
TweenResume(tween_x);</p>
<p><strong>[Update Notes]</strong><br />
- Major update to shared_Tweener object --&gt;&gt; **REPLACE PREVIOUS VERSION**<br />
* Faster<br />
* More stable<br />
* Fixed potential memory leaks<br />
* STRONGER!</p>
<p>- Added Simple Tween Functions<br />
*TweenSimpleMove()<br />
*TweenSimpleScale()<br />
*TweenSimpleFade()<br />
*... etc ...</p>
<p>- Deactivated instances now retain their automated tween.<br />
*Tween is automatically paused when instance is deactivated.<br />
*Tween is automatically resumed when instance is activated.</p>
<p>- Not advised, but shared_Tweener can now be safely deactivated.(Will stop all tweens from running)<br />
*Make sure to use --&gt; instance_activate_object(shared_Tweener) &lt;-- if you use mass deactivation functions.</p>
<p>- Changed included property setters x__Rounded/y__Rounded to x__int/y__int, respectively.</p>
<p>- Cut down TweenSetOnBoundary() to 2 scripts. Now use TArgs() to pass arguments.</p>
<p>* TweenSetOnBoundary()<br />
* First version takes a single script constant.<br />
* TweenSetOnBoundary(tween, KillPlayer);</p>
<p>* TweenSetOnBoundaryArgs() --&gt; TArgs() utility script must be included to use this function<br />
* Second version takes a script constant AND uses TArgs() utility script to pass arguments.<br />
* TweenSetOnBoundaryArgs(tween, SuperMessageScript, TArgs("Your score is ", myScore));</p>
<p>- TweenSetVariableSetter() has been changed to TweenSetProperty()</p>
<p>- TweenGetVariableSetter() has been changed to TweenGetProperty()</p>
<p>&nbsp;</p>
<p>If you feel so inclined, you may support TweenGMS by giving funds through PayPal to stephen@8bitwarrior.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.8bitwarrior.com/?feed=rss2&#038;p=823</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Candy Crash &#8211; A Halloween Game</title>
		<link>http://www.8bitwarrior.com/?p=757&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=candy-crash-a-halloween-game-for-android</link>
		<comments>http://www.8bitwarrior.com/?p=757#comments</comments>
		<pubDate>Tue, 23 Oct 2012 05:06:27 +0000</pubDate>
		<dc:creator>8BitWarrior</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Maker]]></category>
		<category><![CDATA["iOS"]]></category>
		<category><![CDATA["iphone"]]></category>
		<category><![CDATA[2d]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[arcade]]></category>
		<category><![CDATA[casual]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gamemaker]]></category>
		<category><![CDATA[ghosts]]></category>
		<category><![CDATA[ghouls]]></category>
		<category><![CDATA[gml]]></category>
		<category><![CDATA[gms]]></category>
		<category><![CDATA[halloween]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[maker]]></category>
		<category><![CDATA[pixel art]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[studio]]></category>
		<category><![CDATA[touch]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[yoyogames]]></category>
		<category><![CDATA[zombies]]></category>

		<guid isPermaLink="false">http://www.8bitwarrior.com/?p=757</guid>
		<description><![CDATA[I recently had a sudden urge to make a Halloween game. As a result, I quickly whipped something together in about three days. Enjoy all its super amazingness+1! Description: It is Halloween night! Well past your bedtime, you have landed the biggest score of candy ever. However, on your way back home, you have tripped [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.8bitwarrior.com/wp-content/uploads/2012/10/ScreenshotGame.png"><img class="alignright size-full wp-image-761" title="Screenshot_Gameplay" src="http://www.8bitwarrior.com/wp-content/uploads/2012/10/ScreenshotGame.png" alt="" width="320" height="480" /></a><br />
I recently had a sudden urge to make a Halloween game. As a result, I quickly whipped something together in about three days. Enjoy all its super amazingness+1!</p>
<p>Description:<br />
It is Halloween night!<br />
Well past your bedtime, you have landed the biggest score of candy ever. However, on your way back home, you have tripped and spilled your candy all over. Already high on too much sugar, your imagination goes wild as you find yourself caught in a monster mash.</p>
<p>You must recover as much candy as you can before you are overcome by your wild fears of ghosts, ghouls, vampire bats and spooky graveyards.</p>
<p>Features:<br />
Local Scoreboard<br />
Solid Touch Controls<br />
Fun Challenging Atmosphere<br />
A Kid in a Ninja Costume!<br />
Pumpkins and Jack-o'-lanterns!</p>
<p>HTML5 Version<br />
<a href="http://8bitwarrior.com/games/CandyCrash">Play Now</a></p>
<p>Available for Android devices via<br />
<a href="https://play.google.com/store/apps/details?id=com.distractedpear.candycrash" target="_blank">Google Play</a><br />
<a href="http://www.amazon.com/Stephen-Loney-Candy-Crash/dp/B009V509WY/ref=sr_1_1?s=mobile-apps&#038;ie=UTF8&#038;qid=1351206456&#038;sr=1-1&#038;keywords=candy+crash" target="_blank">Amazon.com</a><br />
<a href="https://dl.dropbox.com/u/8524378/Web/Game%20Downloads/CandyCrash.apk" target="_blank">Direct APK download</a></p>
<p>Available for iOS devices via<br />
<a href="https://itunes.apple.com/us/app/candy-crash/id573744190?ls=1&#038;mt=8" target="_blank">iTunes</a></p>
<p>Available for Windows via<br />
<a href="https://dl.dropbox.com/u/8524378/Web/Game%20Downloads/Candy%20Crash.zip">Direct Download</a></p>
<p>Available for Mac via<br />
<a href="https://dl.dropbox.com/u/8524378/Web/Game%20Downloads/Candy%20Crash.app.zip">Direct Download</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.8bitwarrior.com/?feed=rss2&#038;p=757</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Drop Cube] Released for Android</title>
		<link>http://www.8bitwarrior.com/?p=638&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=drop-cube-released-for-android</link>
		<comments>http://www.8bitwarrior.com/?p=638#comments</comments>
		<pubDate>Mon, 11 Jun 2012 04:28:16 +0000</pubDate>
		<dc:creator>8BitWarrior</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Jams]]></category>
		<category><![CDATA[Game Maker]]></category>

		<guid isPermaLink="false">http://www.8bitwarrior.com/?p=638</guid>
		<description><![CDATA[The concept for this game originally came from a spare 20 minutes at a 48hour game jam in Vancouver in which I needed something to do. See here: Fail Fall I just finished the more refined version with GameMaker:Studio for Android devices. I can't say enough about how much easier GameMaker makes things for development. [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignleft" src="https://dl.dropbox.com/u/8524378/Web/Images/dropIcon170.png" alt="Icon" />The concept for this game originally came from a spare 20 minutes at a 48hour game jam in Vancouver in which I needed something to do. See here: <a title="It really sucks!" href="http://8bitwarrior.com/FailFall/" target="_blank">Fail Fall</a></p>
<p>I just finished the more refined version with GameMaker:Studio for Android devices. I can't say enough about how much easier GameMaker makes things for development. I also hope to have Drop Cube submitted to iOS devices in short order.</p>
<p>Available on Google Play:<br />
<a title="Google Play Link" href="https://play.google.com/store/apps/details?id=com.blindfist.dropcube" target="_blank">Paid Version</a> / <a title="Google Play Link" href="https://play.google.com/store/apps/details?id=com.blindfist.dropcubefree" target="_blank">Free Version</a></p>
<p>&nbsp;</p>
<p>Game Description:</p>
<p>Drop Cube will put your reflexes and steady hand to the test. Utilize refined tilt controls to dodge obstacles as you free fall increasingly faster towards terminal velocity.</p>
<p>Choosing the safer route will keep you in action longer, but greater risk garnishes greater reward. Find out how your skills stack up with Drop Cube!</p>
<p>Features:<br />
- Responsive Tilt Controls<br />
- Local Scoreboard<br />
- Risk Based Scoring<br />
- No Splash Screens!<br />
- Retro Themed Music</p>
<p><iframe src="http://www.youtube.com/embed/qUwqSade-cU" frameborder="0" width="420" height="315"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.8bitwarrior.com/?feed=rss2&#038;p=638</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Book Review] Unity iOS Game Development Beginner&#8217;s Guide</title>
		<link>http://www.8bitwarrior.com/?p=580&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=book-review-unity-ios-game-development-beginners-guide</link>
		<comments>http://www.8bitwarrior.com/?p=580#comments</comments>
		<pubDate>Mon, 14 May 2012 04:14:14 +0000</pubDate>
		<dc:creator>8BitWarrior</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA["iphone"]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[avocado]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[Gregory Pierce]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[lessons]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[packtpub]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[Unity]]></category>

		<guid isPermaLink="false">http://www.8bitwarrior.com/?p=580</guid>
		<description><![CDATA[While going through this book, I tried to imagine myself as a beginner with little to no previous experience with Unity. With that perspective in mind, I felt like I came away with little to show for my time invested into this text. That isn't to say there wasn't useful information to help one get [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: left;" align="center"><img class="alignleft" src="https://www.packtpub.com/sites/default/files/imagecache/productview/0409OT_Unity%20iPhone%20Game%20Development%20Beginners.jpg" alt="" />While going through this book, I tried to imagine myself as a beginner with little to no previous experience with Unity. With that perspective in mind, I felt like I came away with little to show for my time invested into this text. That isn't to say there wasn't useful information to help one get started out. However, there just didn't seem to be an appropriate pacing or coherent order of material to help me feel confident when continuing with Unity.</p>
<p style="text-align: left;">To the book's credit, I never felt like it was swamping me with too much information at once. It stayed reasonably comfortable to follow along with and had me never feeling completely lost. But again, the general topics covered seemed to jump around with little warning, at times feeling like a wild ride through someone's last minute check list. I had a difficult time anticipating where the instructions were going to inevitably lead me, and it offered myself only a slight sense of being an active participator in its exercises.</p>
<p style="text-align: left;">An example to help relate the book's textual inconsistency is revealed by the fact that quiz questions are given at the end of the first two chapters but fail to appear in the following chapters. This may seem trivial, but it is an odd pattern to begin with and to suddenly drop. And just so everyone knows, I love quiz questions at the end of a chapter! :D</p>
<p style="text-align: left;">I wish the book spent less time on how to use third party plugins and more time going through real world examples of how to achieve varied control styles or game mechanics tailored for iOS devices. I believe it could have benefited from including such a topic as raycasting, something which I considered vital for my own projects, as the iOS version of Unity does not recognize user input on game objects like the PC or Mac version. For example, the OnMouseDown() callback is not recognized on game objects for iOS, thus requiring raycasting to be used inorder to directly interact with objects when touched.</p>
<p style="text-align: left;">I found too many subjects just briefly touched upon. Some chapters have a sense of being incomplete and not following through with teaching the functionality promised in the book's advertisement. I wouldn't be so bothered by this fact if the book didn't advertise itself with overhyped expectations.</p>
<p style="text-align: left;">Being somewhat of an experienced Unity user, I was satisfied with some useful morsels of information which I gleaned from this book, but I am glad that I have the experience already behind me to fill in the blanks that I felt were missing on some subjects.</p>
<p style="text-align: left;">If you are a fledgling beginner with Unity and iPhone development, this book <em>might</em> be <em>okay</em> to start with. Despite its shortcomings, I still found myself able to get through it quite easily and learn some new things along the way. But, don't expect it to make you a whiz or even leave you with a well rounded knowledge of Unity basics. Expect further books, tutorials, and hands on experience to fill in the other basic concepts you will need to know along your adventures.</p>
<p style="text-align: left;"><em><a href="http://www.packtpub.com/unity-ios-game-development-beginners-guide/book?goback=%2Egna_115629%2Egde_115629_member_109824737" target="_blank">Book's official site</a></em></p>
<p>&nbsp;</p>
<p style="text-align: right;"><strong>FINAL VERDICT: 5/10</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.8bitwarrior.com/?feed=rss2&#038;p=580</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Game Maker] Grid Movement -PART 3- Character Animation</title>
		<link>http://www.8bitwarrior.com/?p=500&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=game-maker-grid-movement-part-3-character-animation</link>
		<comments>http://www.8bitwarrior.com/?p=500#comments</comments>
		<pubDate>Thu, 03 May 2012 20:50:15 +0000</pubDate>
		<dc:creator>8BitWarrior</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Maker]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA["4 direction"]]></category>
		<category><![CDATA["character control"]]></category>
		<category><![CDATA["character movement"]]></category>
		<category><![CDATA["dragon quest"]]></category>
		<category><![CDATA["dragon warrior"]]></category>
		<category><![CDATA["final fantasy"]]></category>
		<category><![CDATA["four direction"]]></category>
		<category><![CDATA["game maker"]]></category>
		<category><![CDATA["keyboard check"]]></category>
		<category><![CDATA["player control"]]></category>
		<category><![CDATA["player movement"]]></category>
		<category><![CDATA["sprite management"]]></category>
		<category><![CDATA["sprite sheets"]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[cycle]]></category>
		<category><![CDATA[gml]]></category>
		<category><![CDATA[image_index]]></category>
		<category><![CDATA[pokemon]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rpg]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[sprite_index]]></category>
		<category><![CDATA[swapping]]></category>
		<category><![CDATA[switch]]></category>
		<category><![CDATA[switching]]></category>

		<guid isPermaLink="false">http://www.8bitwarrior.com/?p=500</guid>
		<description><![CDATA[In the case of being too ADD, you can download the completed project for this lesson here: [Windows] Part 3 Editable Project Download [Mac] Part 3 Editable Project Download (Slightly outdated) If you have not already done so, I highly suggest going through parts 1 and 2 of this series first, as this lesson will be [...]]]></description>
				<content:encoded><![CDATA[<p>In the case of being too ADD, you can download the completed project for this lesson here:</p>
<p>[Windows]<br />
<a title="Part 3 Project Download" href="http://dl.dropbox.com/u/8524378/Web/Tutorials/Grid_Movement_Part_3.gm81">Part 3 Editable Project Download</a></p>
<p>[Mac]<br />
<a title="Part 3 Project Download" href="https://dl.dropbox.com/u/8524378/Web/Tutorials/Grid_Movement_Part_3_Mac.gmk">Part 3 Editable Project Download</a> (Slightly outdated)</p>
<p>If you have not already done so, I highly suggest going through parts 1 and 2 of this series first, as this lesson will be based upon their existing code.</p>
<p><a title="Grid Movement: Part 1" href="http://www.8bitwarrior.com/?p=344">Part 1: The Basics</a><br />
<a title="Grid Movement: Part 2" href="http://www.8bitwarrior.com/?p=427">Part 2: Collision Detection</a></p>
<p>Welcome to part 3 of my series on Grid Based Movement for Game Maker!<br />
In this lesson, we are going to look at implementing character animation for our player object. There are a few ways to go about doing this with Game Maker, but today I will teach one of the techniques which I prefer and continue to use myself.</p>
<p>The result of this lesson should look like this: <a title="Playable HTML5 Example" href="http://8bitwarrior.com/GridAnimationExample/" target="_blank">Grid Animation Example</a></p>
<p>Alright, onto the Lesson!<br />
First, lets get ourselves some sprite strips to work with. Go ahead and download the following files to use for our lesson. You can use your own if you like, but note that you will likely need to make minor adjustments to the example code if you do so.</p>
<p><a title="Hero Sprite" href="https://dl.dropbox.com/u/8524378/Web/Images/spr_hero_strip20.png">Sprite Strip 1</a><br />
<a title="Lady Sprite" href="https://dl.dropbox.com/u/8524378/Web/Images/spr_lady_strip20.png">Sprite Strip 2</a><br />
(Big thanks to <a title="Cody's Twitter" href="http://twitter.com/#!/dagurdragon" target="_blank">Cody Penner</a> for the sprites! )</p>
<p>For this lesson, we are going to continue where we left off from Part 2: Collision Detection. You can download the completed editable project for that lesson here: <a title="Part 2 Download" href="http://dl.dropbox.com/u/8524378/Web/Grid_Movement_Part_2.gm81">Part 2 Project Download</a></p>
<p>With our existing project from Part 2, add the new sprite strips to the Sprites folder.<br />
The first 4 images of the sprite strip are for the standing "animations", one for each direction. Following them are the walking frames for all 4 directions containing 4 images for each animation.</p>
<p>Noting the placement, order and length of our images/animations within the sprite strip is important. We will be using this information to properly set up our animations for our player object. Be aware that the numerical values of the images in the strip are zero-based. This means that 0 refers to the first image, 1 to the second, 2 to the third, and so on. We can explicitly change an instance's displayed image at runtime by modifying its built in image_index variable, setting it to the appropriate offset we want, relevant to the current sprite strip. Soon, you will see how this is used to create smooth walking/standing animations for our grid based movement system.</p>
<p>Before doing anything else, open up the properties for <strong>obj_player</strong> and change <strong>Sprite</strong> to one of the sprites we just imported.</p>
<p>Within <strong>obj_player</strong>, highlight the <strong>Create Event</strong> and open the existing <strong>Execute Code</strong> action.<br />
Below the already existing code in our action, insert the new variables we will use to support our animation system.</p>
<pre>
// ...PREVIOUS OLDER CODE

    // We will now keep track of our direction
direction = 270;
    // Used to help set standing animations
justStoppedMoving = true;

    // Initialize animation properties
animIndex = 0;         // first frame in current animation
animLength = 0;        // current animation length in frames
animSpeed = 0;         // current animation speed
animIndexRelative = 0; // relative from first frame of animation

    // Set animation length properties
animLengthStanding = 1;
animLengthWalking  = 4;

// Set animation speed properties
animSpeedStanding  = 0.0;
animSpeedWalking   = 0.2;

    // Standing animation index offsets
animIndexStandRight = 0;
animIndexStandUp    = 1;
animIndexStandLeft  = 2;
animIndexStandDown  = 3;

    // Walking animation index offsets
animIndexWalkRight = 4;
animIndexWalkUp    = 8;
animIndexWalkLeft  = 12;
animIndexWalkDown  = 16;
</pre>
<p></p>
<p>Because we want our character facing downward at the start, we will set <code>direction</code> to 270<br />
As a refresher: right = 0, up = 90, left = 180, down = 270<br />
We have also created a new variable <code>justStoppedMoving</code> which will enable us to easily manage code for when our player stops walking. This can be helpful for setting standing animations.</p>
<p>Following that, we have initialized some required properties to make our animation system work. animIndex, animLength, animSpeed and animIndexRelative hold the status of the active animation.<br />
animIndex receives the value of the first frame in the animation we want to use. We can easily assign it one of the animation indexes we have created, such as animIndexWalkRight.<br />
animLength holds the length of the current animation in frames. We will assign in the value from either animLengthStanding or animLengthWalking.<br />
animSpeed is simply how fast our animation will animate. Make sure to keep the value relatively small. We will assign it the value held by animLengthStanding or animLengthWalking.<br />
Finally, we initialized animIndexRelative. This variables holds the current animation's frame value relative to its starting animIndex frame. It will allows us to repeatedly cycle through and select the appropriate frames needed for each animation.</p>
<p>With that set up, we are now going to set up a script so that we can comfortably change the required properties needed to set up the appropriate animations we want.</p>
<p>In GameMaker's 'Scripts' folder, create a new script called 'SetAnimation'<br />
Inside this script, go ahead and input the following code:</p>
<pre>
animIndex = argument0;
animLength = argument1;
animSpeed = argument2;
</pre>
<p></p>
<p>This script takes 3 arguments. It will be used to change our animation Index, Length, and Speed.<br />
With that inputted, close it up and once again open the properties for obj_player.</p>
<p>We are now going to add the code which will make our animation system work. But we are not going to add it to the Normal Step Event. Instead, we will add an End Step Event, and place our code inside there. By placing our animation system here, we separate it from our Normal Step Event code, ensuring the intended animations are drawn after all our other updates are finished.</p>
<p>Inside the <strong>End Step</strong> event, add a new <strong>action -&gt; Execute Code</strong>. Inside this code action, place the following:</p>
<pre>
image_index = animIndex + animIndexRelative;
animIndexRelative += animSpeed;

if  (animIndexRelative &gt;= animLength)
{
    image_index = animIndex;
    animIndexRelative = 0;
}
</pre>
<p></p>
<p>With that code in place, the animation will always be within our set boundaries.<br />
As long as we use the SetAnimation script, we can be certain that our animation system will function properly.</p>
<p>We are now going to return to the <strong>Normal Step</strong> event for <strong>obj_player</strong> and edit the existing code action.<br />
We will start by adding a new line at the bottom of our existing code for when our character has just stopped moving.<br />
Add the line of code where it is commented: <code>// *** NEW CODE ***</code></p>
<pre>
//... OTHER CODE

if (isMoving == true)
{
    x += speedX;
    y += speedY

    moveTimer -= moveSpeed;
    if (moveTimer)
    {
        isMoving = false;
        justStoppedMoving = true; // *** NEW CODE ***
    }
}
</pre>
<p></p>
<p>We can now return to the top of the code action and utilize the <code>justStoppedMoving</code> variable to set standing animations when our player finishes walking.</p>
<pre>    
    // Set standing animations if just stopped
if (justStoppedMoving == true)
{
    justStoppedMoving = false;

        // Set appropriate standing animations
    if (direction == 0)
        SetAnimation(animIndexStandRight, animLengthStanding, animSpeedStanding);
    else
    if (direction == 90)
        SetAnimation(animIndexStandUp, animLengthStanding, animSpeedStanding);
    else
    if (direction == 180)
        SetAnimation(animIndexStandLeft, animLengthStanding, animSpeedStanding);
    else
    if (direction == 270)
        SetAnimation(animIndexStandDown, animLengthStanding, animSpeedStanding);
}

    // ... Other Code
</pre>
<p></p>
<p>Based upon the character's current direction, we have effectively set the appropriate standing animation. But up until this point, we haven't written any code to change the character's direction or set a walking animation.</p>
<p>Just below the code we wrote, we will modify the existing code within the keyboard_key() check statements to include an updated direction. We will also set the appropriate walking animation when our player is able to move.<br />
Go ahead and modify our existing code to include keeping track of our current direction, as well as setting the appropriate animations. Note that this code will also set an appropriate standing animation if the player is blocked and unable to move. This allows the player to allows face the direction they intend to.</p>
<pre>
if (isMoving == false)
{
         // Perform 4 direction keyboard and grid checks
         // for setting appropriate movement and animation
    if (keyboard_check(vk_right))
    {
        direction = 0; // Keep track of new direction

        if (obj_grid.cells[(x div 32) + 1, y div 32] == 0)
        {
            isMoving = true;      // Lets start moving
            moveTimer = gridSize; // Ready moveTimer for countdown
            speedX = moveSpeed;   // Set horizontal speed
            speedY = 0;           // Set vertical speed
            SetAnimation(animIndexWalkRight, animLengthWalking, animSpeedWalking);
        }
        else
        {       // Set standing anim for new direction
            SetAnimation(animIndexStandRight, animLengthStanding, animSpeedStanding);
        }
    }
    else
    if (keyboard_check(vk_up))
    {
        direction = 90;

        if (obj_grid.cells[x div 32, (y div 32) - 1] == 0)
        {
            isMoving = true;
            moveTimer = gridSize;
            speedX = 0;
            speedY = -moveSpeed;
            SetAnimation(animIndexWalkUp, animLengthWalking, animSpeedWalking);
        }
        else
        {
            SetAnimation(animIndexStandUp, animLengthStanding, animSpeedStanding);
        }
    }
    else
    if (keyboard_check(vk_left))
    {
        direction = 180;

        if (obj_grid.cells[(x div 32) -1, y div 32] == 0)
        {
            isMoving = true;
            moveTimer = gridSize;
            speedX = -moveSpeed;
            speedY = 0;
            SetAnimation(animIndexWalkLeft, animLengthWalking, animSpeedWalking);
        }
        else
        {
            SetAnimation(animIndexStandLeft, animLengthStanding, animSpeedStanding);
        }
    }
    else
    if (keyboard_check(vk_down))
    {
        direction = 270;

        if (obj_grid.cells[x div 32, (y div 32) + 1] == 0)
        {
            isMoving = true;
            moveTimer = gridSize;
            speedX = 0;
            speedY = moveSpeed;
            SetAnimation(animIndexWalkDown, animLengthWalking, animSpeedWalking);
        }
        else
        {
            SetAnimation(animIndexStandDown, animLengthStanding, animSpeedStanding);
        }
    }
    // ... OTHER CODE
}
</pre>
<p></p>
<p>With that code in place, we now have a functioning animation system where the character will animate according to our set parameters determined by the sprite strip.<br />
A benefit to this animation system is that sprite strips, which share the same animation parameters, can be swapped at any time with ease! Simply change the character's sprite_index and the change will be immediately reflected, no matter what state the character is in!</p>
<p>If you want to have your standing animations the same as your walking animations (think Dragon Warrior/Quest), then simply change the standing properties to be the same as the walking animation properties, and you're good to go!</p>
<p>If you have any questions or suggestions, I would love to hear from you!<br />
And if you're on Twitter, find me at @Nehemius</p>
]]></content:encoded>
			<wfw:commentRss>http://www.8bitwarrior.com/?feed=rss2&#038;p=500</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>
