<?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>Hybrid Mind Studios &#187; as3</title>
	<atom:link href="http://hybridmind.com/tag/as3/feed/" rel="self" type="application/rss+xml" />
	<link>http://hybridmind.com</link>
	<description>the adventures of</description>
	<lastBuildDate>Mon, 16 Jan 2012 18:19:37 +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>Using Playtomic Analytics In Your Flash Games</title>
		<link>http://hybridmind.com/tutorials/using-playtomic-analytics-in-your-flash-games/</link>
		<comments>http://hybridmind.com/tutorials/using-playtomic-analytics-in-your-flash-games/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 18:24:35 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[leaderboards]]></category>
		<category><![CDATA[level]]></category>
		<category><![CDATA[playtomic]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[sharing]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[tracking]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=858</guid>
		<description><![CDATA[Playtomic is a free game analytics service I have been using in my Flash games for almost two years now. It provides a real time tracking platform not only for Flash games, but also for games made with HTML5, iOS, and Unity. Playtomic is a great way to understand how playertesters are playing your games [...]]]></description>
			<content:encoded><![CDATA[<p><em><a href="http://hybridmind.com/wp-content/uploads/2011/07/Playtomic1.png"><img class="alignleft size-full wp-image-866" style="margin-left: 10px; margin-right: 10px; border-width: 3px; border-color: black; border-style: solid;" title="Playtomic Game Analytics and Services for Casual Games" src="http://hybridmind.com/wp-content/uploads/2011/07/Playtomic1.png" alt="Playtomic Game Analytics and Services for Casual Games" width="198" height="198" /></a></em><em><a title="Playtomic Game Analytics and Services for Casual Games" href="http://playtomic.com/" target="_blank">Playtomic </a></em>is a <strong>free</strong> game analytics service I have been using in my <em>Flash</em> games for almost two years now. It provides a real time tracking platform not only for <em>Flash</em> games, but also for games made with <em>HTML5</em>, <em>iOS</em>, and <em>Unity</em>.</p>
<p><em>Playtomic</em> is a great way to understand how playertesters are playing your games during the development phases of your game and then to further study how your game is being played and spread around the world once you release it.  Beyond the real time analytics tools it also offers global leaderboards, heatmaps, custom game data, and level sharing APIs.</p>
<p>I can&#8217;t recommend <em>Playtomic</em> enough as it has really had a large and beneficial impact on the way I approach my game development, playtesting, and publishing. I&#8217;m not the only one enjoying <em>Playtomic</em> either&#8211;over 2,000 developers are currently using the service to track over 3,000 individual games, and logging an amazing billion combined real time events per day!</p>
<div style="text-align: center;"><strong>Playtomic Analytics Tutorial Demo</strong></div>
<div style="text-align: center;"><object id="ViewPort" width="550" height="400" 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="src" value="http://hybridmind.com/PlaytomicTestGame.swf" /><param name="quality" value="high" /><embed id="ViewPort" width="550" height="400" type="application/x-shockwave-flash" src="http://hybridmind.com/PlaytomicTestGame.swf" quality="high" /></object></div>
<p><span style="text-decoration: underline;"><strong>TUTORIAL</strong></span></p>
<p>This tutorial will focus on the basics of getting your account setup with <em>Playtomic</em> and getting the basics of the analytics working in your game SWF.  I&#8217;ll be using the latest <a title="Playtomic API for ActionScript 3.0" href="http://playtomic.com/api/as3" target="_blank"><em>Playtomic</em> API version 3.15 for <em>ActionScript</em> 3.0</a> (though <em>Playtomic</em> does <a title="Playtomic API for ActionScript 2.0" href="http://playtomic.com/api/as2" target="_blank">support <em>ActionScript</em> 2.0</a> as well.) I&#8217;ll also be using the Flash IDE to create the game project but the code I&#8217;ll be demonstrating will work basically the same if you&#8217;re not using <em>Flash</em>. I&#8217;ll <a href="http://hybridmind.com/PlaytomicTestGameTutorialv1.zip">provide the source for the demo</a> above saved as a <em>Flash</em> CS4 project in case you haven&#8217;t upgraded to the latest version yet.</p>
<p><span style="text-decoration: underline;"><strong> REGISTER FOR YOUR ACCOUNT AND CREATE YOUR FIRST GAME</strong></span></p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/Register.png"><img class="alignleft size-full wp-image-875" style="margin-left: 10px; margin-right: 10px; border-width: 3px; border-color: black; border-style: solid;" title="Register for Playtomic" src="http://hybridmind.com/wp-content/uploads/2011/07/Register.png" alt="Register for Playtomic" width="200" height="114" /></a><strong>Register:</strong></p>
<p>First step is to simply <a title="Register for a Playtomic account" href="http://playtomic.com/register" target="_blank">register your account on <em>Playtomic</em></a>. This is pretty basic and you don&#8217;t even have to wait for an email for your account to activate.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/NewGame.png"><img class="alignleft size-full wp-image-877" style="margin-left: 10px; margin-right: 10px; border-width: 3px; border-color: black; border-style: solid;" title="Create Game Screen" src="http://hybridmind.com/wp-content/uploads/2011/07/NewGame.png" alt="Create Game Screen" width="200" height="110" /></a><strong>Create First Game:</strong></p>
<p>The next step is to create your first game in the system. I&#8217;m just using a &#8216;Test Game&#8217; for the purposes of this tutorial.  The important part is to hit the two radio buttons. Select &#8216;Casual/mobile game&#8217; for &#8216;Game Type&#8217; and &#8216;Web&#8217; under the &#8216;Flash&#8217;  platform area. Then just click the &#8216;Create Game&#8217; button and the system will bring you to the game overview screen for API setup.</p>
<p>&nbsp;</p>
<p><strong><a href="http://hybridmind.com/wp-content/uploads/2011/07/NewGameOverview1.png"><img class="alignleft size-full wp-image-889" style="margin-left: 10px; margin-right: 10px; border-width: 3px; border-color: black; border-style: solid;" title="New Game API Overview" src="http://hybridmind.com/wp-content/uploads/2011/07/NewGameOverview1.png" alt="New Game API Overview" width="200" height="144" /></a>First Game API Overview:</strong></p>
<p>You should now be looking at the API information for the game you just created. The most important information here is the game credentials area that lists your <em><strong>SWFID</strong></em> and <em><strong>GUID</strong></em>.  You should keep these numbers private since they are the way the API will communicate from your game to the <em>Playtomic</em> system.</p>
<p>The other important areas are the documentation and downloads areas. I&#8217;ve marked everything on the screenshot to the left that you can click to enlarge. You can get to this screen by clicking on &#8216;API Setup&#8217; in the vertical nav menu at the left when you are logged in on the Playtomic website.</p>
<p><strong>Download the Tutorial:</strong></p>
<p>Normally you&#8217;ll click on the download link for the latest <em>Playtomic</em> API zip file on the <em>Playtomic</em> website. You&#8217;ll then extract the contents of the zip and find the folder called &#8216;Playtomic&#8217; inside the folder called &#8216;gameapi-as3&#8242;.  You&#8217;ll want to copy the &#8216;Playtomic&#8217; folder into the root folder of your game project so that the folder is at the same directory level as your FLA file.</p>
<p>This time though I&#8217;ve already included the latest <em>Playtomic</em> API within the tutorial download. At the time this tutorial was written that was version 3.15 for ActionScript 3.0.</p>
<p><a href="http://hybridmind.com/PlaytomicTestGameTutorialv1.zip">You can download the tutorial here</a>. I saved the FLA as a <em>Flash</em> CS4 FLA for people using older versions of <em>Flash</em> still.</p>
<p>Extract the tutorial zip and then open up both TestGame.fla and TestGame.as in the <em>Flash</em> IDE. </p>
<p>I&#8217;m only going to point out the most important parts from the source. The tutorial TestGame.as source file itself is heavily commented and should be fairly self-explanatory.  This tutorial also assumes you know the basics of ActionScript 3.0.</p>
<p>In order for everything to work you are going to need to have already setup your new game on the <em>Playtomic</em> website from the instructions further above.  If not go ahead and do that now because you&#8217;ll need your unique SWFID and GUID to plug into the TestGame.as config area.</p>
<pre><code>
// Playtomic API constants
// NOTE: CHANGE THESE TO MATCH YOURS OR IT WON'T WORK!
//
// SWFID from Playtomic API Setup screen
private static const PLAYTOMIC_SWFID:String = "xxxxxxxxxxxxxxxxx";

// GUID from Playtomic API Setup screen
private static const PLAYTOMIC_GUID:int = xxxx;
</pre>
<p></code></p>
<p>Before you can use the API you'll need to import the <em>Playtomic</em> classes. You'll see I do that near the top of the source file with the other standard Flash imports.</p>
<pre><code>
// import the Playtomic API
import Playtomic.*;
</code></pre>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/CustomMetrics.png"><img class="alignleft size-full wp-image-928" style="margin-left: 10px; margin-right: 10px; border-width: 3px; border-color: black; border-style: solid;" title="Custom Metrics" src="http://hybridmind.com/wp-content/uploads/2011/07/CustomMetrics.png" alt="Custom Metrics" width="200" height="132" /></a></p>
<p>You need to init the <em>Playtomic</em> API as soon as possible in your game code and definitely before you call any of the <em>Playtomic</em> services.  I usually do this with an init function of some type called during my FLA Document class constructor phase.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<pre><code>
// Init the Playtomic API as soon as possible and
//   before you call any other Playtomic services!
private function init():void {
  // Initialize the API by logging the view
  //   this registers a 'view' on the server
  Log.View(PLAYTOMIC_GUID, PLAYTOMIC_SWFID, root.loaderInfo.loaderURL);
}
</code></pre>
<p>While we have now logged a 'view' above we want to track how many times the game will actually be played during that view session.  In other words there should be more 'plays' of your game than 'views'.  If not, the view to play ratio is a great indication that your game could use some improvement!</p>
<p>I typically track the 'play' event when my gameplay assets are being instantiated.</p>
<pre><code>
// Play the game
private function playGame():void {
  // Registers a 'play' event on the server. There can be multiple 'play' events per 'view'
  Log.Play();
  // do one time setup for game
  setupGame();
}
</code></pre>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/CustomMetrics.png"><img class="alignleft size-full wp-image-928" style="margin-left: 10px; margin-right: 10px; border-width: 3px; border-color: black; border-style: solid;" title="Custom Metrics" src="http://hybridmind.com/wp-content/uploads/2011/07/CustomMetrics.png" alt="Custom Metrics" width="200" height="132" /></a></p>
<p>Another very easy and powerful thing to do with Playtomic is to track custom counter metrics. I have included an example in the tutorial.  Whenever the player clicks on the 'Credits' button on the main menu we track a 'ViewedCredits' event.  You can use these events to track all sorts of handy data. I usually track common things like every time the credits are viewed, the instructions are viewed, the sound or music is toggled on or off, how many times the game is restarted or paused.  Basically any handy data point you'd like to gather to start understand how players interact with your game or the menus surrounding your game.</p>
<pre><code>
// Listens for mouse click on credits button
private function creditsButtonClickListener(event:MouseEvent):void {
  // Track a custom metric on the server so we know a
  // player viewed the credits screen
  Log.CustomMetric("ViewedCredits"); // metric, names must be alphanumeric
</code></pre>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/LevelMetrics.png"><img class="alignleft size-full wp-image-928" style="margin-left: 10px; margin-right: 10px; border-width: 3px; border-color: black; border-style: solid;" title="Level Metrics" src="http://hybridmind.com/wp-content/uploads/2011/07/LevelMetrics.png" alt="Level Metrics" width="200" height="132" /></a></p>
<p>There are many other types of metrics you can track too. I like putting in tracking for average score so that even if players aren't submitting a score I can see how players are doing with the game.  You can do this with a level average metric call.  When your game doesn't have individual levels you can just feed in the string 'Game' (or whatever you want) that represents the entire game and not a specific level.</p>
<p>In the tutorial I track a level average metric when the player hits the 'Quit' button. </p>
<pre><code>
// Quit game button click listener
private function quitGameButtonClickListener(event:MouseEvent):void {
  // Track the current score as a level average metric event
  //   You can track averages for specific levels or the entire game.
  //   Here the string 'Game' represents the entire game not a
  //   particular level string.
  Log.LevelAverageMetric("Score", "Game", score);
</code></pre>
<p>That's about it! The <em>Playtomic</em> website documentation is pretty decent and the community forums on the site are starting to mature a bit so that you can often get help from a question posted up there before too long. Once you integrate <em>Playtomic</em> into your own game you'll start thinking up all kinds of great uses for it. I've used the global leaderboards and level sharing APIs and will start experimenting with the heatmaps soon. I will use this base tutorial code to write up a few followup tutorials on <em>Playtomic</em> soon.</p>
<p>Let me know if I can improve this tutorial and if you have any questions at all!</p>
<p>[<a href="http://hybridmind.com/PlaytomicTestGameTutorialv1.zip">DOWNLOAD FLASH CS4 VERSION OF TUTORIAL</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/tutorials/using-playtomic-analytics-in-your-flash-games/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AVOIDAL Post Mortem</title>
		<link>http://hybridmind.com/games/avoidal-post-mortem/</link>
		<comments>http://hybridmind.com/games/avoidal-post-mortem/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 10:53:12 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[avoidal]]></category>
		<category><![CDATA[competition]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[gameplay]]></category>
		<category><![CDATA[ld18]]></category>
		<category><![CDATA[ld48]]></category>
		<category><![CDATA[ludumdare]]></category>
		<category><![CDATA[postmortem]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[timelapse]]></category>
		<category><![CDATA[trailer]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=623</guid>
		<description><![CDATA[Play AVOIDAL Gameplay Trailer (watch me score 1.5 million points!) Watch my TIMELAPSE Play the LD48 Official Compo Version of AVOIDAL Play the Original LD48 Compo Version I had a lot of fun this Ludum Dare! After missing the past few it was good to participate again for sure. I&#8217;ve never done one of these [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a title="Play AVOIDAL" href="http://avoidal.com"><img class="alignleft" style="margin-left: 10px; margin-right: 10px;" src="http://hybridmind.com/wp-content/uploads/2010/08/screenshot4-v1-150x150.png" alt="Play AVOIDAL!" width="150" height="150" /></a></strong></p>
<p><strong><a href="http://avoidal.com">Play AVOIDAL</a></strong></p>
<p><strong><a href="http://www.youtube.com/watch?v=qH0AL9sNrro">Gameplay Trailer (watch me score 1.5 million points!)</a></strong></p>
<p><strong><a href="http://www.youtube.com/watch?v=LKtZNylG74M">Watch my TIMELAPSE</a></strong></p>
<p><strong><a href="http://avoidal.com/compo.html">Play the LD48 Official Compo Version of AVOIDAL </a></strong></p>
<p><strong><a href="http://avoidal.com/compo.html">Play the Original LD48 Compo Version</a></strong></p>
<p><strong><br />
</strong></p>
<p>I had a lot of fun this <a href="http://ludumdare.com/compo"><strong>Ludum Dare</strong></a>! After missing the past few it was good to participate again for sure. I&#8217;ve never done one of these post mortem entries but I enjoy reading the other ones people post so I thought I&#8217;d take a crack at it.</p>
<p>You can read my detailed post mortem below:</p>
<p><span id="more-623"></span></p>
<p><strong>FRIDAY</strong></p>
<p>I had an idea within two minutes of the theme announcement. This doesn&#8217;t always happen so I&#8217;m pretty excited.  I normally spend Friday night sleeping on the theme announcement after drawing a few mockups but this time was a bit different. I had an idea that I figured would be simple enough that I fired up photoshop and drew the following mockup:</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2010/08/mockup0.png"><img style="border: 0px initial initial;" src="http://hybridmind.com/wp-content/uploads/2010/08/mockup0-150x150.png" alt="First Mockup" width="150" height="150" /></a></p>
<p>I read over my notes and the concept felt solid for fun potential as well as being in line with the scope of a 48 hour competition. For my game studio work I typically develop within the 1 to 3 week time period but I&#8217;m familiar with the 48 hour marathon since I&#8217;ve competed in about 6 or more of these 2 day game competitions. I&#8217;ve also worked on learning my lessons (failures) well!</p>
<p>I refine the idea into a color mockup by doodling it again in photoshop:</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2010/08/mockup11.png"><img class="alignnone size-thumbnail wp-image-26644" src="http://hybridmind.com/wp-content/uploads/2010/08/mockup11-150x150.png" alt="Second Mockup" width="150" height="150" /></a></p>
<p>You can see that I&#8217;ve got the basic enemy and player elements of the final game already in place. Spike and seeker type enemies. A large and silly player character that eventually becomes a stylized robot character. The gold stars as targets for the enemies to collide into.</p>
<p>Having fleshed the idea out more I&#8217;m ready to open up the Flash CS4 IDE and start implementing a graphical mockup:</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2010/08/mockup21.png"><img class="alignnone size-thumbnail wp-image-26649" src="http://hybridmind.com/wp-content/uploads/2010/08/mockup21-150x150.png" alt="Third Mockup" width="150" height="150" /></a></p>
<p>Now the graphical assets above are all usable as initial art once I&#8217;m finished creating the mockup in Flash. It is a really cool thing about prototyping in an IDE like Flash that I can quickly put game logic into ActionScript 3.0 files behind each of those assets.</p>
<p>I work for about 3 more hours trying to get a first playable prototype. Getting the first playable prototype build is so crucial to iterating on the next part of the game that the earlier you can get feedback and play the game&#8211;the earlier you will be able to see how much more you need to implement. This couldn&#8217;t be more important than in a 48 hour game competition scenario.</p>
<p>I manage to post the following prototype build at 2am&#8211;four hours into the competition:</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2010/08/screenshot-v001-11.png"><img class="alignnone size-thumbnail wp-image-26655" src="http://hybridmind.com/wp-content/uploads/2010/08/screenshot-v001-11-150x150.png" alt="First Playable Prototype" width="150" height="150" /></a></p>
<p>You can even <a href="http://hybridmind.com/ld18-eaw-v001.html"><strong>play the first prototype here</strong></a> if you want to see what I started out with.</p>
<p>I was very happy with what I was able to come up with at this point. I was able to know that the game idea was solid and more importantly&#8211;already very fun!  I knew that I&#8217;d sleep well Friday night and was looking forward to beginning to iterate on Saturday with a good start in the competition.</p>
<p>Time spent at this point was four hours.</p>
<p><strong>SATURDAY</strong></p>
<p>I awoke Saturday morning after about 5 hours of sleep. I checked out the Ludum Dare blog and found that a few people had played my game already and had left some encouraging feedback. This was a big morale and motivational boost as it meant more than just myself found the game fun.  I also found I had been awarded two funny LD awards: One for &#8220;Flash prototyping like Flash!&#8221; by Zlash and a second &#8220;Silver Star for Prototyping goodness&#8221; by Tyler. Thanks guys&#8211;you really made my morning!</p>
<p>Now today I was also excited because I was going to be driving over to Portsmouth NH for an in person meetup with some other Ludum Dare participants I had never met before. I&#8217;ve been working on getting out more into the game community around the New England area and this was an excellent opportunity to meet some other people who enjoy making games.</p>
<p>We met up in an awesome cafe called &#8220;Me and Ollies&#8221; and found an entire downstairs community center with AC and wifi and plenty of nice seating!</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2010/08/Portsmouth-NH-LD-meetup-saturday.png"><img class="alignnone size-thumbnail wp-image-26660" src="http://hybridmind.com/wp-content/uploads/2010/08/Portsmouth-NH-LD-meetup-saturday-150x150.png" alt="Portsmouth NH Meetup at Me and Ollies Cafe" width="150" height="150" /></a></p>
<p>That is me on the left and <em>billkyne </em>on the right.</p>
<p><strong><a href="http://www.youtube.com/watch?v=fEAC4fnobGI">Here is a short YouTube video</a></strong> filmed by <em>Jonny D</em> of the beginning of our meetup.</p>
<p>The meetup went really well. It was so refreshing to be able to see what others were working on and to just talk about game development and Ludum Dare related things. I also enjoyed the strange looks I got from others in the room when we would talk about our games to each other or when I would take photographs of my food:</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2010/08/aug21-lunch1.jpg"><img class="alignnone size-thumbnail wp-image-26662" src="http://hybridmind.com/wp-content/uploads/2010/08/aug21-lunch1-150x150.jpg" alt="Saturday Lunch at &quot;Me and Ollies Cafe&quot;" width="150" height="150" /></a></p>
<p>I ended up getting less than four hours of work in on my game but the small lack of productivity was more than made up for by getting to meet <em>Jonny D</em> and <em>billknye</em>. I was able to post version <strong><a href="http://hybridmind.com/ld18-eaw-v002.html">two</a> </strong>of my game from the cafe.</p>
<p>I had so much fun and was inspired to drive back home after 6pm to get cracking again on my game!</p>
<p>Once I got home I was finally able to decide on the name<em> AVOIDAL</em> for my game<em>. </em>It took me longer than normal to pick a name this time.<em> </em>I like picking out unique names as well as names that often have domain name availability.</p>
<p>Avoidal isn&#8217;t a <em>real</em> word but it is in use lightly on the internet and has Urban Dictionary entries strangely enough. I decide that the low Google search noise will allow my game to eventually place well in search results for <em>Avoidal</em>.</p>
<p>I discover that avoidal.com was available and I register it and quickly setup some HTML and CSS in place on my sever to hold the eventual competition game entry. Why go through this extra effort? I enjoy crafting the entire experience for the player and I like the elegance of the idea of having my competition entry hosted on a dedicated, short, and memorable domain.</p>
<p>Having prepared the final destination for my game I get back to work on the actual game itself. Here is a screenshot from <strong><a href="http://hybridmind.com/avoidal-v03.html">version three</a></strong>:</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2010/08/screenshot-v03-11.png"><img class="alignnone size-thumbnail wp-image-26667" src="http://hybridmind.com/wp-content/uploads/2010/08/screenshot-v03-11-150x150.png" alt="Version three" width="150" height="150" /></a></p>
<p>I spend some of Saturday night implementing <a href="http://playtomic.com/"><strong>SWFStats</strong></a> gameplay analytics. I love using an analytics package like <em>SWFStats</em> so I can start getting valuable aggregated play testing data to help improve the game as early as possible. It allows me to track custom metrics like average scores over the various difficulty levels and highest chain multipliers reached. Stats like that help me see graphs of what the difficulty curve is and make intelligent decisions about the mechanics and settings. I can also analyze play length data and number of views versus plays to see if my game is holding player interest or not.</p>
<p>I then focus on getting the bulk of the menus and game flow logic in place. I know from past competitions that once Sunday rolls around my brain will be a chaotic and spastic place. I like to handle all the <em>mundane</em> things like <a href="http://hybridmind.com/2009/08/28/how-to-use-mochimedia-global-leaderboards-with-your-flash-entry/"><strong>online highscores implementation</strong></a>, preloader and initializer, game over screens, game state tracking, main menus, pause menus, sound mute widgets and all the other miscellaneous ephemera that goes into making a polished game. I enjoy putting a high level of polish into my games so it helps to still be fresh when I implement these things.</p>
<p>All told I put about four hours into my game getting all the non-gameplay stuff in place. I know that tomorrow will be reserved for final tuning, final graphics, sound effects, and music composition. I am preparing myself mentally for what I know will be a long day. I head off to bed and plan on getting another 5 hours of sleep.</p>
<p>That brings my Saturday development hours in at this point at about 8 and 12 total for the competition so far.</p>
<p><strong>SUNDAY</strong></p>
<p>Final day and I am PUMPED!  There is so much left to do to bring AVOIDAL to life and it&#8217;s time to get going.</p>
<p>I start off by redesigning the mine asset:</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2010/08/mine-creation.png"><img class="alignnone size-thumbnail wp-image-26675" src="http://hybridmind.com/wp-content/uploads/2010/08/mine-creation-150x150.png" alt="Mine Creation" width="150" height="150" /></a></p>
<p>Those white spikes will become projectiles that eventually fly off if the player let&#8217;s the mine explode before destroying it. Those spikes also do the most damage of any of the enemies in the game.  I want the player to be motivated to destroy the mines with the other enemies so I do two things. First the the chain multiplier goes up each time you destroy a mine. A mine has a lifespan and will eventually explode if left alone for too long. When it explodes it releases the projectiles as well as resets the chain multiplier.  The second motivation for the player is that when the mines explode the spikes move pretty fast and in eight directions so they can be quite deadly. I&#8217;m hoping that this will be another aspect of excitement and tension in the game.</p>
<p>In order to get my coordinate offsets and angles correct I draw the following mockup:</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2010/08/mine-design.png"><img class="alignnone size-thumbnail wp-image-26674" src="http://hybridmind.com/wp-content/uploads/2010/08/mine-design-150x150.png" alt="Mine Design" width="150" height="150" /></a></p>
<p>This will let me spawn the mine tips at the correct coordinates when the mine detonates so that it will be a seamless visual effect of the tips of the mine sprite flying off. It ends up working quite well and my Sunday is off to a productive start.</p>
<p>I then go through and revamp all the graphics replacing all the placeholder art.  I pick new colors for some things while others remain more or less the same. I put in animations for most of the assets.</p>
<p>I then spent some time to tackle the main character design:</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2010/08/main-character-design.png"><img class="alignnone size-large wp-image-26680" src="http://hybridmind.com/wp-content/uploads/2010/08/main-character-design-550x137.png" alt="Main Character Design" width="550" height="137" /></a></p>
<p>On the left is the placeholder art for the character from the prototype. Next to that is the character I had doodled in my original mockup. I still wanted to capture the light-hearted and goofy feel of that doodle instead of the cool mathematics of the pentagon.</p>
<p>I initially drew the third image overtop of the original sprite in the Flash IDE. This was so I would have the dimensions be equivalent so that gameplay wouldn&#8217;t change. I couldn&#8217;t get a freehand style I liked that I felt blended in well with the polygonal style I was already working with.</p>
<p>I scrapped the third freehand concept and started using basic primitives to sculpt out what would eventually become the little flying robot. I even sort of think of him in my mind as being named <em>Avoidal</em>.</p>
<p>Once I saw him animated I knew that I was happy with how I captured my original intentions with the doodle of the little flapping guy with the target on his chest.</p>
<p>I now had all my final art in place:</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2010/08/screenshot3-v1.png"><img style="border: 0px initial initial;" src="http://hybridmind.com/wp-content/uploads/2010/08/screenshot3-v1-150x150.png" alt="Final Art In Place" width="150" height="150" /></a></p>
<p>When I wasn&#8217;t working on the final art for my game I was playing it as much as I could and posted two more playable builds to get player feedback and start working out balance and difficulty issues.</p>
<p>Here is <strong><a href="http://hybridmind.com/avoidal-v04.html">version four</a></strong> and <strong><a href="http://hybridmind.com/avoidal-v05.html">version five</a></strong> for reference.</p>
<p>Now at this point I&#8217;ve been working since about 7:30am Sunday morning and I&#8217;m starting to really feel it. I find myself zoning off into space and starting to lose track of my train of thought.</p>
<p>I realize that I need to grab a quick dinner since I only have less than three hours remaining in the competition and there is still final menu polish, sound effects and music to create! I run out and grab some pizza and come back and inhale it. I didn&#8217;t even have time to take a photo because at this point the game is clearly the priority for me.</p>
<p>It may sound weird but participating in Ludum Dare competitions over the years has really helped me to remain cool under pressure when developing. When I feel the brain-tightening stress start I remember to relax and breathe in and out. I then refocus and keep working. I find using an online todo list web app really helps me stay on track.</p>
<p>With just a few hours remaining in the competition I fire up the <strong><a href="http://www.superflashbros.net/as3sfxr/">web version of SFXR</a> </strong>and start cranking out sound effects like a machine. During this part I keep a list of sound assets I need and the game playing in the background. I tab back and forth between SFXR and my game in the browser and imagine what kinds of sounds I am going for.</p>
<p>Then it is a frenzied mashing of buttons and hoping I get lucky on the <em>randomize</em> feature. I really love this part in that it feels like I&#8217;m fishing and I don&#8217;t know what I will catch.  I score some really lucky hits on randomize as well as some old standbys from the more normal themed buttons. I import them into Flash and tie them in with code. I even take the time to add some nice stereo panning to applicable sound effects based on sprite screen location.</p>
<p>I also have been taking care of various other tiny polish items from my todo list. I wanted to get a slight left and right lean to the robot sprite when the player is moving quickly back and forth. I also wanted to make sure to add an instructions screen in the event that someone gets stumped and actually decides to read the instructions (<em>hardly ever happens I know</em>&#8230;)</p>
<p>I now have less than 45 minutes remaining and I fire up Reason and use my Alesis midi keyboard to layout a quick menu chiptune loop.  I compress it into MP3 and put it in place in the game.</p>
<p>Holy crap only 15 minutes remains to do final screenshot and upload. I&#8217;m sort of a purist in I like to have my game fully submitted by the deadline. I managed to get everything filled out in the form and turned in with 5 minutes to spare.</p>
<p>Now comes the relief knowing that <strong><a href="http://avoidal.com/compo.html">I&#8217;M FINISHED</a></strong>.</p>
<p>Total time spent on Sunday was over 14 hours&#8211;phew what a crunch!</p>
<p>Total game time spent developing was 26 hours. I&#8217;m getting faster&#8230;</p>
<p><strong>FINAL THOUGHTS</strong></p>
<p>I&#8217;m really quite pleased with how my game came out and my weekend in general. I feel lucky to have come up with such a simple and fun idea very early in the competition. I had a playable prototype so early it really let me focus on polishing the heck out of this little game and putting in all the normal bells and whistles I&#8217;d put into a releasable Flash game from my studio. This has been my most successful Ludum Dare yet&#8211;now I just have to see how other players like it!</p>
<p>I have to really pump myself up sometimes to participate in something as demanding as the marathon that is Ludum Dare. I almost want to collapse or feel like I might vomit sometimes from the amount of strain and wear that hits me after working 25-35 hours straight over the two days.</p>
<p>Why do I do it then?</p>
<p>Despite the wear and tear it is just an amazing concept to participate in a global event with so many other passionate game developers. I have a strong sense of competitive spirit and I like the opportunity to demonstrate my skills and love for game development. I like feeling the inertia of 100s of other game developers trying their best and simultaneously creating awesome games!</p>
<p>Ludum Dare really teaches me how to distill a game down into what is critically important and make hard decisions about features and scope that I have found I can apply outside of the stringent competition to my normal game studio work.</p>
<p>I started my independent studio and returned to game development largely because of participating in Ludum Dare a few years ago. It will always hold a dear place in my heart because of putting me back in touch with mychildhood dream of game creation. I&#8217;m just glad it clued me into what a great game development movement was going on that I was unaware of.</p>
<p>I can&#8217;t wait to play all the other games here!</p>
<p><strong>MY LINKS</strong></p>
<p><strong><a title="Play AVOIDAL" href="http://avoidal.com"><img class="size-thumbnail wp-image-26688 alignleft" style="margin-left: 10px; margin-right: 10px;" src="http://hybridmind.com/wp-content/uploads/2010/08/screenshot4-v1-150x150.png" alt="Play AVOIDAL!" width="150" height="150" /></a></strong></p>
<p><strong><a href="http://avoidal.com">Play AVOIDAL</a></strong></p>
<p><a href="http://www.youtube.com/watch?v=qH0AL9sNrro"><strong>Gameplay Trailer (watch me score 1.5 million points!)</strong></a></p>
<p><a href="http://www.youtube.com/watch?v=LKtZNylG74M"><strong>Watch my TIMELAPSE</strong></a></p>
<p><a href="http://avoidal.com/compo.html"><strong>Play the LD48 Official Compo Version of AVOIDAL</strong></a></p>
<p><a href="http://avoidal.com/compo.html"><strong>Play the Original LD48 Compo Version</strong></a></p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/avoidal-post-mortem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Power Vacuum &#8211; New Flash Game Released</title>
		<link>http://hybridmind.com/games/power-vacuum-new-flash-game-released/</link>
		<comments>http://hybridmind.com/games/power-vacuum-new-flash-game-released/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 15:15:33 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[avoider]]></category>
		<category><![CDATA[collector]]></category>
		<category><![CDATA[fast]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[highscores]]></category>
		<category><![CDATA[leaderboards]]></category>
		<category><![CDATA[maze]]></category>
		<category><![CDATA[paced]]></category>
		<category><![CDATA[power]]></category>
		<category><![CDATA[timed]]></category>
		<category><![CDATA[vacuum]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=522</guid>
		<description><![CDATA[Spent the week creating a new Flash game for a November Mochi Media contest where the theme was &#8220;60 Seconds&#8221;.  Power Vacuum is the result: Concept: Help the atom on each level recover its lost electrons! You only have 60 seconds total to collect all 100 missing electrons from the different levels. The screenshot above [...]]]></description>
			<content:encoded><![CDATA[<p>Spent the week creating a new Flash game for a <a href="http://mochiland.com/articles/november-2009-contest-60-seconds-to-fame" target="_blank">November Mochi Media contest</a> where the theme was &#8220;60 Seconds&#8221;.  <a href="http://hybridmind.com/power-vacuum.html"><em>Power Vacuum</em></a> is the result:</p>
<p><a title="Play Power Vacuum" href="http://hybridmind.com/power-vacuum.html"><img class="size-full wp-image-523 alignnone" title="pv-comp" src="http://hybridmind.com/wp-content/uploads/2009/12/pv-comp.jpg" alt="pv-comp" width="500" height="503" /></a></p>
<p><strong>Concept: </strong></p>
<p>Help the atom on each level recover its lost electrons! You only have 60 seconds total to collect all 100 missing electrons from the different levels.</p>
<p>The screenshot above shows 4 of the 20 available levels.  10 levels are picked at random each time you play.  The entire game only lasts 60 seconds (as per the contest rules.)</p>
<p>I created the background textures by cropping and filtering some lovely watercolor textures made by <a href="http://hibbary.deviantart.com/" target="_blank">Hillary Luetkemeyer</a>.  The artist released them for use and remix under a CC Attribution license.</p>
<p>Feel free to leave any feedback below in the comments.</p>
<p><a title="Play Power Vacuum" href="http://hybridmind.com/power-vacuum.html">Play Power Vacuum</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/power-vacuum-new-flash-game-released/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Simple AS3 Viewport Tutorial</title>
		<link>http://hybridmind.com/tutorials/simple-as3-viewport-tutorial/</link>
		<comments>http://hybridmind.com/tutorials/simple-as3-viewport-tutorial/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 16:21:40 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[circles]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[gamedev]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[teaching]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[viewport]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=433</guid>
		<description><![CDATA[Simple Flash AS3 Viewport Demo Click inside and use arrow keys to move viewport This is a little demo I made this morning as a way to get a viewport concept working for the latest game I am developing.  I&#8217;ve done a few viewport type projects in other languages but had not implemented one in [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;"><strong>Simple Flash AS3 Viewport Demo</strong></div>
<div style="text-align: center;"><object id="ViewPort" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="350" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="name" value="ViewPort" /><param name="bgcolor" value="#000000" /><param name="src" value="http://hybridmind.com/ViewPort.swf" /><param name="quality" value="high" /><embed id="ViewPort" type="application/x-shockwave-flash" width="350" height="300" src="http://hybridmind.com/ViewPort.swf" quality="high" bgcolor="#000000" name="ViewPort"></embed></object></div>
<div style="text-align: center;"><em>Click inside and use arrow keys to move viewport</em></div>
<p>This is a little demo I made this morning as a way to get a viewport concept working for the latest game I am developing.  I&#8217;ve done a few viewport type projects in other languages but had not implemented one in Flash AS3 yet.</p>
<p>This demo creates 300 random balls and sets them in motion inside the world.  The world&#8217;s dimensions are four times larger than the viewport above.</p>
<p>You can click in the window above and use the arrow keys to move the viewport around the world.  The source files for this tutorial are available at the end of the article.</p>
<p><span id="more-433"></span></p>
<h4>BACKGROUND<strong> </strong></h4>
<p>I needed to be able to have world coordinates for my latest game along with a viewport which follows the player.  All the objects in the world must move according to various physics and be able to be mapped into the current viewport for display purposes.  After hacking around for a while unsuccessfully last night on the game code I realized this morning that it would just be better to start fresh on a little proof of concept demo until I had it all working.</p>
<p>I thought I&#8217;d share some of the concepts in case it could help someone else as well as get any code or design feedback from anyone who may have implemented these in a different or more efficient way.  I can already think of a ton of improvements my rudimentary solution could use but I&#8217;ll add them as necessary.</p>
<h4>BASIC DOCUMENT CLASS VARS AND CONSTANTS:</h4>
<pre><code>
// Viewport related constants:
private static const VIEWPORT_WIDTH:Number = 350;
private static const VIEWPORT_HEIGHT:Number = 300;
private static const VIEW_STEP:int = 25;

// World related constants:
public static const WORLD_WIDTH:Number = 1400;
public static const WORLD_HEIGHT:Number = 1200;

// Current viewport coords:
private var viewportX:Number;
private var viewportY:Number;
</code></pre>
<h4>INITIAL SETUP OF VIEWPORT AND CREATING CIRCLES WITHIN WORLD:</h4>
<p>This snippet is occurring inside an init() function that is called from the document class constructor.  This is all one time setup.</p>
<pre><code>
// set view port coords to middle of world:
viewportX = WORLD_WIDTH / 2;
viewportY = WORLD_HEIGHT / 2;

// create a bunch of random circles scattered across the world:
circles = new Array();
for (var i:int = 0; i &lt; NUM_CIRCLES; i++) {
var circle:Circle = new Circle();

// grab random x that falls within world space:
var wX:Number = GameUtils.randRange(0 + (circle.width / 2), WORLD_WIDTH - (circle.width / 2));

// grab random y that falls within world space:
var wY:Number = GameUtils.randRange(0 + (circle.height / 2), WORLD_HEIGHT - (circle.height / 2));

// set the coordinates for our circle:
circle.placeInWorld(wX, wY);

// add our circle to the display list:
addChild(circle);

// push our circle onto our array of circles:
circles.push(circle);
</code></pre>
<h4>SNIPPET OF HANDLING KEYBOARD INPUT TO MOVE THE VIEWPORT:</h4>
<p>This snippet is occurring inside a keyDown listener function which listens for the user hitting the arrow keys.  Each time the keys are hit it moves the viewport in the appropriate direction while performing range checking with the world borders.</p>
<pre><code>
if (e.keyCode == 38) {            // UP
 viewportY -= VIEW_STEP;
 if (viewportY &lt; 0) { viewportY = 0; }
}
</code></pre>
<h4>MAIN PROGRAM LOOP:</h4>
<p>This is a simple enterFrame listener that loops through all the active circles and calls their update method.  After the update method we alter the coordinates of the parent display object (in this case the instance of our viewport) inversely with the viewport coordinates.  This allows Flash to automatically handle updating all the positions of the circles which are children of our viewport instance.  <em>Thanks to <a href="http://www.draknek.org" target="_blank">draknek</a> for this elegant suggestion!</em></p>
<pre><code>
private function enterFrameListener(e:Event):void {
	for (var i:int = 0; i &lt; circles.length; i++) {
		circles[i].update();
	}

	// pan the viewport
	x = -viewportX;
	y = -viewportY;
}
</code></pre>
<h4>CIRCLE CLASS VARS:</h4>
<p>Here are the variables that define my circle class.  This class is pretty basic and nothing too special has to happen here with regards to the viewport.  The class will have to perform range checking with the borders of the world.</p>
<pre><code>
// Velocity:
private var velX:Number;
private var velY:Number;
</code></pre>
<h4>CIRCLE UPDATE METHOD:</h4>
<p>Here is a snippet from the update method that gives the basic idea of how to adjust the coords while range checking against the larger world borders.</p>
<pre><code>
// Adjust the x coord by current x velocity:
x += velX;

// Perform boundary checking with world borders and adjust
// position and velocity direction accordingly:
if (x &lt; (width / 2)) {
	x = (width / 2);
	velX = -velX;
} else if (x &gt; ViewPort.WORLD_WIDTH - (width / 2)) {
	x = ViewPort.WORLD_WIDTH - (width / 2);
	velX = -velX;
}
</code></pre>
<p>So that is my concept of one way to do a basic viewport in AS3.  I am happy to get any feedback on this code and the way I solved this problem.  I know there are many ways to implement these things but this is what I am going to run with for now as it seems to be working pretty good!</p>
<p><em>EDIT: Thank you to <a href="http://www.draknek.org" target="_blank">Draknek</a> (see comments below) for an elegant refinement to my code that allowed me to no longer have to track world coordinates on the child objects.  Now I can just let Flash handle updating all the positions for me by moving the parent display object instead of manually doing that.</em></p>
<p><a href="/ViewportTutorial.zip">Download the v0.2 source files and fla for this tutorial</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/tutorials/simple-as3-viewport-tutorial/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Worderfall &#8211; New Flash Game Released</title>
		<link>http://hybridmind.com/games/worderfall-new-flash-game-released/</link>
		<comments>http://hybridmind.com/games/worderfall-new-flash-game-released/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 21:47:16 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[brain]]></category>
		<category><![CDATA[brainfitness]]></category>
		<category><![CDATA[braintraining]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[dictionary.com]]></category>
		<category><![CDATA[fish]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[launch]]></category>
		<category><![CDATA[mochi]]></category>
		<category><![CDATA[ocean]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[screenshots]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[whales]]></category>
		<category><![CDATA[word]]></category>
		<category><![CDATA[worderfall]]></category>
		<category><![CDATA[words]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=351</guid>
		<description><![CDATA[I have just completed a new Flash game called Worderfall this month with my good friend and fellow game designer Jeremy P. Bushnell.  This time around it is a word game that utilizes an extremely large database of valid English words. The concept is a fairly simple one.  You have three minutes to create as [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Play Worderfall" href="/worderfall.html"><img class="alignnone size-full wp-image-352" title="Play Worderfall" src="http://hybridmind.com/wp-content/uploads/2009/09/worderfall-1.jpg" alt="Worderfall Main Menu" /></a></p>
<p>I have just completed a new Flash game called <a title="Play Worderfall" href="/worderfall.html"><em>Worderfall</em></a> this month with my good friend and fellow game designer <a href="http://www.imaginaryyear.com/raccoon/index.html" target="_blank">Jeremy P. Bushnell</a>.  This time around it is a word game that utilizes an extremely large database of valid English words.</p>
<p>The concept is a fairly simple one.  You have three minutes to create as many high scoring words as you can.  The game increases pace with each minute that passes.  There are a ton of game statistics that are tracked as well for those who would like to improve their scores or at least measure their progress.</p>
<p><span id="more-351"></span></p>
<p><strong>Here is a game play video which explains how to play:</strong></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" 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/ue5sDSdpO7o&amp;hl=en&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/ue5sDSdpO7o&amp;hl=en&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><strong>Here is a game play screenshot:</strong></p>
<p><a title="Play Worderfall" href="/worderfall.html"><img class="alignnone size-full wp-image-354" title="Play Worderfall" src="http://hybridmind.com/wp-content/uploads/2009/09/worderfall-4.jpg" alt="Worderfall Game Play" width="550" height="450" /></a></p>
<p>I welcome your feedback and thoughts positive or negative.  Thanks for giving it a try!</p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/worderfall-new-flash-game-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Angry Caverns &#8211; My Entry for Ludum Dare 15</title>
		<link>http://hybridmind.com/games/angry-caverns-my-entry-for-ludum-dare-15/</link>
		<comments>http://hybridmind.com/games/angry-caverns-my-entry-for-ludum-dare-15/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 21:23:48 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[angry]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[bats]]></category>
		<category><![CDATA[cavemen]]></category>
		<category><![CDATA[caverns]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[geysers]]></category>
		<category><![CDATA[ld15]]></category>
		<category><![CDATA[leaderboards]]></category>
		<category><![CDATA[ludumdare]]></category>
		<category><![CDATA[mochi]]></category>
		<category><![CDATA[mochimedia]]></category>
		<category><![CDATA[screenshots]]></category>
		<category><![CDATA[stalactites]]></category>
		<category><![CDATA[steam]]></category>
		<category><![CDATA[timelapse]]></category>
		<category><![CDATA[vents]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=312</guid>
		<description><![CDATA[This past weekend I participated again in the 48hour &#8216;from scratch&#8217; game development competition known as Ludum Dare. It was the 15th such event run since early 2000. This time around the theme that won the voting rounds was Caverns.  I created a Flash game for the competition called Angry Caverns which you can play [...]]]></description>
			<content:encoded><![CDATA[<p>This past weekend I participated again in the 48hour &#8216;from scratch&#8217; game development competition known as <a href="http://ludumdare.com/compo" target="_blank">Ludum Dare</a>.  It was the 15th such event run since early 2000.  This time around the theme that won the voting rounds  was <em>Caverns</em>.  I created a <a href="http://hybridmind.com/angry-caverns-ld15.html" target="_blank">Flash game for the competition called <em>Angry Caverns</em> which you can play here in your browser</a>.</p>
<p><a href="http://hybridmind.com/angry-caverns-ld15.html" target="_blank"><img class="size-full wp-image-313 alignnone" title="Click to play Angry Caverns" src="http://hybridmind.com/wp-content/uploads/2009/09/screenshot-v1-menu.jpg" alt="screenshot-v1-menu" width="550" height="400" /></a></p>
<p><span id="more-312"></span></p>
<p>My idea on the theme was that you play as the  cavern.  You have to use your natural defenses like stalactites and steam vents to eliminate the creatures that have come to call you home.  In this version you are mainly facing off against bats and cavemen though in an expansion I hope to add in many time periods of history of various cavern dwellers and users.</p>
<p><a href="http://hybridmind.com/angry-caverns-ld15.html" target="_blank"><img class="size-full wp-image-314 alignnone" title="Click to play Angry Caverns" src="http://hybridmind.com/wp-content/uploads/2009/09/screenshot-v1-gameplay.jpg" alt="Level 5 action shot" width="550" height="400" /></a></p>
<p>Here is a scene from level 5.  There are currently only 5 levels in the game.  You have limited amount of time on each level to try and destroy as many creatures as you can.  There is a nice combo system and random bonus creatures that will help you go for some big points.  There is also a completion bonus with extra rewards for perfect completion.  To encourage some friendly competition I tied in <a href="https://www.mochimedia.com/r/b5d95cd6f29c9bad" target="_blank">MochiMedia&#8217;s excellent global leaderboard system</a> and  even wrote up a <a href="http://www.ludumdare.com/compo/2009/08/28/how-to-use-mochimedia-global-leaderboards-with-your-flash-entry/" target="_blank">simple leaderboard tutorial</a> ahead of the competition in case any other LD15 participants who used Flash wanted to give it a go.</p>
<p>Once again <a href="http://ludumdare.com/compo" target="_blank">Ludum Dare</a> was an absolute blast!  There was record turn out like last time and <strong>144</strong> games were submitted in total!  <a href="http://www.ludumdare.com/compo/ludum-dare-15/?action=preview" target="_blank">You can view the current game list here</a>.  My <a href="http://ludumdare.com/compo/author/hybridmind" target="_blank">LD15 dev blog can be viewed here too</a>.</p>
<p>I used the <em>Flash CS4 IDE</em> to develop this game in <em>Actionscript 3.0.</em> I also used <em>SFXR</em> to generate the sound effects and composed the menu and level music in <em>Reason</em>.  You can even <a href="http://www.youtube.com/watch?v=WCB_neUZRfs" target="_blank">view a timelapse of my games 36 hours of creation compressed into 3 minutes</a>!  Congrats to all the participants of Ludum Dare 15!</p>
<p><a href="http://hybridmind.com/angry-caverns-ld15.html" target="_blank">Click here to give Angry Caverns a try in your browser!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/angry-caverns-my-entry-for-ludum-dare-15/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Blinkout &#8211; New Flash Game Released</title>
		<link>http://hybridmind.com/games/blinkout-new-flash-game-released/</link>
		<comments>http://hybridmind.com/games/blinkout-new-flash-game-released/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 16:06:16 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[alien]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[avoider]]></category>
		<category><![CDATA[challenge]]></category>
		<category><![CDATA[collab]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[dimension]]></category>
		<category><![CDATA[enery]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[gate]]></category>
		<category><![CDATA[key]]></category>
		<category><![CDATA[king]]></category>
		<category><![CDATA[level]]></category>
		<category><![CDATA[maze]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[puzzle]]></category>
		<category><![CDATA[resource]]></category>
		<category><![CDATA[spaceship]]></category>
		<category><![CDATA[spatial]]></category>
		<category><![CDATA[sponsored]]></category>
		<category><![CDATA[ufo]]></category>
		<category><![CDATA[visual]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=298</guid>
		<description><![CDATA[PLAY: Play Blinkout DESCRIPTION: How good is your visual memory under pressure? You&#8217;ll have to use both your agility and good resource strategy to navigate your spaceship through an increasingly hostile dimension. How far can you get? INSTRUCTIONS: Move ship with ARROWS Illuminate levels with the SPACEBAR (costs energy) Find the key and go to [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Play Blinkout" href="/blinkout.html"><img class="alignnone size-full wp-image-299" title="Play Blinkout" src="http://hybridmind.com/wp-content/uploads/2009/08/blinkout-screen550.jpg" alt="blinkout-screen550" width="547" height="549" /></a></p>
<p><strong>PLAY:</strong></p>
<p><a title="Play Blinkout" href="/blinkout.html">Play Blinkout</a></p>
<p><strong>DESCRIPTION:</strong><br />
How good is your visual memory under pressure? You&#8217;ll have to use both your agility and good resource strategy to navigate your spaceship through an increasingly hostile dimension. How far can you get?</p>
<p><span id="more-298"></span></p>
<p><strong>INSTRUCTIONS:</strong></p>
<ul>
<li>Move ship with ARROWS</li>
<li>Illuminate levels with the SPACEBAR (costs energy)</li>
<li>Find the key and go to the gate</li>
<li>Regain energy by picking up charges</li>
<li>There are 8 levels that will repeat for 6 rounds. The charges are persistent across all rounds, so don&#8217;t use all of them the first time around&#8230;</li>
</ul>
<p><strong>MORE INFO:</strong></p>
<p>I hope you&#8217;ll find Blinkout to be a fairly original game. The game is designed to challenge the player on quite a few levels and we believe that if players spend a little time with it they will find an interesting experience as the game mechanics change over the 6 rounds of 8 repeating level mazes.</p>
<p>The player will have to use their visual memory as most of the game is played in complete darkness. Illumination of the levels comes through collecting energy charges along the way. The catch is that these charges are persistent across all the rounds so a charge collected earlier will no longer be available when encountered again. Charges picked up later are worth more energy so the player will be able to manage their resources accordingly to make it to the harder rounds. In these later rounds the player is faced with greater energy costs for hitting a maze wall as well as greater costs for illuminating the level. The level time limit reduces and the movement speed increases. We realize this game is quite challenging and will likely intimidate at first as using visual memory, keyboard agility, and resource management together may prove to be a new experience for many players.</p>
<p>I worked on Blinkout with my good friend and fellow game designer <a href="http://www.imaginaryyear.com/" target="_blank">Jeremy P. Bushnell.</a> It marks my first collaboration and the experience was quite enjoyable. Jeremy took lead on the art direction and level design for the game while I took lead on the programming side of things. We worked equally on the game design and iterations of all the facets through kicking ideas and changes back and forth.  We were also very happy to get the game sponsored by <a href="http://www.king.com/game/sponsored-games/blinkout/?language=en_US" target="_blank">King.com</a> and they have been great to work with.</p>
<p>We hope you enjoy the game!</p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/blinkout-new-flash-game-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Robot Reaction &#8211; New Flash Game Released</title>
		<link>http://hybridmind.com/games/robot-reaction-new-flash-game-released/</link>
		<comments>http://hybridmind.com/games/robot-reaction-new-flash-game-released/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 03:35:52 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[chain]]></category>
		<category><![CDATA[explosions]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[kongregate]]></category>
		<category><![CDATA[mochiads]]></category>
		<category><![CDATA[mochibot]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[newgrounds]]></category>
		<category><![CDATA[reaction]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[scifi]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=271</guid>
		<description><![CDATA[Spent the past three days cooking up this fun little robot-themed chain reaction game.  I&#8217;ve wanted to do a chain reaction game for quite some time and I really wanted to do a side perspective version that explored some fun and quick game play mechanics.  I spent a week or two mulling ideas over in [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Play Robot Reaction" href="/robot-reaction.html"><img class="alignnone size-full wp-image-272" title="Play Robot Reaction" src="http://hybridmind.com/wp-content/uploads/2009/07/screenshot1.png" alt="screenshot1" width="550" height="400" /></a></p>
<p>Spent the past three days cooking up this fun little robot-themed chain reaction game.  I&#8217;ve wanted to do a chain reaction game for quite some time and I really wanted to do a side perspective version that explored some fun and quick game play mechanics.  I spent a week or two mulling ideas over in my head before beginning development.  I&#8217;m rather happy how this turned out all things considered.</p>
<p><a title="Play Robot Reaction" href="/robot-reaction.html">Play it here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/robot-reaction-new-flash-game-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Orange You Glad &#8211; New Flash Game Released</title>
		<link>http://hybridmind.com/games/orange-you-glad-new-flash-game-released/</link>
		<comments>http://hybridmind.com/games/orange-you-glad-new-flash-game-released/#comments</comments>
		<pubDate>Fri, 01 May 2009 12:11:30 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Game Business]]></category>
		<category><![CDATA[glad]]></category>
		<category><![CDATA[kongregate]]></category>
		<category><![CDATA[licenses]]></category>
		<category><![CDATA[mochi]]></category>
		<category><![CDATA[mochiads]]></category>
		<category><![CDATA[monetization]]></category>
		<category><![CDATA[orange]]></category>
		<category><![CDATA[oranges]]></category>
		<category><![CDATA[primary]]></category>
		<category><![CDATA[sponsorship]]></category>
		<category><![CDATA[you]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=187</guid>
		<description><![CDATA[My new Flash game Orange You Glad has finally been published! Description: How good are you with your tongue? Got a bad case of scurvy? See if you can handle the Orange Frenzy! Orange You Glad features 20 levels of citrus madness. 10 special power effects and 25 unique and humorous items to avoid. Can [...]]]></description>
			<content:encoded><![CDATA[<p>My new Flash game <em>Orange You Glad</em> has finally been published!</p>
<p><a title="Play Orange You Glad" href="/orange-you-glad.html"><img class="alignnone size-full wp-image-116" title="oygscreen1" src="http://hybridmind.com/wp-content/uploads/2009/04/oygscreen1.jpg" alt="oygscreen1" width="552" height="402" /></a></p>
<p><strong>Description:</strong></p>
<p>How good are you with your tongue? Got a bad case of scurvy?</p>
<p>See if you can handle the Orange Frenzy!</p>
<p>Orange You Glad features 20 levels of citrus madness. 10 special power effects and 25 unique and humorous items to avoid. Can you lick enough oranges on each level to advance to the next? It&#8217;s not as easy as it sounds.</p>
<p><a title="Play Orange You Glad" href="/orange-you-glad.html">Play Orange You Glad</a></p>
<p><span id="more-187"></span><strong>Background:</strong></p>
<p>This is my second Flash game and first ActionScript 3.0 game.  This is also my first foray into Flash sponsorship and licensing.  I am quite excited that after putting this game on <a href="http://flashgamelicense.com">Flash Game License</a> as well as emailing marketing materials to over 50 sponsors I was able to secure both a primary sponsorship from <a href="http://www.flasharcadegamessite.com" target="_blank">Flasharcade Gamessite</a> as well as a non-exclusive license from <a href="http://www.bigfishgames.com" target="_blank">Big Fish Games</a>.</p>
<p>I worked on this game during the month of March and the beginning of April.  It was a little slow going because I was under heavy learning curve from both ActionScript 3.0 and the Flash CS4 IDE.  This project was a great learning experience from both a technical and business aspect.</p>
<p>The game received a few different bids for primary sponsorship on <a href="http://flashgamelicense.com">Flash Game License</a> and it only took about two weeks total from posting time till I accepted a favorable bid and delivered the sponsored SWF file.  Both <a href="http://www.flasharcadegamessite.com" target="_blank">Flasharcade Gamessite</a> and <a href="http://www.bigfishgames.com" target="_blank">Big Fish Games</a> have been great to work with and I am quite happy with both deals.</p>
<p>My primary sponsorship allows my to sell non-exclusive site-locked licenses and keep my <a href="http://mochiads.com" target="_blank">MochiAds</a> which is one of the prime reasons that type of sponsorship model was promoted by <a href="http://flashgamelicense.com" target="_blank">Flash Game License</a>.</p>
<p>I am very excited to see how my second game does out there in the wild.  It has been almost 6 weeks since I started this project and it is definitely a test of patience controlling your enthusiasm as you wait for the day you can release your game.</p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/orange-you-glad-new-flash-game-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>YoTowlr &#8211; My first Towlr game</title>
		<link>http://hybridmind.com/games/yotowlr-my-first-towlr-game/</link>
		<comments>http://hybridmind.com/games/yotowlr-my-first-towlr-game/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 14:19:58 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[frustrating]]></category>
		<category><![CDATA[inside]]></category>
		<category><![CDATA[joke]]></category>
		<category><![CDATA[ld]]></category>
		<category><![CDATA[ld14]]></category>
		<category><![CDATA[ludumdare]]></category>
		<category><![CDATA[meme]]></category>
		<category><![CDATA[pov]]></category>
		<category><![CDATA[recursion]]></category>
		<category><![CDATA[recursive]]></category>
		<category><![CDATA[tribute]]></category>
		<category><![CDATA[warmup]]></category>
		<category><![CDATA[yodawg]]></category>
		<category><![CDATA[yodawgyo]]></category>
		<category><![CDATA[yotowlr]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=163</guid>
		<description><![CDATA[You can play YoTowlr here in your browser In the two hours leading up to the beginning of Ludum Dare 14 I decided to do a towlr compo warm-up to get the coding juices flowing ahead of the big theme announcement.  I posted my intention in the LD IRC channel and a few other developers [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hybridmind.com/yotowlr.html" target="_blank"><img class="alignnone size-full wp-image-164" title="yotowlr" src="http://hybridmind.com/wp-content/uploads/2009/04/yotowlr.jpg" alt="yotowlr" width="554" height="368" /></a></p>
<p><a href="http://hybridmind.com/yotowlr.html">You can play YoTowlr here in your browser</a></p>
<p>In the two hours leading up to the beginning of <a href="http://ludumdare.com/compo"><em>Ludum Dare 14</em></a> I decided to do a <em>towlr</em> compo warm-up to get the coding juices flowing ahead of the big theme announcement.  I posted my intention in the LD IRC channel and a few other developers signed on as well for the friendly <em>towlr</em> warm-up.</p>
<p><span id="more-163"></span></p>
<p>One of the themes on the list for voting for LD14 was <em>Recursion (specifically, Yo Dawg!) </em>which by a weird glitch had actually made it into the 5th and final round of LD14 theme voting.  No one thought this theme would make it that far yet alone have a chance at winning.  It was with that in mind that I decided to do a <em>towlr </em>game on the recursive <em>yo dawg</em> meme which had been already making the rounds on the LD blog.</p>
<p>I had actually not encountered the <a href="http://www.yodawgyo.com"><em>yo dawg</em></a> phenomenon yet by some miraculous aligning of the internet planets.  Members of the LD community were <a href="http://www.yodawgyo.com/professional-yo-dawg-meme-explanation/">happy to fill me in</a> through with some <a href="http://www.yodawgyo.com">very informative links</a>.</p>
<p>For those of you not familiar with what the heck a <em>towlr </em>is well that is hard to explain as well as they are better experienced.  It was something that came from a previous <em>Ludum Dare</em> <a href="http://www.ludumdare.com/compo/2008/08/10/towlr/">entry by PoV</a> and since has gotten legs of its own.  Here is a snippet from the <a href="http://www.towlr.com"><em>Towlr Media Group&#8217;s</em> website</a>:</p>
<blockquote><p><span class="gamelink">Towlr are puzzles. Contrary to conventional design wisdom, the towlr games come without instruction and without explanation. Your job is to discover their secret, and score deliciousness. Yes, every Towlr game can be completed.</span></p>
<p>Towlr are complete audio/visual experiences. They should be played with sound at a reasonable level, and computer monitors turned on.</p>
<p>Towlr may frustrate you. This is normal.</p></blockquote>
<p>I instantly fell in love with the bizarre and frustrating experience that was <em>towlr</em>.  So, when looking for something to warm up on ahead of LD14 I felt it was only natural that I combine <em>Yo Dawg</em> with <em>Towlr </em>and thus <a href="http://hybridmind.com/yotowlr.html">YoTowlr</a> was born!</p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/yotowlr-my-first-towlr-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

