<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>My adventures as an Indie Game Developer. Art, Game Design, and maybe some Programming.</description><title>Tumbling Widgets</title><generator>Tumblr (3.0; @fidgetwidget)</generator><link>http://fidgetwidget.tumblr.com/</link><item><title>Why I love my WiiU (part 1)</title><description>&lt;p&gt;There has been a lot of bad press around Nintendo as of late. It feels like everyone thinks they could run the company better, and are seemingly baffled by the decisions they have made these past 2 years.&lt;/p&gt;
&lt;p&gt;&amp;#8220;Nintendo should do what Sega did, and get out of the console business&amp;#8221;, or &amp;#8220;Mario on the iPhone would sell a million copies&amp;#8221;&amp;#8230; and my personal favorite &amp;#8220;Virtual Console should be a subscription service&amp;#8221;.&lt;/p&gt;
&lt;p&gt;With all of this bad press, and back seat CEO-ing going on, I figured I would write a few posts about all the things I think Nintendo is doing right, and why I love my WiiU. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Preamble:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It should be known that I was a Sega fanboy for a very long time and thought the Neogeo Pocket was better than the gameboy color. I also really enjoyed the Demolition man game on the 3D0, thought the Saturn was awesome, and loved my Gamecube.  &lt;/p&gt;
&lt;p&gt;I didn&amp;#8217;t always pick the winners.&lt;/p&gt;
&lt;p&gt;However, I also loved my SNES (eventually trading my Genesis for one), the PSOne (I even got the tiny white one a few years after getting my first PS2) and PS2. I still have an Xbox360, and up until a few years ago, didn&amp;#8217;t even own the Wii. &lt;/p&gt;
&lt;p&gt;I enjoy games, and gaming. Not just games on one particular platform&amp;#8230;&lt;/p&gt;
&lt;p&gt;So, I love my WiiU as a part of that.&lt;/p&gt;
&lt;p&gt;But for some reason, the WiiU is different for me right now. It&amp;#8217;s closer to when I was a Dreamcast supporter than when I finally got a PS2&amp;#8230; and it might have something to do with all of the negativity that surrounds it right now. It feels a little like the underdog.&lt;/p&gt;
&lt;p&gt;Now don&amp;#8217;t get me wrong, I think the PS4 sounds cool, and I am going to watch the next Xbox announcement live (or listen to it live at least&amp;#8230; I do have work to do). But something about what the WiiU is doing appeals to me more.&lt;/p&gt;
&lt;p&gt;Nintendo thinks about gaming differently. For them, in some respects, it is more like a toy. But I don&amp;#8217;t think it&amp;#8217;s in the way that cheapens it, rather it&amp;#8217;s in a way that clarifies it&amp;#8217;s purpose in your living room. Nintendo games are about play. &lt;/p&gt;
&lt;p&gt;Ok, maybe that last bit is drinking the coolaid a little too much. But compared to the dashboard of the Xbox, the Plaza presents a clear message - &amp;#8220;This console is about having fun and playing games&amp;#8221;.&lt;/p&gt;
&lt;p&gt;When I turn on my WiiU, I&amp;#8217;ll often just read what people posted on the MiiVerse for a while before I play. I recognize that it&amp;#8217;s basically advertising for the selection of games/apps they have chosen to highlight&amp;#8230; but it doesn&amp;#8217;t feel like slick marketing, it feels like reading my twitter feed. &lt;span&gt;I&amp;#8217;ll even turn on my WiiU JUST to check out the MiiVerse&amp;#8230; something I NEVER did with my Xbox (Xbox Live is a far less social experience).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Now that last point does point out that the critics are right about one thing&amp;#8230; there aren&amp;#8217;t a ton of great games for it yet. When you compare that to the thousands of apps released every day on iOS, or the library of titles for the PS3 and Xbox360, choice is limited.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Some of the games coming soon to PS3 and 360 aren&amp;#8217;t coming to WiiU (and that&amp;#8217;s frustrating, because I would prefer to play those games on the WiiU now)&amp;#8230; but NONE of the Nintendo games are going to be on those other platforms. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Lego City is a BLAST to play (so much so, I don&amp;#8217;t think my Wife has stopped playing it since it came out). New Super Mario Bros U is a GREAT platformer, and a fun multiplayer game too! I am also having a lot of fun playing &lt;/span&gt;Assassins&lt;span&gt; Creed 3 (having not already played it elsewhere), and jumping back into ZombiU - though I am not sure I make much progress playing in short bursts with that game.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;And there are more games coming&amp;#8230;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;That&amp;#8217;s all I am going to say for now. I will write more on why playing Online on the WiiU is more fun, why backwards &lt;/span&gt;compatibility matters, and how an ever growing collection of games from my past to play has made the WiiU my favorite console since it launched.&lt;span&gt; &lt;/span&gt;&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/50767831498</link><guid>http://fidgetwidget.tumblr.com/post/50767831498</guid><pubDate>Sat, 18 May 2013 16:36:00 -0700</pubDate><category>WiiU</category><category>Nintendo</category><category>Why I Love My WiiU</category></item><item><title>I’ve decided to start sharing some more on my blog -...</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/xmpYnxlEh0c?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;I’ve decided to start sharing some more on my blog - things that I am inspired by - things that move me. &lt;/p&gt;
&lt;p&gt;Here is another:&lt;/p&gt;
&lt;p&gt;THIS IS WATER (by &lt;a href="http://www.youtube.com/watch?v=xmpYnxlEh0c&amp;feature=share" target="_blank"&gt;SeeTheGlossary&lt;/a&gt;)&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/49992860244</link><guid>http://fidgetwidget.tumblr.com/post/49992860244</guid><pubDate>Wed, 08 May 2013 21:47:45 -0700</pubDate></item><item><title>Photo</title><description>&lt;img src="http://24.media.tumblr.com/83a2c87e785c342df701094c5b98e7c7/tumblr_ml1rhhXQce1s3yhlgo1_500.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;&lt;img src="http://24.media.tumblr.com/b3f74d0cd935a34e6c150755b93f84d1/tumblr_ml1rhhXQce1s3yhlgo2_500.jpg"/&gt;&lt;br/&gt; &lt;br/&gt;</description><link>http://fidgetwidget.tumblr.com/post/49813513373</link><guid>http://fidgetwidget.tumblr.com/post/49813513373</guid><pubDate>Mon, 06 May 2013 17:13:10 -0700</pubDate></item><item><title>I made it anyways...</title><description>&lt;p&gt;It&amp;#8217;s Brick Breaker (of sorts)&amp;#8230; and it took about 4 hours to make (and 3 more to debug issues with my collision system).&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s SUPER basic, but as an exercise it helped point out a number of flaws in several different classes in my collision system. It&amp;#8217;s also a great motivator to have a playable experience after only a few short hours (even if it was busted for a good while after that).&lt;/p&gt;
&lt;p&gt;Now to get back to making that platforming demo I was talking about last post&amp;#8230;&lt;/p&gt;

&lt;p&gt;&lt;object height="512" width="512"&gt;&lt;param name="movie" value="http://fidgetwidget.ca/stuff/BrickBreaker.swf"&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;Pressing &amp;#8220;Space&amp;#8221; will reset the paddle and ball, while pressing &amp;#8220;R&amp;#8221; will reset the Grid of Bricks as well.&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/49317393079</link><guid>http://fidgetwidget.tumblr.com/post/49317393079</guid><pubDate>Tue, 30 Apr 2013 17:25:00 -0700</pubDate><category>gamedev</category><category>enginedemos</category><category>progress</category></item><item><title>I have an ambition problem...</title><description>&lt;p&gt;So I decided to move ahead and work on making a quick and simple platformer demo using the engine I&amp;#8217;ve been working on. It meant I would have to add a few new features, and work on changing the way I render entities to make doing animation easy, and flexible.&lt;/p&gt;
&lt;p&gt;These were all things I wanted to add to it anyways, and this way I would have a clear goal in mind when I work on them with a playable outcome at the end of it.&lt;/p&gt;
&lt;p&gt;So I abstracted out the entity rendering, making it easy to change the way entities are rendered from project to project, started work on extending the nme tilesheet to make adding animations easy&amp;#8230; and then my ambition got in the way.&lt;/p&gt;
&lt;p&gt;&amp;#8230;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve been playing &lt;a href="http://siegegames.com/crea/" target="_blank"&gt;Crea&lt;/a&gt;&amp;#8217;s beta (being a beta level backer of their kickstarter project), and it very quickly took my back to an old XNA project I had played around with before the computer at the time died (&amp;#8230;and I lost 8 months of work - which is why I now work out of drop box, and do weekly uploads to a source control).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://o.twimg.com/1/proxy.jpg?t=FQQVBBgpaHR0cHM6Ly90d2l0cGljLmNvbS9zaG93L2xhcmdlLzVud3NuYS5qcGcUBBYAEgA&amp;amp;s=APn_G-Rajra0AwuqvU_wtxA_rF-33Prxj_87wWVYkiA"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I had made a fair bit of progress on it back then, and playing Crea had me want to explore that space again.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8230;&lt;/p&gt;
&lt;p&gt;So, instead of getting that simple platformer demo done, I started work on a really cool tile world that uses bitmap data to save the world state, and load/unload chunks of the world at a time.&lt;/p&gt;
&lt;p&gt;This means there is no way the platformer demo will be done by the end of the month as I had hoped, and it&amp;#8217;s all because I want to do something cooler, and a LOT more ambitious. &lt;/p&gt;
&lt;p&gt;Hopefully it all works out in the end, and I will have that platformer demo done for next month, only the world will be a little more complex and interesting.&lt;/p&gt;
&lt;p&gt;That is&amp;#8230; if I can keep my ambition at bay!&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/48757941447</link><guid>http://fidgetwidget.tumblr.com/post/48757941447</guid><pubDate>Tue, 23 Apr 2013 22:50:48 -0700</pubDate><category>gamedev</category><category>terraria</category></item><item><title>Playing with cameras</title><description>&lt;p&gt;Continuing to make sure the engine features I need for my current project are done, I decided to work on the camera.&lt;/p&gt;
&lt;p&gt;Camera&amp;#8217;s or Viewports in 2D games are an easy way to manage scrolling, rotating and scaling/zooming of the stuff you see in a 2D game. While the earliest of games tended to stick to a single screen for gameplay (changing what was displayed only when a level changed, or for the title and game over screens), the majority of 2D games don&amp;#8217;t have a fixed perspective, and thus require at the very least a scrolling world.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Now, the feature I want most for my game camera will require I change my rendering system a fair bit (otherwise the distance between objects won&amp;#8217;t change as the assets scale) to create a working zoom effect, I did manage to get some other things done. Moving the camera, drawing only what is in view of the camera (using either a simple grid or the quad tree for spacial indexing) and a &amp;#8220;few&amp;#8221; of the following options are all done.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;object height="514" width="514"&gt;&lt;param name="movie" value="http://fidgetwidget.ca/stuff/CameraTest.swf"&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;You can click and drag the world (when you are not clicking on the blue player). By hitting the &amp;#8220;F&amp;#8221; key, you toggle the &amp;#8220;follow&amp;#8221; state for the camera (following the player). By default, its set to Fixed_Follow, meaning that the camera will stay on the player, with no easing at all. If you press 1, 2, or 3, you will cycle between &amp;#8220;Fixed&amp;#8221;, &amp;#8220;Close&amp;#8221;, and &amp;#8220;Loose&amp;#8221; follow, but you&amp;#8217;ll only notice this if you are in the &amp;#8220;follow&amp;#8221; state.&lt;br/&gt;Also, hitting the space bar will reset the camera back to the center of the world.&lt;/p&gt;
&lt;p&gt;UPDATE: I didn&amp;#8217;t want to show this before, because the drawing order isn&amp;#8217;t set up to have things in the background draw behind things in the foreground&amp;#8230; yet. But the visual effect is so interesting, I figured I should just say up front that the issue is known, and will be fixed.&lt;/p&gt;
&lt;p&gt;UPDATE 2: I added a simple atlas to order the drawing, so things behind the player don&amp;#8217;t get drawn on top of it. &lt;/p&gt;
&lt;p&gt;&lt;object height="514" width="514"&gt;&lt;param name="movie" value="http://fidgetwidget.ca/stuff/CameraTest2.swf"&gt;&lt;/object&gt;&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/47032700497</link><guid>http://fidgetwidget.tumblr.com/post/47032700497</guid><pubDate>Wed, 03 Apr 2013 10:18:00 -0700</pubDate><category>gamedev</category><category>2dgame</category><category>game camera</category><category>game design</category></item><item><title>I made Pong in about an Hour</title><description>&lt;p&gt;It&amp;#8217;s certainly not a great version of pong&amp;#8230;&lt;br/&gt;&lt;br/&gt;I&amp;#8217;ve been continuing to work on my game stuff in my spare time, spending about 6 hours so far this month (as my last post said, I&amp;#8217;ve had more time this month). I decided to make something that a) is a playable &amp;#8220;game&amp;#8221;, and that b) provides me a way to test out some more collision code that I will be using in my actual game project.&lt;br/&gt;&lt;br/&gt;Turns out, Pong has a lot of different types of collision detection at play (of course, there are some more simple ways of solving the collisions then I&amp;#8217;ve done here, but I wanted to test my code, and find bugs, so&amp;#8230; yeah): circle-box, box-line, circle-line&amp;#8230; the only other I need being circle-circle, which I&amp;#8217;ve already tested. Turns out there are some bugs in my code that I will need to sort out at some point, so it has been a worth while exercise (my box-line collisions still had a &amp;#8220;TODO: finish this&amp;#8221; in there).&lt;/p&gt;
&lt;p&gt;So, here is the Pong I made in roughly an hour:&lt;/p&gt;
&lt;p&gt;&lt;object height="514" width="514"&gt;&lt;param name="movie" value="http://fidgetwidget.ca/stuff/Pong.swf"&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;The left paddle is controlled with W and S, while the right paddle is controlled with the Up and Down arrows.&lt;br/&gt;Also, &lt;span&gt;you can press &amp;#8220;R&amp;#8221; to reset the ball, or the space bar to pause the game.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;UPDATE: I spent 15 more min and fixed the collision bug, so now it shouldn&amp;#8217;t ever bounce INSIDE the paddles :)&lt;/span&gt;&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/46028175649</link><guid>http://fidgetwidget.tumblr.com/post/46028175649</guid><pubDate>Fri, 22 Mar 2013 16:57:00 -0700</pubDate></item><item><title>I had a little more time this month...</title><description>&lt;p&gt;So I put this together.&lt;/p&gt;
&lt;p&gt;Its the same Quad Tree thing I showed not all that long ago, but with a few additions to it.&lt;/p&gt;
&lt;p&gt;1) press space bar to toggle drawing the quads&lt;br/&gt;2) use the WASD or ARROW keys to move the ball&lt;br/&gt;3) holding shift, click and drag from the ball to create a path the ball will follow.&lt;br/&gt;4) holding ctrl and click will create a single entity (instead of the stream)&lt;/p&gt;
&lt;p&gt;&lt;object height="514" width="514"&gt;&lt;param name="movie" value="http://fidgetwidget.ca/stuff/BallPathCollisions.swf"&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;NOTE: There is still a really strange bug in the entity recycling code that causes entities to be re-used even when they aren&amp;#8217;t up for recycling - but I&amp;#8217;ll worry about that later.&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/45538414368</link><guid>http://fidgetwidget.tumblr.com/post/45538414368</guid><pubDate>Sat, 16 Mar 2013 16:46:00 -0700</pubDate></item><item><title>Something to Show</title><description>&lt;p&gt;I really wanted to get a playable demo ready for the end of the month, but when I dug into my code, and saw how many // TODO: somethings I would have to do, I decided to instead quickly put together something that shows the quad tree at work.&lt;br/&gt;&lt;br/&gt;Here it is:&lt;/p&gt;
&lt;p&gt;&lt;object height="514" width="514"&gt;&lt;param name="movie" value="http://fidgetwidget.ca/stuff/QTforTumblr.swf"&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve changed the QuadTree class a bit since I posted the code last, but the basics of it are still the same. &lt;/p&gt;
&lt;p&gt;Its still going to be a while before the reasons I made this are apparent, but I feel good having something visual to show off for my ~4 hours a month I have been spending on game development.&lt;/p&gt;
&lt;p&gt;My next goal is still to have something playable, but maybe instead of a platformer, I&amp;#8217;ll make a game out of the drawing paths prototype I made for flightspace&amp;#8230; :D &lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/44818670999</link><guid>http://fidgetwidget.tumblr.com/post/44818670999</guid><pubDate>Thu, 07 Mar 2013 16:05:00 -0800</pubDate><category>gamedev</category></item><item><title>Month 2 and STILL nothing to show :(</title><description>&lt;p&gt;A fair bit happened this month, but as far as progress on my game development hobby goes, very little got done.&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;
&lt;p&gt;I guess the lesson here is that four hours a month just isn&amp;#8217;t enough time to make meaningful progress, especially when those four hours are spread out across 4 weeks.&lt;br/&gt;In the first week, I finished my quad tree implementation and started to create some debug systems to help me make games with the engine. &lt;br/&gt;The second week I extended my scene manager and created a map scene that lets me load in a bitmap and convert it into a tilemap being inspired by the evoland code of Nicolas Cannasse [&lt;a href="https://github.com/ncannasse/ld24" target="_blank"&gt;&lt;a href="https://github.com/ncannasse/ld24" target="_blank"&gt;https://github.com/ncannasse/ld24&lt;/a&gt;&lt;/a&gt;].&lt;br/&gt;Week three was spent working on that map scene system, and adding in the collision system to it (I have a WIP grid collider that tries to optimize a collision group based on tilemap like data).&lt;br/&gt;Which brings me to this week.&lt;/p&gt;
&lt;p&gt;My goal right now is to use this stuff to create a VERY simple platformer level, but with the grid collider in a semi broken state, it might not happen. I really want to have something to show each month, but like I said at the top, 4 hours a month just isn&amp;#8217;t enough time to get much done.&lt;br/&gt;&lt;br/&gt;I really want to get to where I was with my XNA game development efforts (which were all lost when a hard drive failed), but that may still be 2 more months away.&lt;br/&gt;&lt;br/&gt;Anyways, here is some code:&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;-&lt;/p&gt;
&lt;pre&gt;class QuadTree&amp;lt;T:(IHasBounds)&amp;gt; extends AABB
{
    public var MAXDEPTH:Int = 6;
	public var MAXQUADSIZE:Float = 16;
	
	public var root:QuadTree;
	public var parent:QuadTree;
	public var depth(default, null):Int;
	
	private var nodes:Array&amp;lt;QuadTree&amp;gt;;
	private var nbounds:Array;
	
	public var canDevide(getCanDevide, never):Bool;
	public var isEmpty(getIsEmpty, never):Bool;
	
	public var qWidth(getQWidth, never):Float;
	public var qHeight(getQHeight, never):Float;
	
	public var items:FastList;
	public var pool:FastList&amp;lt;QuadTree&amp;gt;;
	
	public function new( x:Float, y:Float, width:Float, height:Float, parent:QuadTree = null ) 
	{
		super();
		setRect(x, y, width, height);
		this.parent = parent;
		
		items = new FastList();
		nodes = new Array&amp;lt;QuadTree&amp;gt;();
		nbounds = new Array();
		
		if (parent == null)
		{
			root = this;
			depth = 0;
			pool = new FastList&amp;lt;QuadTree&amp;gt;();
		}
		else
		{
			root = parent.root;
			depth = parent.depth + 1;
		}
		
		nbounds[0] = new AABB().setRect(x, y, hWidth, hHeight);
		nbounds[1] = new AABB().setRect(x + hWidth, y, hWidth, hHeight);
		nbounds[2] = new AABB().setRect(x, y + hHeight, hWidth, hHeight);
		nbounds[3] = new AABB().setRect(x + hWidth, y + hHeight, hWidth, hHeight);
	}
	
	public function dispose() :Void
	{
		root.pool.add(this);
		parent = null;
		_left = 0;
		_right = 0;
		_bottom = 0;
		_top = 0;
		_center.x = 0;
		_center.y = 0;
	}
	
	public function query( queryArea:AABB ) :List
	{
		var _results:List = new List();
		
		query_addToResults( queryArea, _results );
		
		for ( i in 0...4 )
		{
			if ( nodes.length &amp;lt; i ) { return _results; }
			
			var node = nodes[i];
			if ( node == null ) { continue; }
			if ( node.isEmpty )
			{
				node.cleanUp();
				node.dispose();
			}
			
			// this node contains the query area (we don't need to check the other nodes then)
			if ( node.containsAabb( queryArea ) ) {
				node.query_addToResults( queryArea, _results );
				break;
			}
			// the query area contains the node, add and move on
			if ( queryArea.containsAabb(node) ) {
				node.query_addAllToResults( queryArea, _results );
				continue;
			}
			// the query area overlaps the node, 
			if ( node.intersectsAabb( queryArea ) ) {
				node.query_addToResults( queryArea, _results );
			}
		}
		
		return _results;
	}
	// ----- helper function (add the relevent items to the results ----- //
	private function query_addToResults( queryArea:AABB, _results:List ) :Void
	{
		for ( item in items )
		{
			_bounds = item.getBounds();
			if ( queryArea.intersectsAabb(_bounds) )
				_results.add( item );
		}
	}
	// ----- helper function (add all the items to the results ----- //
	private function query_addAllToResults( queryArea:AABB, _results:List ) :Void
	{
		for ( item in items )
		{
			_results.add( item );
		}
	}
	
	public function getSmallestQuadAtPoint( x:Float, y:Float ) :QuadTree
	{
		if (!canDevide) { return this; }
		
		for ( i in 0...4 )
		{			
			if ( !nbounds[i].containsXY(x, y) ) { continue; }
			else {
				if (nodes.length == 0 || nodes[i] == null) { 
					makeQuad(i);
				}
				return nodes[i].getSmallestQuadAtPoint( x, y );
			}
		}
		return this;
	}	
	
	public function insert( item:T  ) :QuadTree 
	{
		_bounds = item.getBounds();
		if (!this.containsAabb(_bounds)) { throw "items bounds are out of range for this node."; }
		
		// cant devide
		if (!canDevide)
		{
			items.add(item);
			return this;
		}
		
		// find best fit
		for (i in 0...4)
		{
			if (nbounds[i].containsAabb( _bounds ))
			{
				if (nodes.length &amp;lt; i || nodes[i] == null) 
					makeQuad(i);
				nodes[i].insert(item);
				return nodes[i];
			}
		}
		
		// too big for subdevide
		items.add(item);		
		return this;		
	}
	
	// remove the given item from the quad tree (or its children)
	public function remove( item:T ) :Void
	{
		if ( !items.remove(item) )
		{
			for ( node in nodes )
			{
				node != null ? node.remove(item) : continue;
			}
		}
	}
	
	// ----- helper function ----- //
	private function subdevide() :Void {
		
		nodes[0] = makeNode(x, y, hWidth, hHeight, this);
		nodes[1] = makeNode(x + hWidth, y, hWidth, hHeight, this);
		nodes[2] = makeNode(x, y + hHeight, hWidth, hHeight, this);
		nodes[3] = makeNode(x + hWidth, y + hHeight, hWidth, hHeight, this);
	}
	private function makeQuad( i:Int ) :Void {
		
		switch (i) {
			case 0:
				nodes[0] = makeNode(x, y, hWidth, hHeight, this);
			case 1:
				nodes[1] = makeNode(x + hWidth, y, hWidth, hHeight, this);
			case 2:
				nodes[2] = makeNode(x, y + hHeight, hWidth, hHeight, this);
			case 3:
				nodes[3] = makeNode(x + hWidth, y + hHeight, hWidth, hHeight, this);
			default:
				return;
		}
	}
	private function cleanUp() :Void {
		for (i in 0...4) {
			if (nodes.length &amp;lt; i) { return; }
			nodes[i].cleanUp();
			nodes[i].dispose();
		}
	}
	
	// ----- recylcing helpers ----- //
	private function makeNode( x:Float, y:Float, width:Float, height:Float, parent:QuadTree = null ) :QuadTree 
	{
		if (root != this) { 
			return root.makeNode(x, y, width, height, parent);
		}
		if ( pool.isEmpty() ) {
			return new QuadTree( x, y, width, height, parent );
		}
		_node = pool.pop();
		_node.make( x, y, width, height, parent );
		return _node;	
		
	}
	private function make( x:Float, y:Float, width:Float, height:Float, parent:QuadTree = null ) :Void
	{
		setRect(x, y, width, height);
		this.parent = parent;
		root = parent.root;
		if (canDevide) { // TODO: do this more intiligently.
			subdevide();
		}
	}
	
	// depth OR quad size devision rule
	private inline function getCanDevide() :Bool { 
		var sizeCheck = root.MAXQUADSIZE &amp;gt; 0 ? (Math.min(hWidth, hHeight) &amp;gt; root.MAXQUADSIZE) : true;
		var depthCheck = root.MAXDEPTH &amp;gt; 0 ? (depth &amp;lt; root.MAXDEPTH) : true;
		return sizeCheck &amp;amp;&amp;amp; depthCheck;
	}
	private inline function getIsEmpty() :Bool 	{ return items.isEmpty(); }	
	private inline function getQWidth() :Float 	{ return width * 0.25; }
	private inline function getQHeight() :Float { return height * 0.25; }
	
	private var _bounds:AABB;
	private var _node:QuadTree;
	
}    
&lt;/pre&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;-&lt;/p&gt;
&lt;p&gt;Its messy, and some of it might be broken&amp;#8230; but its something I wrote in the past few months, and I want to show that progress is in fact being made (even if its not something I needed to write).&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/44079856831</link><guid>http://fidgetwidget.tumblr.com/post/44079856831</guid><pubDate>Tue, 26 Feb 2013 12:16:26 -0800</pubDate><category>gamedev</category></item><item><title>Monthly Game Dev Update (Jan)</title><description>&lt;p&gt;It was my new years resolution to devote some time to making games, despite my complete lack of free time right now. I figured a reasonable goal would be to spend about an hour a week (for a total of 4 hours a month), and a short bit of time writing about what I accomplished. That&amp;#8217;s what this is&amp;#8230; me writing about what I managed to get done in such a short amount of time.&lt;/p&gt;
&lt;p&gt;First off, I think I should talk about what inspired me this month, and why I made the choices I did with the little amount of time I had available.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Engine Making.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I have been working on and off on a haxe(+nme) game engine that does what my XNA game engine did, while taking inspiration from flash punk, flixel, and the seemingly dead monocle engine. I first decided to write my own game engine for a number of reasons&amp;#8230; most of which made sense at the time. #1 was: there really weren&amp;#8217;t any 2D (or 3D for that matter) XNA game engines out there. So if I was going to make a game of any complexity, I was going to have to pull together a number of libraries and write a lot of my own code. That process slowly turned into an engine and shaped the way I understood game development. &lt;span&gt;I had made games before then (mostly using flash), but nothing that required I manage so much of the game loop. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Ever since then, no matter how great the library/engine/framework, I just never understood it as well as I had my own code. So time after time I would end up digging into the code and spending hours learning how its put together. I am STILL new to game development, and often run into technical hurdles I was just not prepared to overcome. So learning has often been where my time gets spent, and there is no better way to learn then to do.&lt;/p&gt;
&lt;p&gt;So, in combination with working on my game prototype, I&amp;#8217;ve decided to spend my time filling out my game engine at the same time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reading and being inspired.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m a bit of a code nerd. I think it&amp;#8217;s so cool what a few lines of code can create, and when I encounter new algorithms or data structures I geek out a little.&lt;br/&gt;Something a game with lots of objects on screen or in simulation is going to need is some type of spacial indexing. I&amp;#8217;ve often just used a fixed size grid to solve this problem (it&amp;#8217;s fairly easy to implement), but because I get carried away, when I read up on Quad Trees (originally in reference to their usefulness in collision detection), I just had to try it out.&lt;/p&gt;
&lt;p&gt;The trouble with only having 4 hours a month, and tackling a new data structure like a quad tree is, you end up spending all your time and not getting much done.&lt;/p&gt;
&lt;p&gt;But I DID do a lot of interesting reading:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.gamerendering.com/category/scene-management/" target="_blank"&gt;&lt;a href="http://www.gamerendering.com/category/scene-management/" target="_blank"&gt;http://www.gamerendering.com/category/scene-management/&lt;/a&gt;&lt;/a&gt; (lots of dead links, but still a great resource).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://lab.polygonal.de/?p=202" target="_blank"&gt;&lt;a href="http://lab.polygonal.de/?p=202" target="_blank"&gt;http://lab.polygonal.de/?p=202&lt;/a&gt;&lt;/a&gt; (this is what convinced me to make a quad tree).&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="http://polygonal.github.com/ds/" target="_blank"&gt;&lt;a href="http://polygonal.github.com/ds/" target="_blank"&gt;http://polygonal.github.com/ds/&lt;/a&gt;&lt;/a&gt; (you might not care about your data structures, but if you do, this is a great resource).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I am still 2 steps away from having my early flight space prototype use this engines features, but hopefully next month I&amp;#8217;ll be able to show some code.&lt;/span&gt;&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/41232467214</link><guid>http://fidgetwidget.tumblr.com/post/41232467214</guid><pubDate>Tue, 22 Jan 2013 15:58:00 -0800</pubDate><category>gamedev</category></item><item><title>Photo</title><description>&lt;img src="http://24.media.tumblr.com/edf7f9838e7012461af2793563b03be0/tumblr_mexd85N8Er1qcqh29o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://fidgetwidget.tumblr.com/post/37803099181</link><guid>http://fidgetwidget.tumblr.com/post/37803099181</guid><pubDate>Wed, 12 Dec 2012 11:37:30 -0800</pubDate></item><item><title>My WiiU Review</title><description>&lt;p&gt;It has been a long time since a new home console has come to market, and so much has changed since then. When I waited in line for the release of the Xbox360, I was still in college&amp;#8230; Today I am a husband and a father.&lt;/p&gt;
&lt;p&gt;I think the landscape of entertainment for a lot of people has changed. With technologies and services such as the iPhone and Netflix Streaming, the way we use our TV, and the reasons we turn it on, all of that is different now. The boxes we have hooked up to our TV are able to do more, provide more services, and because of that we expect more. There is even a good chance that, if you have purchased a new TV in the last 2 years, that you don&amp;#8217;t even need to hook up another box, those services are available right on the TV now.&lt;/p&gt;
&lt;p&gt;With all of the expectations that come from this, when considering plugging in yet another (or perhaps replace an old) box to your TV, it has to do something new. The Wii did that 6 years ago when it introduced the word to motion gaming. But can the WiiU do it again? It&amp;#8217;s a lot less clear what those differentiators are going to be. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nintendo Land&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I got my WiiU on the Monday after launch, so the rest of the internet had already made up their mind about Nintendo&amp;#8217;s latest. A massive firmware update that adds the online features, and a sluggish frame rate and other problems on the various 3rd party ports, all contribute to a somewhat cold response.&lt;/p&gt;
&lt;p&gt;So, with tempered expectations, I was met with unexpected joy.&lt;/p&gt;
&lt;p&gt;The Deluxe edition of the WiiU comes with Nintendo Land, and right out of the gate, it does what Nintendo does best. The colorful presentation and themepark concept the collection takes just made me smile, and there is even a miniature train that is quickly added to the park, which brought back memories of visiting Knotts Berry Farm as a child. Nintendo somehow knows how to draw out the child inside you, and just like a theme park, Nintendo Land is a lot more fun in a group.&lt;/p&gt;
&lt;p&gt;There are a hand full of single player mini games that are great fun in short bursts, and play a lot like more creative arcade games of old. There are also three more substantial mini games include a single player option, and I found the Pikmin mini game to be the best of the solo experiences the game has to offer. But it too is better played with others.&lt;/p&gt;
&lt;p&gt;I wish that Nintendo Land was built right into the console. The way it brings the MiiVerse directly into the game, and the setting seem more apt for what Nintendo seems to what to do then the WaraWara Plaza (the screen that comes up when you log into your WiiU). As a stand along game, it&amp;#8217;s lack of depth as a single player experience makes it difficult to recommend, but it&amp;#8217;s certainly a great reason to get the Deluxe model over the standard one.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Future Potential&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The WiiU somehow manages to stay true to gaming, while simultaneously offering what might be the most interesting entertainment options with TVii (a service that won&amp;#8217;t be out until some time in December) and MiiVerse. And while MiiVerse is maybe the most forward thinking online social community ever seen on a gaming console, at the same time a persons Nintendo ID is tied to a single WiiU console. It&amp;#8217;s baffling the way Nintendo manages to do something amazing, and mess up the basics at the same time. &lt;/p&gt;
&lt;p&gt;It is difficult to predict what Nintendo is going to do in the future with the WiiU, but the fact that the online features were added to the console with a day one firmware update does offer some hope that they will be upgrading their services over time. But these are game consoles, so ultimately, it is going to be about the games in the end.&lt;/p&gt;
&lt;p&gt;The last few forays out, Nintendo has not been able to court the big 3rd party games, and when they have had them, they just haven&amp;#8217;t performed as well on the Nintendo machine. After the first year or so, Nintendo always ended up having to rely on their own staple of games to give a gamer a reason to play their Nintendo device.&lt;/p&gt;
&lt;p&gt;Nintendo claims to have renewed efforts to get that 3rd party support back, but given the poor quality of the launch ports, it has yet to be seen if that will bare out. AAA 3rd Party games aren&amp;#8217;t the only core games anymore though. With the explosion of indie developed games finding success on phones, tablets, and PC, indie games might be the wild card that makes the difference.&lt;/p&gt;
&lt;p&gt;If Nintendo is able to court indie developers into bring great games like Dust Force and They Bleed Pixels to their service, they will not only have a fighting chance come next holiday, but a really clear reason for gamers to own a WiiU over the competition.&lt;/p&gt;
&lt;p&gt;But the future always looks bright to an optimist, and early next year we should have the OUYA, and we know too little about the Next Xbox and Playstation to assume that they won&amp;#8217;t have great indie support out of the gate.&lt;/p&gt;
&lt;p&gt;Ultimately, you shouldn&amp;#8217;t make a purchase based on the future potential of a device anyways. If we all did that, then the Neo Geo Pocket Color would have succeeded, and I&amp;#8217;d be playing the latest SNK Card Fighter Game on what ever its successor would have been (and yes, I am bitter that ISN&amp;#8217;T the world we live in).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve only had the WiiU for a week so far, but I&amp;#8217;ve had as much fun with this launch as I did with the Xbox360. Yes, a lot has changed since then, my gaming habits included. But its actually BECAUSE of those changes that the WiiU fits so well for me. Nintendo has historically targeted young kids with their games and their hardware, but with the Wii they found a much broader market. If they manage to bring in indie games and more non games to the WiiU, this will be the BEST Nintendo console to date. &lt;/p&gt;
&lt;p&gt;They have made some mistakes already, but nothing they can&amp;#8217;t correct over time, and if you squint, you can see them pointing in the right direction. It&amp;#8217;s not for everyone right now, but personally, I believe the WiiU will capture a larger audience then the Xbox or PlayStation have again.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;7&lt;/strong&gt;/10&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/36673214473</link><guid>http://fidgetwidget.tumblr.com/post/36673214473</guid><pubDate>Tue, 27 Nov 2012 09:41:00 -0800</pubDate><category>Review</category><category>WiiU</category></item><item><title>About Designing Websites</title><description>&lt;p&gt;For a while now, I&amp;#8217;ve been meaning to write about the parts of my job I enjoy most, and at the same time, frustrate me the most.&lt;/p&gt;
&lt;p&gt;I am a web development consultant&amp;#8230; that is to say that I act both as a web developer and a consultant, helping people and companies make the best decisions they can when creating websites and web applications. Part of this job is web design. Actually, that&amp;#8217;s the part I enjoy the most about my Job, is the chance to be creative and exercise my design mussels. &lt;/p&gt;
&lt;p&gt;Color, Layout, Usability, and Workflow; UX and UI. I love it. I love to read about it, and I love to work in it. &lt;/p&gt;
&lt;p&gt;I also hate it. &lt;/p&gt;
&lt;p&gt;Now, I don&amp;#8217;t hate design, I don&amp;#8217;t hate designing, and I don&amp;#8217;t even hate when the client insists on something that I feel is contrary to the best interests of their users or audience. I hate that I am not able to spend the amount of time I feel design deserves, and often only get a few hours to &amp;#8220;design&amp;#8221; an entire application.&lt;/p&gt;
&lt;p&gt;I put design in quotes, because the work I am talking about there is rarely actual design. Its usually a simple mock-up of a page or two as a way of proposing a possible style. Not the workflow, not the usability, no A B testing, no client/customer interviews, none of the stuff that someone who works as a designer on a single project from start to finish might have the luxury of doing.&lt;/p&gt;
&lt;p&gt;I realize time is money, and I am in a unique position, as a developer first, designer third, forth, fifth, or most cases last. &lt;/p&gt;
&lt;p&gt;But I LOVE design.&lt;/p&gt;
&lt;p&gt;I guess I hate when design is somewhat ignored, or dismissed as &amp;#8220;too expensive&amp;#8221;, or &amp;#8220;unnecessary&amp;#8221;. It deserves better.&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/35855879435</link><guid>http://fidgetwidget.tumblr.com/post/35855879435</guid><pubDate>Fri, 16 Nov 2012 12:01:28 -0800</pubDate><category>design</category></item><item><title>2 unposted posts and the one who took their place</title><description>&lt;p&gt;I am starting to build up a good little collection of unfinished blog posts that I don&amp;#8217;t think I&amp;#8217;ll ever be going back to (for a number of reasons). That&amp;#8217;s the trouble of having ambition beyond your means&amp;#8230; you tend to start towards a goal that you don&amp;#8217;t have the stamina to actually reach.&lt;/p&gt;
&lt;p&gt;So, getting back to more short form posts that I can actually complete, but wanting to still keep the essence of my ambitious idea, I&amp;#8217;ve come up with something that is slightly longer than my #gamedevidea tweets that pulls a short list of solid usable ideas from existing games that could be applied to just about any other game project.&lt;/p&gt;

&lt;p&gt;This will just be sampling, to help explain how this works, and hopefully spur on some of your own ideas in the process.&lt;/p&gt;
&lt;p&gt;1) Super Mario Bros&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Momentum through animation helps to make fake physics more fun.&lt;/li&gt;
&lt;li&gt;Teaching lessons early helps reduce the frustration of failure through death.&lt;/li&gt;
&lt;li&gt;Consistency in art design can help express measurements with subtly. &lt;/li&gt;
&lt;li&gt;Pausing gameplay when hit can help player recovery.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;2) Bionic Comando&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Designing with limitations can help initiate more creative solutions.&lt;/li&gt;
&lt;li&gt;Basic navigation in a platformer can be fun, and provide gameplay depth.&lt;/li&gt;
&lt;li&gt;Simplicity in sound design can still create meaningful atmosphere.&lt;/li&gt;
&lt;li&gt;There is still plenty of room for platformers to innovate. &lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Hopefully this helps explain what I hope to do with this type of post going forward&amp;#8230; and please provide feedback :D&lt;/p&gt;
&lt;p&gt;-fidgetwidget out&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/26022828313</link><guid>http://fidgetwidget.tumblr.com/post/26022828313</guid><pubDate>Wed, 27 Jun 2012 13:55:53 -0700</pubDate><category>LessonsFromGaming</category></item><item><title>e3 vs twitter</title><description>&lt;p&gt;E3 is likely going to be over by the time this is posted, but I figured I should write something about it given that it&amp;#8217;s such a significant event in gaming, and this is my game focused blog&amp;#8230;&lt;/p&gt;
&lt;p&gt;The first thing I discovered this week, large in part to e3, is that twitter can be a mean place. The majority of the discussion I was reading there about the different press events on the Monday and Tuesday were nothing but negative, and even hurtful comments. &lt;/p&gt;
&lt;p&gt;I watched the same press events as the rest of the internet, and while I had to fight the urge to join in on the negativity of others, I came away from them more or less excited about everything they showed (of course Canada doesn&amp;#8217;t get all of the tv and movie content that the US gets, so in that case I was made jealous instead of excited, but that&amp;#8217;s nothing all that new).&lt;/p&gt;
&lt;p&gt;Halo 4 looked great, and I am definitely not a huge Halo fanboy (the only one I really got into was ODST, which most Halo fans said wasn&amp;#8217;t very good). I am also excited for both Tomb Raider, and South Park. Smart Glass sounds like it has a ton of potential, especially if developers take lessons learned on Wii U and apply them to it. I like that there is more per tab in the new Xbox Dash, and am hopeful for being able to play web based games on the tv using a tablet as the controller with the browser&amp;#8230; but that of course assumes that it will support flash.&lt;/p&gt;
&lt;p&gt;I am super excited for the new Sim City, and am interested to see how EA approaches Sim City Social (and what it&amp;#8217;s monetization model looks). I&amp;#8217;ll try TOR now with its free to play trial, as I just can&amp;#8217;t justify subscribing to an MMO anymore (not since Tabula Rasa have I thought an MMO was worth the fee). Also, Need for Speed &lt;strike&gt;Burnout&lt;/strike&gt; Most Wanted looked FANTASTIC!&lt;/p&gt;
&lt;p&gt;Far Cry, Rayman, ZombieU, Assassins Creed, and Watch Dogs&amp;#8230; AMAZING! Zombie U especially.&lt;/p&gt;
&lt;p&gt;Sony still has some of the best games I wish I could play (maybe it&amp;#8217;s because I still don&amp;#8217;t have a PS3, and what I can&amp;#8217;t play I want to play all the more), and their support of the indie developers this year is really exciting (though I wish I could play those games on my XBOX too). Last of us is still very impressive, and I want to learn more about Beyond for sure.&lt;/p&gt;
&lt;p&gt;If the Wii U is $250 with a pack in game, I might just be waiting in line to get it day one. Nintendo never ceases to delight me. Pikmin and Mario (both of those franchises games are fun every time) and Lego City all at or near launch, that System is going to do just fine. Nintendo just makes some of the best co-op games I can play with my wife, and everything about what they showed made that all the more true. &lt;/p&gt;
&lt;p&gt;Certainly there were some duds; I have never been a big sports game fan, and the whole wonderbook demo went on way too long&amp;#8230; but for every dud, there was a gem. &lt;/p&gt;
&lt;p&gt;If I was to ask for more from the conference I could certainly create an insane list of dream ideas that they would never have been able to fulfill&amp;#8230; and there were a few things I thought they would say that they didn&amp;#8217;t (More XBLA announcements, Dawnguard and Fortnight shown on stage, Price drops, and dates for Monster Hunter 3DS and Animal Crossing 3DS), but I was hardly disappointed. &lt;/p&gt;
&lt;p&gt;Its going to take me weeks to actually read through all the news that&amp;#8217;s come out, even if I avoid the trashy and tabloid style headlines that are at times worse then the stuff I was reading on twitter&amp;#8230; and I for one am delighted by the breadth of cool stuff I get to watch and read about. &lt;/p&gt;
&lt;p&gt;Sorry for anyone who was hoping for more game development stuff, I&amp;#8217;ll continue with that stuff next week&amp;#8230; hopefully with my first update on my &lt;a href="http://nagademo.com/" target="_blank"&gt;NaGaDeMo&lt;/a&gt; game.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;FidgetWidget &lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/24714694901</link><guid>http://fidgetwidget.tumblr.com/post/24714694901</guid><pubDate>Fri, 08 Jun 2012 17:44:42 -0700</pubDate><category>Friday Blog Post</category></item><item><title>Social Games are the new Arcades?</title><description>&lt;p&gt;Continuing on with my comments last week, I wanted to explore the relationship between game development of social games and game development for arcade machines in the 80s to early 90s.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve read a few times, especially from game developers who worked on them, how there are a number of similarities between making arcade games in the 80s and making social games today&amp;#8230; and I have to say, it makes sense. They are both forms of game design where the business model is pivotal, where it&amp;#8217;s all about keeping the player paying to play your game. &lt;/p&gt;
&lt;p&gt;I should say up front that I am all for designing your game around a business model. I think game design thrives on it&amp;#8217;s constraints. Whether your constraints are hardware limitations, cost and time, color pallets, or the business model, designing with those constraints in mind CAN serve to make a better game. So, while some of the issues I pointed out last week were related to putting the business model first, I am not against this practice as a rule.&lt;/p&gt;
&lt;p&gt;With that out of the way, I want to talk about the things Social game design can learn from the arcade scene (and it&amp;#8217;s fall).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1) The first $.25&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A large part of arcade design was getting that first quarter from the player. Whether they were in an arcade with dozens (or even a hundred) games to choose from, or at a laundromat with only one or two, enticing the player to start playing your game was the first step of the process. Attract Screens, Cabinet Art, and being fun to watch people play were all methods employed to get people to spend that first quarter. &lt;/p&gt;
&lt;p&gt;In the social game space, getting people to install the app is that first step. There aren&amp;#8217;t arcades that people know they can go to to find the games, so Social games have created new mechanisms to get in-front of potential players eyes&amp;#8230; but many of those methods have become somewhat infamous though. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;So, what can the social space learn from the Arcades in drawing players into their games? &lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Be worth playing. &lt;/p&gt;
&lt;p&gt;Now I realize there are far more factors at play, and this is an over simplification&amp;#8230; but far too many social games are trying everything BUT being a fun experience to play. &lt;/p&gt;
&lt;p&gt;Sure, having a beloved brand is great! And for PopCap and Zenga where you already have an audience that you can broadcast your new games to, all the better. But even if you&amp;#8217;re PopCap, when your game isn&amp;#8217;t fun people won&amp;#8217;t talk about it, they don&amp;#8217;t tell their friends, and you won&amp;#8217;t get media coverage.&lt;/p&gt;
&lt;p&gt;So once you have a fun game, then you can worry about the other ways of getting in front of players eyes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2) Keep them playing.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This one is a much longer discussion, so I&amp;#8217;ll break it down into the 2 biggest ways Arcade games kept me playing, and 1 more that I know often gets ignored.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;i) Measured Potential and Impermanent Failure &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The 2D fighter is easily the best example of this. Every play session was at least going to get you two rounds, and if you win, you keep playing. The rewards were quick, and the challenge was measurable. To continue meant you would face the same enemy you just lost to, and if you believed you had learned from your failure, all the more motivation to try again.&lt;/p&gt;
&lt;p&gt;This isn&amp;#8217;t so easy to define in some other games, but most of the elements were there. You knew what each quarter would give you, and being able to continue right where you left off (assuming you could get the $.25 in the machine in time), or at the beginning of the stage you died on. You want as few barriers to putting in another quarter as possible.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;ii) Reachable Goals&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In the arcade, you had a limited amount of time and a limited amount of money. Often, you would decide what games to play simply based on how much game time you could get for your money&amp;#8230;&lt;/p&gt;
&lt;p&gt;This doesn&amp;#8217;t really translate to the social game space, but the idea of having a measured goal in mind when you start to play the game does.&lt;/p&gt;
&lt;p&gt;Lots of social games are infinite. You&amp;#8217;re going to play from where you left off every time you come back to the game, and there is always going to be something you can do to further your progress. But having measurable goals for each time you come to the game that are independent of the overarching goal of &amp;#8220;winning the game&amp;#8221; are still possible. &lt;/p&gt;
&lt;p&gt;I honestly think there needs to be more finite social games though, like Civ, Solitaire Blitz, and PJ Monsters&amp;#8230; but that&amp;#8217;s another discussion in itself.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;iii) Social Play&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The fighting game scene in arcades is maybe the only thing keeping them alive at this point (aside from the games that spit out tickets to trade in for useless junk at the change counter). That social element that would have crowds gather didn&amp;#8217;t just serve to keep the faithful paying, but was a big part of bringing new players in as well.&lt;/p&gt;
&lt;p&gt;While you didn&amp;#8217;t see shmup tournaments, or large crowds gathered around the latest puzzle game, that social element was still a huge part of every arcade games success. High Scores, multi-player, and even the fact you had to wait in line to play next were all elements of the experience that had social hooks&amp;#8230; &lt;/p&gt;
&lt;p&gt;The strange thing about social games though is that they don&amp;#8217;t generally approach the social element of their games the same ways the arcade games did (though there are some - named above). High Score Competitions and even Tournaments are one thing, but there are so few real time multi-player, and no real time observable games (that I know of at least) in the space&amp;#8230; but then again, the lines are getting very blurry about what is and what isn&amp;#8217;t a social game now.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;So what can Social games learn from Arcade games when it comes to player retention? &lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Just keep doing what you&amp;#8217;re doing, expanding and evolving.&lt;/p&gt;
&lt;p&gt;Social games are still fairly new, and they are trying lots of new and exciting things! The larger gaming space is starting to include social game ideas in their games now, with facebook photo sharing, and tweet every line of dialog features being done in genuinely interesting ways.&lt;/p&gt;
&lt;p&gt;While there has been the occasional clone, and some tropes have been overused&amp;#8230; but the clones are evolving, and the tropes are being refined. Experimentation is still happening, old games ideas are being evolved to include social elements, and completely new genres are forming, there is lots to be excited about. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Lastly, How can Social Games avoid the same fate as the Arcades?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If I am honest, I really don&amp;#8217;t know that they can. The future is uncertain, and there were factors involved that you just can&amp;#8217;t plan for. Firstly, the cause of the arcade collapse isn&amp;#8217;t easy to nail down. There were social changes that contributed to it, one trend gave way to another, and it is these very changes that actually gave rise to Social Games AND the Arcades in the first place. Changing along with the consumer and social trends just might be the only real option.&lt;/p&gt;

&lt;p&gt;Anyways, that&amp;#8217;s all I have for now. Thanks for reading :D&lt;/p&gt;
&lt;p&gt;-fidgetwidget&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/24229389961</link><guid>http://fidgetwidget.tumblr.com/post/24229389961</guid><pubDate>Fri, 01 Jun 2012 17:51:56 -0700</pubDate><category>Friday Blog Post</category><category>Game Design</category></item><item><title>Just Beautiful!
it8bit:

Starfighter
Created by Stephen...</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_m4reupazGa1qbw2q1o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Just Beautiful!&lt;/p&gt;
&lt;p&gt;&lt;a class="tumblr_blog" href="http://www.it8bit.com/post/23967065843/starfighter" target="_blank"&gt;it8bit&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Starfighter&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Created by &lt;a href="http://ohnhai.deviantart.com/" target="_blank"&gt;Stephen Rushbrook&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Buy the print at &lt;a href="http://ohnhai.deviantart.com/art/Starfighter-304230629" target="_blank"&gt;deviantART&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://fidgetwidget.tumblr.com/post/24000048251</link><guid>http://fidgetwidget.tumblr.com/post/24000048251</guid><pubDate>Tue, 29 May 2012 08:52:50 -0700</pubDate></item><item><title>Game Design thought for the week...</title><description>&lt;p&gt;Not that I only have one a week or anything&amp;#8230; I just&amp;#8230; I don&amp;#8217;t need to explain it do I?&lt;/p&gt;
&lt;p&gt;So I have been giving some thought to the different business models that have become popular in the last few years, and this is what I came up with.&lt;/p&gt;
&lt;p&gt;I love free to play games! Not all free to play games mind you, and not just because some of them are just bad games, but because some of them abuse the model. It&amp;#8217;s THOSE kinds of free to play games that are why I don&amp;#8217;t like most social games. &lt;/p&gt;
&lt;p&gt;&lt;img align="middle" alt="Tripple Town" height="313" src="http://4.bp.blogspot.com/-f-ofLn1YxiY/Txj55Qg4mzI/AAAAAAAAAKk/jDUQTDCc_tk/s1600/MainTripleTownMobile.png" width="561"/&gt;&lt;/p&gt;
&lt;p&gt;If you haven&amp;#8217;t played Triple Town, you should. It&amp;#8217;s a free to play game that I love the gameplay of, BUT it employs the same free to play mechanics you&amp;#8217;ll see in most social games&amp;#8230; what I call &amp;#8220;wait to play or pay&amp;#8221; (Thankfully, in Triple Town you have the option to simply purchase the game - unlimited turns).&lt;/p&gt;
&lt;p&gt;So, I decided to share my thoughts on how to improve on the &amp;#8220;wait to play or pay&amp;#8221; model, or at least make them less painful while still encouraging people to pay! &lt;/p&gt;
&lt;p&gt;1) Don&amp;#8217;t make them wait.&lt;/p&gt;
&lt;p&gt;Being unable to continue to play the game (and have fun doing it) is easily the most annoying part of the social game model&amp;#8230; but having something in the way of your fun is believed to motivate people to pay. I personally think that&amp;#8217;s a false premise, as most social games aren&amp;#8217;t actually all that fun to begin with, and it&amp;#8217;s the social pressure to keep up with your friends that often causes people to put up the money.   &lt;/p&gt;
&lt;p&gt;2) Depth of choice.&lt;/p&gt;
&lt;p&gt;If you are going to allow people to have fun without having to pay, that means there needs to be multiple layers of gameplay for players to participate in. Lots of social games already do this, but they put the same road blocks up in each area, never giving you &amp;#8220;something fun&amp;#8221; to do at all times.&lt;/p&gt;
&lt;p&gt;Being able to play, but not progress, is the easiest way to do this. &lt;/p&gt;
&lt;p&gt;&lt;img align="middle" height="397" src="http://www.bifuteki.com/wp-content/uploads/2011/12/Monsters_online_Logo.jpg" width="600"/&gt;&lt;/p&gt;
&lt;p&gt;Pixel Junk Monsters Online does this (or at least the last time I played it, it did).&lt;br/&gt;Being able to replay previous levels while you wait to be able to unlock new ones.&lt;/p&gt;
&lt;p&gt;This is something a lot of free to play mobile games do actually, and I think its a much better alternative to the &amp;#8220;wait to play&amp;#8221; standards.&lt;/p&gt;
&lt;p&gt;3) Have more reasons to pay then just &amp;#8220;to ease frustrations&amp;#8221;.&lt;/p&gt;
&lt;p&gt;And I am not just talking about Hats. Cosmetic choices can be fun, and offer players who already love your game a way to &amp;#8220;throw you some money&amp;#8221; without unbalancing a competitive game&amp;#8230; but there is so much uncharted territory here that I am sure you can be more creative than hats ;)&lt;/p&gt;
&lt;p&gt;The booster pack model (buying packages of randomly selected items) is one of my favourite.&lt;/p&gt;

&lt;p&gt;Anyways, that&amp;#8217;s what I have for this week, maybe I&amp;#8217;ll share more next time :D &lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/23769872388</link><guid>http://fidgetwidget.tumblr.com/post/23769872388</guid><pubDate>Fri, 25 May 2012 18:54:40 -0700</pubDate><category>Friday Blog Post</category><category>Game Design</category></item><item><title>this isn't twitter</title><description>&lt;p&gt;I haven&amp;#8217;t written in my blog in a good long while&amp;#8230; mostly because I have been using twitter to express my thoughts, and that has seemed to be enough of an outlet most of the time. But some thoughts are bigger than twitter&amp;#8217;s 140 character limit, and some writing skills don&amp;#8217;t improve when confronted with those constraints. So I take to my blog again, to write ideas that are bigger than twitter, but still small enough that I finish them in a reasonable amount of time and can get them all out in one sitting.&lt;/p&gt;
&lt;p&gt;So, to keep this manageable and something I can publish once a week (on Fridays), I am actually going to call this my FIRST POST&amp;#8230; But don&amp;#8217;t worry, I am going to write another one right after this ;)&lt;/p&gt;</description><link>http://fidgetwidget.tumblr.com/post/23765055323</link><guid>http://fidgetwidget.tumblr.com/post/23765055323</guid><pubDate>Fri, 25 May 2012 17:43:50 -0700</pubDate><category>Friday Blog Post</category></item></channel></rss>
