<?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; Games</title>
	<atom:link href="http://hybridmind.com/tag/games/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>Flash Game Polish Tips: Audio</title>
		<link>http://hybridmind.com/tutorials/flash-game-polish-tips-audio/</link>
		<comments>http://hybridmind.com/tutorials/flash-game-polish-tips-audio/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 13:48:16 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[best]]></category>
		<category><![CDATA[effects]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Game Business]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[licensing]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[polish]]></category>
		<category><![CDATA[practices]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[sponsorship]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[volume]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=824</guid>
		<description><![CDATA[I spend a lot of time thinking about things that will improve my Flash games. If you use sponsorship or licensing models in the Flash game business you are really marketing to two audiences&#8211;your players and your potential sponsors. I want to provide the best experience I can to my players within a reasonable amount of [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-844 alignleft" style="margin-left: 10px; margin-right: 10px; border-width: 3px; border-color: black; border-style: solid;" title="Headphones" src="http://hybridmind.com/wp-content/uploads/2011/07/Headphones.png" alt="Headphones" width="200" height="200" />I spend a lot of time thinking about things that will improve my <a title="Hybrid Mind Studios Flash Games" href="http://hybridmind.com/games/" target="_blank">Flash games</a>. If you use <a title="Flash Game Sponsorship and Licensing" href="http://www.flashgamelicense.com/view_library.php?page=what-is-a-sponsorship" target="_blank">sponsorship or licensing models</a> in the Flash game business you are really marketing to two audiences&#8211;your players and your potential sponsors.</p>
<p>I want to provide the best experience I can to my players within a reasonable amount of effort while at the same time I also want to make sure my game is going to provide as little friction as possible to potential sponsorship or licensing.</p>
<p>To that end I have 5 tips I wanted to share for dealing with audio in your Flash games that I&#8217;ve found helpful:</p>
<p><span style="text-decoration: underline;"><strong>Tip #1 &#8211; Normalize your music and sound effects</strong></span></p>
<p>This is a very simple tip but it is too often overlooked. <a title="Audio normalization" href="http://en.wikipedia.org/wiki/Audio_normalization" target="_blank">Normalizing</a> is basically just making sure that the loudest volume levels of all your sound effects and music are at a consistent and good target peak.</p>
<p>Normalizing your audio assets <em>before</em> you import them into your Flash library is a good way to improve your workflow. You know that all your audio is within a consistent peak range and you can balance further with your software volume settings.</p>
<p>You can use a free program like <em><a title="Audacity" href="http://audacity.sourceforge.net/" target="_blank">Audacity</a> </em>to provide normalization. I&#8217;ve found the default setting of normalizing to -3dB works well.  If you are using Windows 7 you&#8217;ll want to get the <em>beta</em> for <em>Audacity.</em></p>
<p><span style="text-decoration: underline;"><strong>Tip #2 &#8211; Individual controls for sound effects and music</strong></span></p>
<p>Why provide two controls? A nice thing about having independent controls for sound effects and music is that it can give the player more freedom over the experience of your game. It can allow them to keep your sound effects playing but still jam out to their own music. Another reason is sometimes the player doesn&#8217;t mind the sound effects but maybe the music is starting to get repetitive the 100th time they&#8217;ve played your chain reaction game. I look for any little tips to keep players happy and in the game and I&#8217;ve had many positive player comments from implementing this feature.</p>
<p><span style="text-decoration: underline;"><strong>Tip #3 &#8211; Provide common key bindings for audio control toggles</strong></span></p>
<p>Setup a keyboard listener in Flash to respond to some common keys. I like to bind the &#8216;S&#8217; key to toggle the sound effects and the &#8216;M&#8217; key to toggle the music.  This is a real simple touch that allows your players to quickly mute your game when they can&#8217;t find the onscreen audio controls. Remember to provide text somewhere to let your players know these settings controls!</p>
<p><span style="text-decoration: underline;"><strong>Tip #4 &#8211; Use volume sliders for sound effects and music</strong></span></p>
<p>The good thing about providing volume sliders over a simple mute/un-mute toggle is that your players can mix the volume to suit their individual speakers or headphones. It can be incredibly hard to master and mix your game volumes correctly so that it will sound decent and in balance across the many audio systems it will be played through. Volume sliders give the power to the players to tweak one up or down to get that balance that is pleasing to their ears.</p>
<p><span style="text-decoration: underline;"><strong>Tip #5 &#8211; Save sound and music settings in a shared object</strong></span></p>
<p>This last tip I have implemented most recently based on some player feedback I got. I really like this tip because it never occurred to me until I received a story from a player. The player got busted by their boss for playing one of my games in the office because they were surprised when they loaded it up again and the audio of both the preloader intro movies and the main menu music was still enabled.  They had just assumed that since they had muted the game audio the last time they had played that it would have remembered!</p>
<p>Well I had never really thought of this feature before but it was quite easy to implement and has been really awesome. You can use a <a title="Flash Shared Object" href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/SharedObject.html" target="_blank">Shared Object</a> in Flash to track any changes to the audio controls.  You might be using one already to record local highscore data and you can just record your audio settings to this object.  Then when your game loads you can check the Shared Object to see what the audio settings were (if any) the last time they played. If there isn&#8217;t any data then you can just enable it as as default. This allows you to mute the preloader intro movies and menu music when they return if they had disabled it in a previous gameplay session!</p>
<p><em><strong>Got any other good audio related tips? Share them below in the comments!</strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/tutorials/flash-game-polish-tips-audio/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Turd de France &#8211; New Flash Game Released</title>
		<link>http://hybridmind.com/games/turd-de-france-new-flash-game-released/</link>
		<comments>http://hybridmind.com/games/turd-de-france-new-flash-game-released/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 14:23:06 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[addicting]]></category>
		<category><![CDATA[angry]]></category>
		<category><![CDATA[bicycle]]></category>
		<category><![CDATA[bird]]></category>
		<category><![CDATA[birds]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[france]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[peloton]]></category>
		<category><![CDATA[pigeon]]></category>
		<category><![CDATA[poop]]></category>
		<category><![CDATA[potty]]></category>
		<category><![CDATA[race]]></category>
		<category><![CDATA[silly]]></category>
		<category><![CDATA[tour]]></category>
		<category><![CDATA[turd]]></category>
		<category><![CDATA[viral]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=804</guid>
		<description><![CDATA[Game Description: Angry birds? Try angry pigeon! You play a French pigeon that has had it with all the crowds and traffic generated by le Tour de France. You set out to disrupt the last two minutes of the bicycle race the only way you know how–by pooping all over the place! Cause massive pileups [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/Turd-de-France-Title.png"><img class="alignnone size-full wp-image-805" title="Play le Turd de France" src="http://hybridmind.com/wp-content/uploads/2011/07/Turd-de-France-Title.png" alt="Play le Turd de France" width="575" height="430" /></a></p>
<p><strong>Game Description:</strong></p>
<p>Angry birds? Try angry pigeon! You play a French pigeon that has had it with all the crowds and traffic generated by le Tour de France. You set out to disrupt the last two minutes of the bicycle race the only way you know how–by pooping all over the place! Cause massive pileups with the power of pigeon poop!</p>
<p><a title="Play le Turd de France" href="http://www.addictinggames.com/action-games/turd-de-france-game.jsp" target="_blank">Play le Turd de France</a>!</p>
<p><strong>Additional Screenshots:</strong></p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/Turd-de-France-MegaPoop.png"><img class="alignnone size-full wp-image-806" title="Mega Poop powerup acquired!" src="http://hybridmind.com/wp-content/uploads/2011/07/Turd-de-France-MegaPoop.png" alt="Mega Poop powerup acquired!" width="576" height="430" /></a></p>
<p><em>Here you have just acquired the Mega Poop powerup!</em></p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/Turd-de-France-MegaPoopUnleashed.png"><img class="alignnone size-full wp-image-807" title="Mega Poop unleashed!" src="http://hybridmind.com/wp-content/uploads/2011/07/Turd-de-France-MegaPoopUnleashed.png" alt="Mega Poop unleashed!" width="576" height="431" /></a></p>
<p><em>Unleashing the fury of the Mega Poop!</em></p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/Turd-de-France-TripleDirectHits.png"><img class="alignnone size-full wp-image-808" title="Scoring triple direct hits!" src="http://hybridmind.com/wp-content/uploads/2011/07/Turd-de-France-TripleDirectHits.png" alt="Scoring triple direct hits!" width="576" height="432" /></a></p>
<p><em>Scoring a sweet triple direct hit! Direct hits increase your multiplier and let you score big.</em></p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/Turd-de-France-RaceEnding.png"><img class="alignnone size-full wp-image-809" title="le Turd de France race is ending!" src="http://hybridmind.com/wp-content/uploads/2011/07/Turd-de-France-RaceEnding.png" alt="le Turd de France race is ending!" width="576" height="432" /></a></p>
<p><em>The race is wrapping up! I&#8217;m pretty sure you made your point with the bicyclists&#8230;</em></p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/Turd-de-France-GameOver.png"><img class="alignnone size-full wp-image-810" title="Game over screen with many race stats" src="http://hybridmind.com/wp-content/uploads/2011/07/Turd-de-France-GameOver.png" alt="Game over screen with many race stats" width="576" height="431" /></a></p>
<p><em>The race has finished! Here you can review all those critical race stats.</em></p>
<p><strong>Background:</strong></p>
<p>This game was a very silly collaboration I did together with fellow game designer Joshua A.C. Newman of <a title="The glyphress website" href="http://glyphpress.com" target="_blank">the glyphpress</a>. It was inspired by his friend Judith Shaw who got pooped on by a pigeon while riding her bicycle. Joshua is an avid bicyclist and he contacted me to see if I wanted to help bring that incident to life as a video game.</p>
<p>We thought basing it around le Tour de France would be a funny way to provide a setting with plenty of opportunity for humor.</p>
<p>Of technical interest would be the fact that the peloton of bicycle racers is controlled by a heavily customized version of <a title="Boid's flocking algorithm" href="http://en.wikipedia.org/wiki/Boids" target="_blank">Boid&#8217;s flocking algorithm</a>. Each biker dodges the poop splats on the ground as well as the road edges and the other bikers&#8211;all the while trying to reach a target point toward the right of the screen. I also added a 5-state internal bicyclist model that controls their stamina and energy and allows them to try to reach the front of the peleton before tiring out and drifting to the back of the pack.  It took a few days of heavy playtesting to tune the flock algorithm just right to make it fun but it is so great to watch that the intense effort was well worth it!</p>
<p>Give it a play over at <a title="Play le Turd de France" href="http://www.addictinggames.com/action-games/turd-de-france-game.jsp" target="_blank">AddictingGames</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/turd-de-france-new-flash-game-released/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Royal Wedding Run &#8211; New Flash Game Released</title>
		<link>http://hybridmind.com/games/royal-wedding-run-new-flash-game-released/</link>
		<comments>http://hybridmind.com/games/royal-wedding-run-new-flash-game-released/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 12:00:26 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Game Business]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[addicting]]></category>
		<category><![CDATA[contract]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[kate]]></category>
		<category><![CDATA[middleton]]></category>
		<category><![CDATA[mtv]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[prince]]></category>
		<category><![CDATA[royal]]></category>
		<category><![CDATA[run]]></category>
		<category><![CDATA[viral]]></category>
		<category><![CDATA[wedding]]></category>
		<category><![CDATA[william]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=778</guid>
		<description><![CDATA[Game Description: Good Prince William is to wed the darling Kate this very day. But he is on the other side of town! This simply will not do. Run to meet your bride, ducking old girlfriends and paparazzi on the way. Be sure to grab your princely powerups. Release the Hounds! Additional Screenshots: Here William [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.addictinggames.com/royalweddingrun.html"><img class="alignnone size-full wp-image-796" title="Play Royal Wedding Run" src="http://hybridmind.com/wp-content/uploads/2011/07/RoyalWeddingRunTitle.png" alt="Play Royal Wedding Run" width="557" height="279" /></a></p>
<p><strong>Game Description:</strong></p>
<p>Good Prince William is to wed the darling Kate this very day. But he is on the other side of town! This simply will not do. Run to meet your bride, ducking old girlfriends and paparazzi on the way. Be sure to grab your princely powerups. Release the Hounds!</p>
<p><strong>Additional Screenshots:</strong></p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/RoyalWeddingRunGameplay1.png"><img class="alignnone size-full wp-image-798" title="Royal Wedding Run gameplay " src="http://hybridmind.com/wp-content/uploads/2011/07/RoyalWeddingRunGameplay1.png" alt="Royal Wedding Run gameplay " width="557" height="280" /></a></p>
<p><em>Here William leaps over an ex-girlfriend. He&#8217;ll have to dodge that paparazzi too!</em></p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/07/RoyalWeddingRunGameplay2.png"><img class="alignnone size-full wp-image-799" title="Royal Wedding Run gameplay ending" src="http://hybridmind.com/wp-content/uploads/2011/07/RoyalWeddingRunGameplay2.png" alt="Royal Wedding Run gameplay ending" width="557" height="279" /></a></p>
<p><em>William has reached Kate with 22 seconds to spare. The crowds at Westminster Abbey go wild!</em></p>
<p><strong>Background:</strong></p>
<p><a title="Play Royal Wedding Run" href="http://www.addictinggames.com/royalweddingrun.html" target="_blank">Royal Wedding Run</a> is a viral news game I was contracted by <a title="MTV" href="http://www.mtv.com" target="_blank">MTV</a> to make for their <a title="AddictingGames" href="http://www.addictinggames.com" target="_blank">AddictingGames</a> arcade portal. The news event was the wedding between Prince William and Kate Middleton on April 29th, 2011.  The game is extremely silly and had a lot of humorous voice acting performed by various folks at MTV. I was responsible for the programming of the game and the artist was the talented <a title="Eric Falk's website" href="http://home.earthlink.net/~erhard/" target="_blank">Eric Falk</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/royal-wedding-run-new-flash-game-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Two Thousand Ten and Beyond!</title>
		<link>http://hybridmind.com/life/two-thousand-ten-and-beyond/</link>
		<comments>http://hybridmind.com/life/two-thousand-ten-and-beyond/#comments</comments>
		<pubDate>Sat, 01 Jan 2011 23:40:42 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Game Business]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[armor]]></category>
		<category><![CDATA[avoidal]]></category>
		<category><![CDATA[cheetos]]></category>
		<category><![CDATA[compos]]></category>
		<category><![CDATA[contentric]]></category>
		<category><![CDATA[dare]]></category>
		<category><![CDATA[egp]]></category>
		<category><![CDATA[end]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[frito]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[kongregate]]></category>
		<category><![CDATA[lay]]></category>
		<category><![CDATA[ludum]]></category>
		<category><![CDATA[ludumdare]]></category>
		<category><![CDATA[newgrounds]]></category>
		<category><![CDATA[reaction]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[sponsorship]]></category>
		<category><![CDATA[summary]]></category>
		<category><![CDATA[the]]></category>
		<category><![CDATA[twin]]></category>
		<category><![CDATA[year]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=696</guid>
		<description><![CDATA[Sitting here on the first day of 2011 I found it rewarding to revisit what I was able to accomplish this past year. A year is such a long time that I often forget all the projects that I&#8217;ve worked on. As the year winds down I tend to find myself wishing that I had [...]]]></description>
			<content:encoded><![CDATA[<p>Sitting here on the first day of 2011 I found it rewarding to revisit what I was able to accomplish this past year. A year is such a long time that I often forget all the projects that I&#8217;ve worked on. As the year winds down I tend to find myself wishing that I had managed to finish more games so I was happy to discover that I had published more titles than I thought!</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/01/2010-SummaryHeader.png"><img class="size-full wp-image-697 alignnone" title="5 Games Published in 2010" src="http://hybridmind.com/wp-content/uploads/2011/01/2010-SummaryHeader.png" alt="5 Games Published in 2010" width="550" height="63" /></a></p>
<p><a href="http://robotreaction.com"><img class="alignnone size-full wp-image-698" title="Robot Reaction released for iPhone" src="http://hybridmind.com/wp-content/uploads/2011/01/RobotReaction-iPhone.png" alt="Robot Reaction released for iPhone" width="550" height="326" /></a></p>
<p><a href="http://hybridmind.com/robot-reaction.html">Robot Reaction</a> was one of my Flash games from 2009 that I completely rewrote to work with the Flash CS5 Beta program. I was able to use the iPhone Packager for CS5 to get my first game into the <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=351935021&amp;mt=8">Apple App Store</a>.  It was a great learning experience in old school optimization techniques like bitmap blitting as well as a sobering business look at how hard it can be to make any money in the App Store vs the Flash business space I was familiar with.</p>
<p><strong><a href="http://robotreaction.com">Play Robot Reaction!</a></strong></p>
<p><a href="http://www.kongregate.com/pages/mouth-full-of-happy"><img class="alignnone size-full wp-image-701" title="Mouth Full of Happy" src="http://hybridmind.com/wp-content/uploads/2011/01/MourhFullOfHappy.png" alt="Mouth Full of Happy" width="550" height="317" /></a></p>
<p>While I was out at the <a href="http://www.flashgamingsummit.com/">Flash Gaming Summit</a> and the <a href="http://www.gdconf.com/">Game Developers Conference</a> I got to meet up with the fine folks over at the <a href="http://kongregate.com">Kongregate </a>office in San Francisco to hatch out plans for an advergame for <a href="http://cheetos.com">Cheetos</a> and Frito Lay. It was my first foray into contract advergame work and I had a great time working to create this game.  It was based off of my <a href="http://hybridmind.com/orange-you-glad.html">Orange You Glad</a> game that people at <a href="http://cheetos.com">Cheetos</a> had spotted over on <a href="http://kongregate.com">Kongregate </a>and wanted me to create a custom version with the <a href="http://www.cheetos.com/sort/games/">Cheetos theme</a>.</p>
<p style="text-align: left;"><strong><a href="http://www.kongregate.com/pages/mouth-full-of-happy">Play Mouth Full of Happy!</a></strong></p>
<p><strong><a href="http://hybridmind.com/contentric.html"><img class="alignnone size-full wp-image-702" title="Contentric" src="http://hybridmind.com/wp-content/uploads/2011/01/Contentric.png" alt="Contentric" width="550" height="324" /></a></strong></p>
<p>Feeling a lot of inspiration after my return from the <a href="http://www.gdconf.com/conference/igs.html">Indie Gaming Summit</a> at the <a href="http://www.gdconf.com/">Game Developers Conference</a> I wanted to get more involved in some of the online game competitions that were run monthly over at the <a href="http://experimentalgameplay.com/">Experimental Gameplay Project</a>. <a href="http://hybridmind.com/contentric.html">Contentric </a>was created in a week for the EGP theme of <em><a href="http://experimentalgameplay.com/blog/2010/03/10-seconds/">You Only Have 10 Seconds</a></em> and I was quite happy with the result. I was even more pleased when <a href="http://armorgames.com/play/5823/contentric">Armor Games</a> decided to sponsor it!</p>
<p><strong><a href="http://hybridmind.com/contentric.html">Play Contentric!</a></strong></p>
<p><strong><a href="http://forthetwin.com"><img class="alignnone size-full wp-image-705" title="For The Twin" src="http://hybridmind.com/wp-content/uploads/2011/01/ForTheTwin.png" alt="For The Twin" width="550" height="323" /></a></strong></p>
<p>Next on my hit list was the desire to finally participate in one of the competitions over at the <a href="http://forums.tigsource.com/">TIGSource forums</a>. There was a new month long competition being run with the theme of <em><a href="http://forums.tigsource.com/index.php?board=42.0">A Game By It&#8217;s Cover</a></em> that had a fascinating concept to me. We were to pick a<a href="http://famicase.com/10/index.html"> fake game cartridge</a> whose art inspired us to think up an actual game based on the fake art. <a href="http://forthetwin.com">For The Twin</a> was what I managed to come up with by using this <a href="http://famicase.com/10/softs/22.html">case art</a>.  Besides creating a lot of creepy cute art and backgrounds for the game I also composed seven faux chiptune loops in Reason for the game that came out quite well. The game ended up being sponsored by <a href="http://www.gamesgames.com/game/For-the-Twin.html">Spil Games</a> and was played over <a href="http://playtomic.com/stats/655-for-the-twin">one million times</a> in the first month alone&#8211;a new milestone for me!</p>
<p><strong><a href="http://forthetwin.com">Play For The Twin!</a></strong></p>
<p><strong><a href="http://avoidal.com"><img class="alignnone size-full wp-image-706" title="AVOIDAL" src="http://hybridmind.com/wp-content/uploads/2011/01/AVOIDAL.png" alt="AVOIDAL" width="550" height="328" /></a></strong></p>
<p>The last game I published in 2010 was initially created for the 18th <a href="http://ludumdare.com/compo">Ludum Dare 48hr game competition</a> theme of <em><a href="http://www.ludumdare.com/compo/2010/08/23/avoidal-summary-and-post-mortem/">Enemies as Weapons</a></em> and polished up for the <a href="http://experimentalgameplay.com/blog/2010/08/there-will-be-zero-buttons-in-august/">Experimental Gameplay Project</a> theme of <em><a href="http://experimentalgameplay.com/blog/2010/08/there-will-be-zero-buttons-in-august/">Zero Buttons</a></em>. I went with a retro look and classic arcade gameplay for this challenging avoider collector mouse skills game. I then spent the month of October working on a final version of the game for the <a href="http://www.ludumdare.com/compo/2010/09/22/povs-challenge-make-a-game-sell-1-copy/">Ludum Dare October Challenge</a> to sell a game in a month. <a href="http://www.newgrounds.com/portal/view/552716">Newgrounds</a> ended up sponsoring <a href="http://www.newgrounds.com/portal/view/552716">AVOIDAL</a> and I got to create a bunch of medal achievements that were pretty fun to try and win.</p>
<p><strong><a href="http://avoidal.com">Play AVOIDAL!</a></strong></p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/01/FailureToLaunch.png"><img class="alignnone size-full wp-image-708" title="Failure To Launch" src="http://hybridmind.com/wp-content/uploads/2011/01/FailureToLaunch.png" alt="Failure To Launch" width="550" height="63" /></a></p>
<p>I also found it insightful to take a look at all the games I worked on yet did not manage to publish for one reason or another. Many of these games are still on my todo list for 2011 and will see the light of day eventually.  Digging through my directories I discovered that I had worked on a total of 12 games this year while only publishing 5. I&#8217;m not sure if that is good or bad but it is worth keeping on eye on since I do believe in trying to finish games in order to get the most experience and value from them.</p>
<p>I had attempted to learn an early version of <a href="http://flashpunk.net">Flash Punk</a> and I found it to be a really great Flash game framework. My efforts stalled out though with this<a href="http://hybridmind.com/dodge-game-v03.html"> untitled retro dodge game</a> and I still have to learn the newest version.</p>
<p>I made a game in two hours for one of the crazy <a href="http://www.glorioustrainwrecks.com/node/1250">Glorious Trainwrecks Klik of the Month Klub #35</a> events called <a href="http://hybridmind.com/kotm35.html">Wizards vs Ghosts</a> which I find amusing.  Creating a game in only two hours is truly mind breaking!</p>
<p>I&#8221;m still actively working on a final expanded version of my 2009 Ludum Dare game called <a href="http://hybridmind.com/angry-caverns-ld15.html">Angry Caverns</a> and a 2009 Ludum Dare game called <a href="http://hybridmind.com/fleedom.html">Fleedom</a>. I&#8217;m still developing a pixel art arcade game called <em>Bomb Diver</em> as well as collaborating with another game designer/artist on a ridiculous game about pooping pigeons and bicycles.</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/01/FunGoalsAndMilestones.png"><img class="alignnone size-full wp-image-710" title="Fun Goals And Milestones" src="http://hybridmind.com/wp-content/uploads/2011/01/FunGoalsAndMilestones.png" alt="Fun Goals And Milestones" width="550" height="63" /></a></p>
<p>A few of the random things I am happy about from 2010 include finally getting to go to my first <a href="http://www.gdconf.com/">Game Developers Conference</a> as well as attending the <a href="http://www.flashgamingsummit.com/">Flash Gaming Summit</a> the Sunday before GDC. It was a truly inspiring week spent in San Francisco and I met so many awesome game developers and Flash publishers. I am really looking forward to returning again this year.</p>
<p>Another great milestone was getting a New Hampshire LLC for Hybrid Mind Studios so it is all official and everything.</p>
<p>On the competition side of things I managed to host my first <a href="http://www.ludumdare.com/compo/2010/02/16/mini-ld-16-teaser-constraints/">Mini Ludum Dare</a> event around the theme of <a href="http://hybridmind.com/mini-ld16-info.png">Constraints</a> which I felt had a <a href="http://www.ludumdare.com/compo/minild-16/?action=preview">great turnout of submitted games</a> and was fairly well received by the community. My game <a href="http://hybridmind.com/alien-flight-academy-minild16.html">Alien Flight Academy &#8211; Graduation Day</a> was the result of that competition. A bizarre experiment in alternate keyboard controls.</p>
<p>As I mentioned previously I finally had a Flash game break the one million views mark. It was a simple milestone I had looked forward to finally achieving.  2010 marks my second full year releasing Flash games and it is so amazing to look back at my first Flash game <a href="http://hybridmind.com/turnstyle.html">TurnStyle </a>which was released in Feb of 2009 and only ever got about 150k plays total and compare that to my more recent games that reach millions. That fact just continues to floor me. I never dreamed that I might be able to reach such a large audience with my games, art, and music! The Flash game space offers game designers an amazing distribution opportunity that I find very inspiring, humbling, and flattering all at the same time. I look forward to trying to reach more and more people as I improve my craft.</p>
<p>Determined to get more involved in the local game development community around Boston I started attending monthly <a href="http://www.bostonpostmortem.org/">Boston Indies</a> meetups and the local <a href="http://www.bostongameloop.com/">Boston Game Loop</a> conference. I even started up a weekly game development co-work meetup down in Cambridge, MA at <a href="http://thesprouts.org/">Sprout</a> for three months to help myself meet other area game developers. It&#8217;s been great getting to know so many fine people in my neck of the woods.</p>
<p>Along the same lines as getting involved more locally&#8211;near the end of 2010 I had the good opportunity to take part in my first team game jam too! I was at a <a href="http://bostongamejams.com/">Boston Game Jam</a> event called <a href="http://bostongamejams.com/game-jams/lunar-jam/">Lunar Jam</a> and I helped out primarily as the artist doing many black and white illustrations for a choose your own adventure type visual novel game called <a href="http://www.perchancetodreamgame.com/">Perchance to Dream</a> that is still in development.</p>
<p>I&#8217;ve managed to work with great portals like <a href="http://armorgames.com">Armor Games</a>, <a href="http://bigfishgames.com">Big Fish Games</a>, <a href="http://newgrounds.com">Newgrounds</a>, <a href="http://kongregate.com">Kongregate</a>, <a href="http://king.com">King</a>, <a href="http://spilgames.com">Spil</a>, <a href="http://addictinggames.com">Addicting Games</a> and many others. Each new relationship I establish helps me to feel more comfortable that I&#8217;ll be able to continue doing independent game development full time&#8211;my childhood dream!</p>
<p><a href="http://hybridmind.com/wp-content/uploads/2011/01/MovingForward.png"><img class="alignnone size-full wp-image-711" title="Moving Forward" src="http://hybridmind.com/wp-content/uploads/2011/01/MovingForward.png" alt="Moving Forward" width="550" height="63" /></a></p>
<p>Looking at what I have planned for 2011 is pretty exciting to me. There are many games I&#8217;ve been working on that are nearing completion that I can&#8217;t wait to publish to see what the players think. I also want to collaborate more with other game designers, artists, musicians, and programmers. I plan to keep attending conferences like the <a href="http://www.flashgamingsummit.com/">Flash Gaming Summit</a> and the <a href="http://www.gdconf.com/">Game Developers Conference</a> as well as other regional and local events. I hope to keep learning new technologies, skills, and game design techniques. I look forward to building my relationships with other game developers. I have so many game ideas that the lists are growing out of control. I hope I can manage to stay focused and driven enough to get even a tenth of these new ideas out. I can&#8217;t wait to see what 2011 holds for myself as well as the other game developers out there.</p>
<p>Bring on the games!</p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/life/two-thousand-ten-and-beyond/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What Games Mean To Me</title>
		<link>http://hybridmind.com/life/what-games-mean-to-me/</link>
		<comments>http://hybridmind.com/life/what-games-mean-to-me/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 21:24:37 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[meaning]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[videogames]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=607</guid>
		<description><![CDATA[Before I can really talk about what games mean to me I think it is important to provide a brief amount of background on where I am coming from on this personal subject. I began developing a love for both drawing and programming as a young child and have spent countless enjoyable and priceless hours [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-608 alignleft" style="margin-left: 10px; margin-right: 10px;" title="What Games Mean To Me" src="http://hybridmind.com/wp-content/uploads/2010/08/what-games-mean-to-me.png" alt="What Games Mean To Me" width="250" height="250" /></p>
<p>Before I can really talk about what games mean to me I think it is important to provide a brief amount of background on where I am coming from on this personal subject.</p>
<p>I began developing a love for both drawing and programming as a young child and have spent countless enjoyable and priceless hours on those activities over the years. I caught the art bug bad in the late 70s after encountering Speed Racer on TV and the first Star Wars movie.</p>
<p>I filled page after page in my father’s art journals with little car race and space battle scenes. I remember him taking a lot of time showing me how to draw and even how to do flip book animations on the corners of the journal pages.</p>
<p>Even before we had a home computer my parents started sending me to Radio Shack computer camps at age six for programming in LOGO where I would get very familiar with that friendly drawing turtle and pen up and pen down. Then when I was about eight years old my parents got our first home computer. It was a TRS-80 but we only had it for <em>one night&#8211;</em>the salesman from Radio Shack called back to say they had received something better and wanted to know if my father wanted to upgrade.</p>
<p><span id="more-607"></span></p>
<p>That is how I ended up with a Tandy 1000 and a great book on BASIC by David A. Lien.  I will never forget noticing the author&#8217;s middle initial and last name could form the word <em>Alien</em> and would always wonder if that was a joke or not. I would use that book on BASIC along with numerous Mother-chaperoned trips to the Public Library to spend all my free time filling floppy disks with hundreds of BASIC computer games.</p>
<p>This dual exposure at a young age to both art and computers ended up having a very lasting effect on me. I have equally split my time between science and art related pursuits. I remember piling on the art and math classes in high school and always being frustrated at how both subject tracks wanted to exclude access from the other. Teachers always wanted you to pick your path. They couldn&#8217;t seem to comprehend why you would want to do both. This made no sense to me. I&#8217;ve always seen art in science and science in art.</p>
<p>I have attended four different colleges trying to get degrees first in Illustration and Painting, then Film, then Psychology, and lastly Computer Engineering. I always did well in college but would eventually get too impatient with what I felt was a slow pace and drop out to pursue various self-employment opportunities either by myself or with other like minded people I’d meet in college.  I still have no degree but it hasn’t really slowed me down any. I have been self-employed full time for over ten years now even though the types of businesses may have varied.</p>
<p>I feel this background I&#8217;ve shared critically relates to what video games have come to mean to me. I believe the frustration I found when I was younger in having to pick between either “being an artist” or “being a scientist” drove me mad. I didn’t understand why someone couldn’t be interested in both.  I eventually decided to stop trying to pick and realized that I just love learning about anything that interests me.</p>
<p>It wasn’t until the past two or three years that it finally dawned on me that the only career and passion of mine that has existed since I was a child and that could encompass everything I was interested in was video games.</p>
<p>I believe you can make a video game about <em>anything at all</em> and it can utilize aspects from <em>every art form yet created by humanity</em>. This realization absolutely blows my mind with excitment.</p>
<p>I love creating the art, the sound effects, the music, the game mechanics, solving the math problems, engineering the software, writing story or dialogue if applicable&#8211;the list is endless as to what a game can contain. This inspires me beyond anything I have yet found in my life so far to create and I’m quite thrilled as to the possibilities that await people in general for both what games will continue to teach us and where they yet have to go as a medium.</p>
<p>All this debate I&#8217;ve witnessed over the past few years as to whether video games can be art or not makes no sense to me at all.</p>
<p>I am a person that truly believes a life well lived can be art.</p>
<p>Life is art.</p>
<p>Games can be art.</p>
<p>This is what games mean to me.</p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/life/what-games-mean-to-me/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Games In The Pipeline</title>
		<link>http://hybridmind.com/games/games-in-the-pipeline/</link>
		<comments>http://hybridmind.com/games/games-in-the-pipeline/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 20:52:43 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Game Business]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[cheetos]]></category>
		<category><![CDATA[fgl]]></category>
		<category><![CDATA[finish]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[kongregate]]></category>
		<category><![CDATA[pipeline]]></category>
		<category><![CDATA[preview]]></category>
		<category><![CDATA[spilgames]]></category>
		<category><![CDATA[sponsorship]]></category>
		<category><![CDATA[teaser]]></category>
		<category><![CDATA[unreleased]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=588</guid>
		<description><![CDATA[Just wanted to post a fun image I assembled from seven different games I&#8217;m working on releasing still. The top of the image which contains the aliens in the mushroom landscape is from For The Twin&#8211;a game that I&#8217;ve finished for the &#8220;A Game By It&#8217;s Cover&#8221; Competition over at TIGSource and which will be released in September [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-589" title="A mosaic of screenshots from unreleased games I'm working on" src="http://hybridmind.com/wp-content/uploads/2010/08/unreleased-mosaic.png" alt="A mosaic of screenshots from unreleased games I'm working on" width="504" height="1054" /></p>
<p>Just wanted to post a fun image I assembled from seven different games I&#8217;m working on releasing still. The top of the image which contains the aliens in the mushroom landscape is from <em>For The Twin</em>&#8211;a game that I&#8217;ve finished for the <a href="http://forums.tigsource.com/index.php?board=42.0" target="_blank">&#8220;A Game By It&#8217;s Cover&#8221; Competition</a> over at <a href="http://forums.tigsource.com" target="_blank">TIGSource</a> and which will be released in September or sooner now that it has found a primary sponsorship from <a href="http://www.spilgames.com" target="_blank">Spil Games</a>.</p>
<p>The rest of the images are from unreleased games that I&#8217;m still working on. They are roughly listed in the order I expect to complete them though that could change a little bit of course.</p>
<p><span id="more-588"></span></p>
<p>They are all between 50-80% finished though and I am not going to work on any new game projects until I clear out my backlog!  This of course doesn&#8217;t mean I won&#8217;t be participating in August&#8217;s <a href="http://ludumdare.com/compo" target="_blank">Ludum Dare</a> 48 hour game competition&#8211;I wouldn&#8217;t miss that for anything especially since I couldn&#8217;t attend the one in April.</p>
<p>I also will continue to complete my contract game projects like the one I recently finished up for <a href="http://www.kongregate.com" target="_blank">Kongregate</a> and <a href="http://cheetos.com" target="_blank">Cheetos</a> called <a href="http://www.kongregate.com/pages/mouth-full-of-happy" target="_blank"><em>Mouth Full of Happy</em></a>.</p>
<p>A big reason for wanting to knock these game projects out is that this year I&#8217;ve only officially released two games so far compared to the six I released in 2009.  It&#8217;s not that I haven&#8217;t been working on as many games it is just that I have not finished as many. I believe in the importance of <a href="http://chrishecker.com/Please_Finish_Your_Game" target="_blank">finishing your games</a> and I fully intend to.</p>
<p>I also believe in the gameplay and the sponsorship potential of all the games above so I need to finish them off and get them over to <a href="http://flashgamelicense.com" target="_blank">Flash Game License</a> for bidding before the year ends. That is the plan anyway&#8211;wish me luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/games-in-the-pipeline/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Contentric &#8211; New Flash Game Released</title>
		<link>http://hybridmind.com/games/contentric-new-flash-game-released/</link>
		<comments>http://hybridmind.com/games/contentric-new-flash-game-released/#comments</comments>
		<pubDate>Sat, 15 May 2010 02:55:07 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[armor]]></category>
		<category><![CDATA[avoider]]></category>
		<category><![CDATA[contentric]]></category>
		<category><![CDATA[egp]]></category>
		<category><![CDATA[experimental]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gameplay]]></category>
		<category><![CDATA[launch]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[trailer]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=556</guid>
		<description><![CDATA[I participated in the March 2010 Experimental Gameplay Project&#8217;s theme of You Only Have 10 Seconds and Contentric was the result: The main concept is that the player&#8217;s actions effect the movement of the blocks to be avoided. This in essence makes the player their own worst enemy. I was experimenting around with nested spring [...]]]></description>
			<content:encoded><![CDATA[<p>I participated in the March 2010 <a href="http://experimentalgameplay.com">Experimental Gameplay Project&#8217;s</a> theme of <a href="http://experimentalgameplay.com/blog/2010/03/best-of-the-net-10-seconds/">You Only Have 10 Seconds</a> and <a href="http://hybridmind.com/contentric.html">Contentric</a> was the result:</p>
<p><a href="http://hybridmind.com/contentric.html"><img class="size-full wp-image-558 alignnone" title="Contentric" src="http://hybridmind.com/wp-content/uploads/2010/05/contentric-screenshot.png" alt="Contentric" width="500" height="406" /></a></p>
<p>The main concept is that the player&#8217;s actions effect the movement of the blocks to be avoided. This in essence makes the player their own worst enemy. I was experimenting around with nested spring feedback systems and this concept of player as AI when I stumbled upon a fun and playable prototype that went on to become this game.</p>
<p>I spent about 7 days developing the version I submitted to the <a href="http://experimentalgameplay.com">Experimental Gameplay Project</a> website and then I worked for a bit longer polishing it up to get it ready to seek sponsorship.  I&#8217;m happy to report that <a href="http://armorgames.com">Armor Games</a> picked up the primary sponsorship on it and <a href="http://armorgames.com/play/5823/contentric">Contentric</a> officially launched yesterday!</p>
<p><span id="more-556"></span></p>
<p>It was great to work with Dan from Armor Games and I definitely recommend them to any other flash developers out there who are looking for a good sponsor.</p>
<p>I&#8217;m really quite happy with how this game came together.  I was able to get a ton of playtesting feedback early on which really helped me perfect the gameplay to where I wanted it.  I also got to write the music for the game which people seem to be enjoying as well so that is always a treat.</p>
<p>Here is a gameplay trailer I put together with some rough edits that show me getting a little over 13,000 points.</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/49R2nmdRbgc&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x2b405b&amp;color2=0x6b8ab6" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/49R2nmdRbgc&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x2b405b&amp;color2=0x6b8ab6" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>As usual I welcome any feedback positive or negative and would love to hear from you.</p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/contentric-new-flash-game-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>64 Important Games From Video Game History</title>
		<link>http://hybridmind.com/games/64-important-games-from-video-game-history/</link>
		<comments>http://hybridmind.com/games/64-important-games-from-video-game-history/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 00:13:32 +0000</pubDate>
		<dc:creator>Dave "HybridMind" Evans</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[bushnell]]></category>
		<category><![CDATA[historical]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[jeremy]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[teaching]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[videogame]]></category>

		<guid isPermaLink="false">http://hybridmind.com/?p=510</guid>
		<description><![CDATA[I&#8217;ve spent some time over the last week helping my good friend and fellow game designer Jeremy P Bushnell compile a list of historically important video games. Jeremy has been teaching a Writing course at Boston University on the topic of &#8220;Playing Games: How Video Games Work and What They Mean.&#8221; In his discussions with [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-512" style="margin-right: 10px;" title="Spacewar 1961" src="http://hybridmind.com/wp-content/uploads/2009/10/Spacewar_web.jpg" alt="Spacewar 1961" width="300" height="300" /></p>
<p>I&#8217;ve spent some time over the last week helping my good friend and fellow game designer Jeremy P Bushnell compile a <a href="http://www.imaginaryyear.com/raccoon/2009/10/64-important-games-from-video-game.html" target="_blank">list of historically important video games</a>.</p>
<p>Jeremy has been teaching  a Writing course at Boston University on the topic of &#8220;Playing Games: How Video Games Work and What They Mean.&#8221;</p>
<p>In his discussions  with the students about the concept of <em>historical analysis</em>: analyzing video games based on how they &#8220;fit&#8221; into the context of a developing timeline of games, he had a chance to create an initial list of about 40 games.</p>
<p>This list was then passed around between our friends and associates as well as being shared with his two classes of about forty students total.  Jeremy encouraged his students to confront and challenge the games on this list as well as suggest ones they felt should be included.  They even got to write persuasive papers as an assignment to get a game included on the list.  If the argument was convincing enough they even received some extra credit for making the list.</p>
<p>Jeremy and I discussed some of the more convincing papers and kicked our thoughts back and forth on what made these games historically significant. It was a lot of fun and very interesting to get to consider where  videos games have come from (with <em>Spacewar</em> in 1961) up through to the present day.  It was a challenge to pick games not for being <em>good</em> or <em>popular</em> necessarily but for their historical significance.</p>
<p><span id="more-510"></span></p>
<p>The finished list (reposted with permission) now stands at 64 chronological games (a nice power of 2) and includes justifications for why each game was included:</p>
<ol><strong>64 Important Games From Video Game History</strong> <span>version 2.0<br />
</span></p>
<li>1961     <em> Spacewar</em>, first digital game / first shooter / first two-player game</li>
<li>1971     <em> Oregon Trail</em>, landmark educational game (designed in 1971, produced in 1974, re-released in 1985, 1992, 2001, 2008, and 2009)</li>
<li>1972     <em> Pong</em>, first commercially-successful arcade game / first sports simulation, also first digital game released for the home market (1975)</li>
<li>1974     <em> Gran Trak 10</em>, first racing game</li>
<li>1976     <em> [Colossal Cave] Adventure</em>, first adventure game</li>
<li>1976     <em> Breakout</em>, landmark arcade game</li>
<li>1977     <em> Night Racer</em>, first first-person racing game</li>
<li>1978     <em> Space Invaders</em>, first commercially-successful shoot-em-up (160,000 copies sold)</li>
<li>1978     <em> Atari Football</em>, landmark sports simulation game</li>
<li>1979     <em> Asteroids</em>, landmark shoot-em-up</li>
<li>1979     <em> Adventure</em>, first action-adventure game</li>
<li>1980     <em> Zork</em>, landmark text adventure game</li>
<li>1980     <em> Space Panic</em>, first platformer</li>
<li>1980     <em> Pac-Man</em>, landmark arcade game (350,000 units sold)</li>
<li>1980     <em> Rogue</em>, early graphical adventure game</li>
<li>1981     <em> Donkey Kong</em>, landmark platformer (60,000 units sold), also the first game to tell a complete (embedded) narrative</li>
<li>1982     <em> Pole Position</em>, landmark racing game</li>
<li>1983     <em> Intellivision World Series Baseball</em>, first 3-D sports simulation, also the first sports simulation to use multiple camera angles to emphasize action</li>
<li>1983     <em> Ultima III</em>, landmark PC role-playing game</li>
<li>1983     <em> Lode Runner</em>, landmark platformer, plus an early game permitting the creation of user-generated levels</li>
<li>1983     <em> Pinball Construction Set</em>, an early game permitting the creation of user-generated content</li>
<li>1984     <em> Tetris</em>, landmark abstract puzzle game</li>
<li>1985     <em> Gauntlet</em>, landmark multi-player game</li>
<li>1985     <em> Super Mario Bros.</em>, landmark 2-D side-scrolling platformer (forty million copies sold)</li>
<li>1986     <em> Air Warrior</em>, first multi-player online game with graphics</li>
<li>1987     <em> Earl Weaver Baseball</em>, landmark sports simulation</li>
<li>1987-8              <em>Street Fighter / Street Fighter II</em>, landmark one-on-one competitive fighting games</li>
<li>1987     <em> The Legend of Zelda</em>, landmark adventure game, also the first home cartridge to permit saving, also a good early example of a game which permitted non-linear play</li>
<li>1989     <em> SimCity</em>, landmark developer simulation</li>
<li>1990     <em> Microsoft Solitaire</em>, landmark casual game</li>
<li>1990     <em> Minesweeper</em>, landmark casual / puzzle game</li>
<li>1990     <em> John Madden Football</em>, landmark sports simulation</li>
<li>1991     <em> Civilization</em>, landmark turn-based strategy game</li>
<li>1991     <em> Neverwinter Nights</em>, first multi-player online role-playing game to display graphics</li>
<li>1991     <em> Final Fantasy IV</em>, landmark console role-playing game</li>
<li>1991     <em> Myst</em>, landmark adventure game (six million copies sold)</li>
<li>1992     <em> Wolfenstein 3-D</em>, first commercially-successful first-person shooter</li>
<li>1992     <em> Mortal Kombat</em>, landmark fighting game</li>
<li>1992     <em> The Incredible Machine</em>, early physics game</li>
<li>1992     <em> Dune II</em>, first real-time strategy game</li>
<li>1993     <em> Doom</em>, landmark first-person shooter, also a good early example of an open-source game</li>
<li>1995     <em> Command and Conquer</em>, landmark real-time strategy game</li>
<li>1996     <em> Quake</em>, landmark first-person shooter, also a good early example of a game utilizing an online multiplayer mode</li>
<li>1996     <em> Super Mario 64</em>, landmark 3-D platformer (eleven million copies sold)</li>
<li>1996     <em> Resident Evil</em>, first survival horror game</li>
<li>1996-8             <em> Pokemon Red / Pokemon Blue</em>, landmark RPG (eight million copies sold), also a good early example of a game with innovative multiplayer mechanics</li>
<li>1997     <em> Lego Island</em>, first open-world game</li>
<li>1997     <em> Ultima Online</em>, landmark multi-player online role-playing game (250,000 subscribers)</li>
<li>1998     <em> Dance Dance Revolution</em>, landmark rhythm game / exercise game</li>
<li>1998     <em> Half-Life</em>, landmark first-person shooter (eight million copies sold), also a landmark example of an open-source game</li>
<li>1998     <em> Tom Clancy’s Rainbow Six</em>, first commercially-successful tactical shooter</li>
<li>1998     <em> Metal Gear Solid</em>, first commercially-successful stealth game</li>
<li>1998     <em> Starcraft</em>, landmark real-time strategy game</li>
<li>1999     <em> Tony Hawk&#8217;s Pro Skater</em>, landmark extreme sports simulation</li>
<li>1999-2000        <em>Counter-Strike</em>, landmark mod, also a game making central use of online multiplayer technology</li>
<li>2001     <em> Bejeweled</em>, landmark puzzle / casual game</li>
<li>2001     <em> Gran Turismo 3</em>, landmark racing game</li>
<li>2001     <em> Grand Theft Auto III</em>, landmark open-world game</li>
<li>2002     <em> The Sims</em>, landmark life-simulation game (sixteen million copies sold), plus a game making central use of user-generated content</li>
<li>2003     <em> Diner Dash</em>, landmark time-management game</li>
<li>2004     <em> Halo 2</em>, landmark in online console gaming (four million subscribers)</li>
<li>2004     <em> World of Warcraft</em>, landmark multi-player online role-playing game (over eleven million subscribers)</li>
<li>2005     <em> Guitar Hero</em>, landmark rhythm game</li>
<li>2006     <em> Wii Sports</em>, landmark sports simulation (forty-five million copies sold)</li>
</ol>
<p>Your comments and arguments are welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://hybridmind.com/games/64-important-games-from-video-game-history/feed/</wfw:commentRss>
		<slash:comments>9</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>
	</channel>
</rss>

