<?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>Electronic Space Nintendo</title>
	<atom:link href="http://www.doomsday.no/esn/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.doomsday.no/esn</link>
	<description>Video games, Weirdness, Adobe Flash, Music, and endless rants</description>
	<lastBuildDate>Wed, 25 Aug 2010 21:32:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Thoughts on Blood Meridian</title>
		<link>http://www.doomsday.no/esn/2010/08/thoughts-on-blood-meridian/</link>
		<comments>http://www.doomsday.no/esn/2010/08/thoughts-on-blood-meridian/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 20:53:50 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Literature]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Blood Meridian]]></category>
		<category><![CDATA[Cormac McCarthy]]></category>
		<category><![CDATA[Fallout 3]]></category>
		<category><![CDATA[Red Dead Redemption]]></category>
		<category><![CDATA[Western]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1087</guid>
		<description><![CDATA[Blood Meridian, or the Evening Redness in the West, is a western novel by Cormac McCarthy that I&#8217;d previously heard much about (often in the form of sensationalizing the violence of the novel). Personally I have never had a real interest in westerns, going so far as to actively avoid the subject matter; For this [...]]]></description>
			<content:encoded><![CDATA[<p>Blood Meridian, or the Evening Redness in the West, is a western novel by Cormac McCarthy that I&#8217;d previously heard much about (often in the form of sensationalizing the violence of the novel). Personally I have never had a real interest in westerns, going so far as to actively avoid the subject matter; For this reason I&#8217;ve arguably missed out on a number of great works, such as Clint Eastwood&#8217;s Unforgiven, or any number of classics. Bear with my ignorance for a few seconds more; I grew up with sporadic reruns of Bonanza, and every time that show came on I couldn&#8217;t get away from the TV fast enough, lest I involuntarily and abruptly fall asleep.</p>
<p>It&#8217;s a genre that, in its family-friendly, bloodless and often comically caricatured incarnation, has the unique and powerful ability to bore me to absolute tears. It has two main points of appeal; The romanticism of old America, and the brutal desolation of its landscapes and culture (or lack thereof). The former is a divisive enough topic, and the latter is rarely given real exposure. This is perhaps understandable; It&#8217;s not a common desire to want expletives yelled in ones face before it is brutally shoved in the dirt.</p>
<p>Yet it&#8217;s the parallel threads of romance and staggering violence and desolation that has kindled my interest in westerns. It probably stems from my infatuation with the post apocalyptic sci-fi genre, and particularly the Fallout series of video games, which revel in the hopelessness for darkly comic effect. After having spent over 90 hours playing Fallout 3, immersing myself in the wasteland, the open anarchistic prairie of Rockstar&#8217;s western adventure &#8220;Red Dead Redemption&#8221; could not be more appealing.<br />
RDR did not disappoint, and it is a game that knows it is an adult title, and as such exposes you readily to the sheer beauty of the landscape, juxtaposed with blind, screaming violence. </p>
<p>Coming out of Red Dead Redemption and Fallout 3, and having recently enjoyed films based on McCarthy&#8217;s books &#8220;The Road&#8221; and &#8220;No Country for Old Men&#8221;, Blood Meridian looked incredibly appealing when I found a copy. Having read about it briefly, all I knew was that it was a western featuring &#8220;shocking violence&#8221;, concerned with the exploits of the <a href="http://en.wikipedia.org/wiki/John_Joel_Glanton">Glanton gang of scalp hunters</a>, which I&#8217;d previously stumbled across on Wikipedia. </p>
<p>Literally within the first page I knew this book was perfect for me. The language is pure and gorgeous, the images conjured were brilliant in my mind and it sucked me right into its bleak nothingness. It was nearly impossible for me to put down, and I lost many nights of sleep to either reading on, or lying awake meditating on what I&#8217;d read.</p>
<p>I read a lot, and always have since a very young age. Blood Meridian is my favorite book of all time.<br />
<span id="more-1087"></span></p>
<p>I&#8217;ll quote the opening page verbatim, and I hope you&#8217;ll see the rhythm and imagery I fell in love with, a rhythm that remained brilliant throughout. </p>
<blockquote><p>
See the child. He is pale and thin, he wears a thin and ragged linen shirt. He stokes the scullery fire. Outside lie dark turned fields with rags of snow and darker woods beyond that harbor yet a few last wolves. His folk are known for hewers of wood and drawers of water but in truth his father has been a schoolmaster. He lies in drink, he quotes from poets whose names are now lost.<br />
The boy crouches by the fire and watches him.<br />
    Night of your birth. Thirty-three. The Leonids they were called. God how the stars did fall. I looked for blackness, holes in the heavens. The Dipper stove.<br />
    The mother dead these fourteen years did incubate in her own bosom the creature who would carry her off. The father never speaks her name, the child does not know it. He has a sister in this world that he will not see again. He watches, pale and unwashed. He can neither read nor write and in him broods already a taste for mindless violence. All history present in that visage, the child the father of the man.
</p></blockquote>
<p>McCarthy doesn&#8217;t waste our time on silly constructed language. Dialog has no apostrophes, and his rhythm is always free and demanding. It&#8217;s a tough book to read, because it never stops, and McCarthy assumes <em>you are there</em>. McCarthy trusts that you are paying absolute, rapt attention, and the reward is a narrative that flows uninterrupted and white hot, where every page has some line that makes the Lovecraft fanboy in me want to laugh with joy. Linguistically it is one of the most beautiful books I have ever had the pleasure of reading, easily level with classics such as Moby Dick or in some ways Paradise Lost, books to which Blood Meridian owes an obvious yet somehow inevitable debt. McCarthy himself states:</p>
<blockquote><p>
The ugly fact is that books are made out of books. The novel depends for its life on the novels that have been written.
</p></blockquote>
<p>Sidenote: This is from an interview. The man just up and <em>said</em> that. <em>Wow</em>.</p>
<p>Blood Meridian revolves around the experiences of a teenage runaway with an innate ability for violence as he drifts to Mexico and becomes involved with a gang of scalp hunters led by historical figure John Joel Glanton. This gang, while led by Glanton, also has a spiritual guide in the form of the terrifying Judge Holden, a huge, hairless albino with an apparently endless range of abilities and knowledge, who also happens to be the most sadistic murderer of them all. It is revealed that the gang first met Holden as they were out of ammunition, chased without hope through the desert by a large group of indians. Hope greeted them naked, sitting on a rock, as though he was expecting them. He promptly takes them to a volcano, and in one of the novel&#8217;s striking scenes of juxtaposed beauty and dirty violence instructs them on the creation of gunpowder, saving their lives. </p>
<p>As the gang carries out their scalp hunting trade they are initially treated as war heroes by the Mexicans, but soon they cease hunting for indians and commence scalping anyone they see. The book becomes a blur of holistic meditations by the Judge and scenes of absolutely horrific violence, the graphic abruptness of which is likely to turn many off the book. Off hand, the book describes the kid passing a tree hung with the corpses of many infants. In another, the brutal decapitation of a gang member is treated with seeming indifference by the other members of the gang. Death is close and constant, and as such is treated as a simple state of affairs, level with the Judge&#8217;s obsessive observation of plant and animal life through his travels. As a reader, I was for the most part desensitized by the frequent atrocities, though McCarthy is perfectly able to navigate the peaks and valleys of his narrative, and there would always pop up some new godawful scene to up the ante. </p>
<p>But to talk about the details of the violence is to miss the point, I think. I must admit the book is humbling in the extreme, and just writing this post is difficult for me. It is dense and complex, yet pure in its subject; It is a journey along the surface of the earth during which a lot of people die and a lot of thoughts are provoked by the Judge&#8217;s nihilistic sermons on the nature of man. The Judge is wholly dedicated to war and the &#8220;sanctity of blood&#8221;. The purity of its finality. In one of many genuinely enlightening segments he states the following.</p>
<blockquote><p>
Suppose two men at cards with nothing to wager save their lives. Who has not heard such a tale? A turn of the card. The whole universe for such a player has labored clanking to this moment which will tell if he is to die at that man&#8217;s hand or that man at his. What more certain validation of a man&#8217;s worth could there be? This enhancement of the game to its ultimate state admits no argument concerning the notion of fate. The selection of one man over another is a preference absolute and irrevocable and it is a dull man indeed who could reckon so profound a decision without agency or significance either one. In such games as have for their stake the annihilation of the defeated the decisions are quite clear. This man holding this particular arrangement of cards in his hand is thereby removed from existence. This is the nature of war, whose stake is at once the game and the authority and the justification. Seen so, war is the truest form of divination. It is the testing of one&#8217;s will and the will of another within that larger will which because it binds them is therefore forced to select. War is the ultimate game because war is at least a forcing of the unity of existence. War is god.
</p></blockquote>
<p>I&#8217;ve read McCarthy&#8217;s Judge Holden compared to John Milton&#8217;s Satan, and it rings true. Both are truly evil characters, yet they are written as incredibly compelling and charismatic characters. Every time the novel pauses to let the Judge speak, it becomes a memorable event. Among the illiterate murderers he travels with he is by far the most civilized, yet he is also the most fundamentally evil, a child killing psychopath with little clemency for any man. He is a modern paradox, and he is the driving force that makes the novel&#8217;s otherwise thin plot palatable: Blood Meridian is not a particularly dense story, but it is a very dense meditation, and reading it is a visceral and tasty experience. Its sense of flavor, weight and texture likens it more strongly to the most complex <em>meal </em>I ever enjoyed, rather than an epic story.</p>
<p>To finish up, I can&#8217;t say much other than that Blood Meridian is a uniquely powerful work on man and man&#8217;s nature, and man&#8217;s place in the universe, narrated breathlessly with great vigor, involving characters unlike any I have ever read about before. And in its closing pages, I sat in an airplane with absolute chills. </p>
<p>I can not recommend it enough, western or not. It&#8217;s a momentous achievement of a novel.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/08/thoughts-on-blood-meridian/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instance mapping singletons</title>
		<link>http://www.doomsday.no/esn/2010/08/automating-singleton-creation/</link>
		<comments>http://www.doomsday.no/esn/2010/08/automating-singleton-creation/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 18:37:01 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Singletons]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1080</guid>
		<description><![CDATA[So I&#8217;m a big fan of singletons; SUE ME. They&#8217;re the most rad thing ever and if you think otherwise you are a wrong person.
One of the things that have bothered me about them though is the necessity for adding boring boilerplate code, such as the ubiquitous getInstance() or its younger brother, the static instance [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m a big fan of singletons; SUE ME. They&#8217;re the most rad thing ever and if you think otherwise you are a wrong person.</p>
<p>One of the things that have bothered me about them though is the necessity for adding boring boilerplate code, such as the ubiquitous getInstance() or its younger brother, the static instance getter. For projects using a lot of singletons, such as states for state machines, this is the most boring shit ever.</p>
<p>Enter the instance map.</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> SingletonManager<br />
<span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">private</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> _map:Dictionary = <span style="color: #000000; font-weight: bold;">new</span> Dictionary<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Retrieves a cached instance of a class type<br />
&nbsp; &nbsp; &nbsp;* @param &nbsp; type<br />
&nbsp; &nbsp; &nbsp;* The class to instantiate/cache or retrieve<br />
&nbsp; &nbsp; &nbsp;* @return<br />
&nbsp; &nbsp; &nbsp;* The class instance. Ye gods I wish we had generics.<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> getInstance<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">type</span>:<span style="color: #000000; font-weight: bold;">Class</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>_map<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">type</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> _map<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">type</span><span style="color: #66cc66;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; _map<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">type</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">type</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> _map<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">type</span><span style="color: #66cc66;">&#93;</span>;<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #808080; font-style: italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Checks if an instance has been created<br />
&nbsp; &nbsp; &nbsp;* @param &nbsp; type<br />
&nbsp; &nbsp; &nbsp;* @return<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> contains<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">type</span>:<span style="color: #000000; font-weight: bold;">Class</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Boolean</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> _map<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">type</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">!</span>= <span style="color: #000000; font-weight: bold;">null</span>;<br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; <br />
<span style="color: #66cc66;">&#125;</span></div></div>
<p>Short and sweet. The difference is you no longer request your instance from the class itself, but from this manager, using the class type as the argument. If one has been created before, you get that instance. If not, a new one is created and cached. </p>
<p>Downsides are obvious; You lose some benefits of strong typing (easily overcome), and the verbosity of your code increases quite a bit;</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">stateManager.<span style="color: #006600;">setCurrentState</span><span style="color: #66cc66;">&#40;</span>SingletonManager.<span style="color: #006600;">getInstance</span><span style="color: #66cc66;">&#40;</span>MyState<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;</div></div>
<p>Benefits are grand however. *Any* class can be handled as though it were a singleton, you maintain a localized cache of all singletons making disposal fast and easy, and the contains() method allows easy testing to see if a singleton has been instantiated or not.</p>
<p>I&#8217;m quite enamored with this approach. How do you guys feel about it?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/08/automating-singleton-creation/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>AIR HTMLLoaders and mouse events</title>
		<link>http://www.doomsday.no/esn/2010/08/air-htmlloaders-and-mouse-events/</link>
		<comments>http://www.doomsday.no/esn/2010/08/air-htmlloaders-and-mouse-events/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 23:18:33 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[HTMLLoader]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1077</guid>
		<description><![CDATA[Just a quick tip.
If you&#8217;re wanting to listen to MOUSE_DOWN events from an AIR HTMLLoader, and want any and all mousedowns, not just HTML link clicks and the like, simply use the event&#8217;s capture phase:
htmlLoaderContainer.addEventListener&#40;MouseEvent.MOUSE_DOWN,myHandler,true&#41;
Bam, problem solved. I read some posts online about this issue and no good solutions, so here you have it  [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick tip.</p>
<p>If you&#8217;re wanting to listen to MOUSE_DOWN events from an AIR HTMLLoader, and want <em>any and all</em> mousedowns, not just HTML link clicks and the like, simply use the event&#8217;s capture phase:</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">htmlLoaderContainer.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>,myHandler,<span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span></div></div>
<p>Bam, problem solved. I read some posts online about this issue and no good solutions, so here you have it <img src='http://www.doomsday.no/esn/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/08/air-htmlloaders-and-mouse-events/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on Sonic the Hedgehog</title>
		<link>http://www.doomsday.no/esn/2010/08/thoughts-on-sonic-the-hedgehog/</link>
		<comments>http://www.doomsday.no/esn/2010/08/thoughts-on-sonic-the-hedgehog/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 23:28:18 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Game dev & design]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Video games]]></category>
		<category><![CDATA[Limbo]]></category>
		<category><![CDATA[R-Type]]></category>
		<category><![CDATA[Sonic the Hedgehog]]></category>
		<category><![CDATA[SSX Blur]]></category>
		<category><![CDATA[Synesthesia]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1064</guid>
		<description><![CDATA[I have a long lasting relationship of frustrated ambivalence when it comes to Sonic. As a kid I borrowed a friend&#8217;s Master System to play that system&#8217;s port of the first title, and I absolutely, truly enjoyed it. In retrospect I enjoyed it much more than the &#8220;real&#8221; 16-bit title, and I still feel the [...]]]></description>
			<content:encoded><![CDATA[<p>I have a long lasting relationship of frustrated ambivalence when it comes to Sonic. As a kid I borrowed a friend&#8217;s Master System to play that system&#8217;s port of the first title, and I absolutely, truly enjoyed it. In retrospect I enjoyed it much more than the &#8220;real&#8221; 16-bit title, and I still feel the Master System port, having less tempo-fueling processing horsepower to rely on, became a better platformer. There was certainly a bit of running about, but nothing as blisteringly bananas as what the Mega Drive was pulling off.</p>
<p>My chief complaint about Sonic 16 was simply that the pleasure derived from it was directly proportional to the speed and momentum you were able to build up, and the game adored taking that momentum away from you with enemies coming at you too fast for you to realistically react.</p>
<p>Sonic 16 was the <a href="http://en.wikipedia.org/wiki/R-type" target="_blank">R-Type</a> of platformers, rewarding memorization and trial and error with a sense of exhilarating flow that wasn&#8217;t really available elsewhere. That said, when he wasn&#8217;t running like a madman, Sonic was, by any standard, a very boring character to play; If you weren&#8217;t playing Sonic &#8220;right&#8221;, I felt, you weren&#8217;t playing a very fun game.<span id="more-1064"></span></p>
<p>Regardless of which port was superior, the 16-bit Sonic was the true starting point of the franchise, a franchise that started out obsessed with speed, flow and momentum, but gradually, literally lost its way with a menagerie of spotlight-stealing supporting characters that wound up diluting the game&#8217;s personality to the point where it was impossible to care about.</p>
<p>As the series has evolved, it has become one of the most wayward of franchises. Almost every single title to come out since Sonic CD has been weakly attempting to toss up the formula and find some sort of modern uniqueness to make it relevant, and they have for the most part been failures across the board.</p>
<p>I rather enjoyed the first Sonic Adventure on the Dreamcast, but even that game was often a complete bore to play because of its insistence on contrived storytelling and unpolished supporting characters. As the modern titles experimented with Sonic&#8217;s sole unique attribute, speed, the emphasis on memorization and trial &amp; error made the games even harder to love.</p>
<div id="attachment_1073" class="wp-caption aligncenter" style="width: 610px"><img class="size-full wp-image-1073" title="Sonic_The_Hedgehog_Wallpaper_by_Ede" src="http://www.doomsday.no/esn/wp-content/uploads/2010/08/Sonic_The_Hedgehog_Wallpaper_by_Ede.jpg" alt="" width="600" height="437" /><p class="wp-caption-text">Them&#39;s a lot of generic looking mascot dudes!</p></div>
<h3>Sonic the Hedgehog needs to grow up.</h3>
<p>There is light however. There has been one branch of the series that surprised and impressed me. Sonic Rush on the Nintendo DS brought the game straight back to level-for-level traversal with a huge emphasis on constant speed, alternate paths and a trick combo system that aided both your score and your momentum.</p>
<p>Topping it off, courtesy of Hideki Nakanuma (also known for his stellar work on Jet Set Radio), was one of the most fiercely hyperactive rave soundtracks ever committed to a platformer; I don&#8217;t use the word &#8220;rave&#8221; lightly. This was straight up rave, 303s, pitched up samples, cut up breakbeats, outright randomness. This was a game that not only played fast, but felt <em>inherently </em>fast<em>.</em></p>
<p><object width="425" height="355" type="application/x-shockwave-flash" data="http://www.youtube.com/v/QeyK4M_vFlY"><param name="movie" value="http://www.youtube.com/v/QeyK4M_vFlY" />This video was embedded using the YouTuber plugin by <a href="http://www.roytanck.com">Roy Tanck</a>. Adobe Flash Player is required to view the video.</object></p>
<p>The soundtrack was absolutely central to the game. When playing through stages with Blaze, the only playable supporting cast member (thank god), a remix of the original tune would play with more up-beat percussion. The result tentatively approached synesthesia, urging you to go faster, flow better, do more combos, and just headnod like a jackass to the catchy infectious music.</p>
<p>Sega has since abandoned Sonic Rush, and proceeded to create this shit instead.</p>
<p><object width="425" height="355" type="application/x-shockwave-flash" data="http://www.youtube.com/v/cFiQjtRkc3U"><param name="movie" value="http://www.youtube.com/v/cFiQjtRkc3U" />This video was embedded using the YouTuber plugin by <a href="http://www.roytanck.com">Roy Tanck</a>. Adobe Flash Player is required to view the video.</object></p>
<p>&#8220;Sonic the Hedgehog&#8221;, a next-gen &#8220;reinvention&#8221; of the series that among other things featured Sonic, a surreal blue hedgehog, romancing a generic human princess lady, all set to generic techno rock (the de-facto standard music genre for Sonic ever since its brief ridiculous stint with big-band calypso after realizing it wasn&#8217;t 8-bit anymore). Sonic Team seems utterly incapable of evolving the Sonic franchise.  When hordes of fans clamor for the pure gameplay of old (though IMHO this is also misguided), Sega again and again looks to <em>Sonic Adventure</em> for inspiration. It&#8217;s crazy.</p>
<p>As Sonic 4 is about to hit us, created by Sonic Rush studio Dimps, playing by the 16 bit template to a fault, I have to wonder if Sega haven&#8217;t completely and utterly lost their marbles. I have a vague hope that Sonic 4 will at the very least be a competent platformer, but without a real hook to its character beyond trial and error resulting from unplayable speeds, it blows my mind that they haven&#8217;t stolen more from Sonic Rush&#8217;s mechanical innovations, such as a trick-powered boost meter letting you maintain your ridiculous speed while simply powering *through* any obstacles in your path.</p>
<p>It started with a few too many <a href="http://en.wikipedia.org/wiki/Paulaner" target="_blank">Paulaners</a>, reading Eurogamer&#8217;s articles on Sonic 4 and <a href="http://www.eurogamer.net/articles/the-colour-of-sonic-interview" target="_blank">Sonic Colors</a>, and the resulting drunken musing;</p>
<h3>Why on earth doesn&#8217;t a game character named Sonic have any sound-related powers?</h3>
<p>One of my favorite moments in the absolutely stellar <a href="http://www.youtube.com/watch?v=kD5F54SZkMA" target="_blank">Limbo</a> is a set piece in which the rules of the game change in sync with a pulsing rhythm in the background music/ambience. Being largely abstract, finding the rhythm in the ambient chaos to traverse a range of insta-death hazards was an almost transcendental experience as a gamer.</p>
<p>Here was a game that understood that a large portion of our brains is continuously working on processing environmental audio, and leveraged it to craft a deeper connection with the player.</p>
<p>Most games are more than happy relegating music to the status of background noise. It&#8217;s as though we have music for the sake of having music. Sound is feedback, but we are rarely offered a chance to feed back into the sound in a meaningful way. Some games play around with this, but with the way the market seems happy to overlook the technicalities of sound, I can imagine the interactive soundtrack of SSX Blur, rewarding flow and skilled play with music that &#8220;leveled up&#8221;, could have been a tough sell to the funding party.</p>
<p>If any franchise has a natural connection with sound, I suggest, it would be Sonic the Hedgehog. From the banality of the name, to the fact that the character&#8217;s inherent abilities are tied inextricably to flow and rhythm. I would love to play a Sonic game in which the soundtrack shifts to telegraph challenges, increases in intensity with the gameplay, and rewards flow and skill with not only progress, but with a better experience. Anyone who has played REZ will know the sensation of advancement is as tied to evolving the music as it is to actually winning the game. A huge part of the appeal of rhythm action titles like Guitar Hero is the inherent reward mechanic; By playing better, you get to hear better music.</p>
<p>Fingers crossed Sega will look to Rush again for their future titles. They need some fundamental color like this angle to differentiate themselves; You can&#8217;t coast on nostalgia like this forever. Worst case scenario, Sonic 4 will remind veterans of the series of how clunky it actually is in today&#8217;s environment.</p>
<p>For a character called Sonic, it&#8217;s about time he actually breaks the sound barrier.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/08/thoughts-on-sonic-the-hedgehog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Thoughts on Inception</title>
		<link>http://www.doomsday.no/esn/2010/07/thoughts-on-inception/</link>
		<comments>http://www.doomsday.no/esn/2010/07/thoughts-on-inception/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 23:28:47 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Movies]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Inception]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1052</guid>
		<description><![CDATA[ I went to see Inception tonight, and given the amount of hype surrounding that film and my own fairly divergent experience, I feel compelled to write about it.
I won&#8217;t waste your time describing the concept of the film beyond the basics; You have likely already been informed in full. It&#8217;s not that the idea [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-1053 alignleft" title="A beautifully surreal scene, which you will not see in the film" src="http://www.doomsday.no/esn/wp-content/uploads/2010/07/inception-poster-202x300.jpg" alt="" width="202" height="300" /> I went to see Inception tonight, and given the amount of hype surrounding that film and my own fairly divergent experience, I feel compelled to write about it.</p>
<p>I won&#8217;t waste your time describing the concept of the film beyond the basics; You have likely already been informed in full. It&#8217;s not that the idea of a heist movie infused with dream logic is in any way bad, and indeed Inception is a very entertaining, expertly made film that offers some very cool moments.</p>
<p>The trouble is, for most of its 148 minutes, I was simply not drawn in. Characters are introduced quickly and we are asked to accept their presence and never question their motives, which I assume is money. They simply are there, doing What Their Character Does. Even the protagonist remains an emotional blank slate for all but a single moment (DiCaprio cries in anguish better than any actor I can think of), and I simply could not make myself care about him or his wishes. This problem applies to every other character, some of which are given moments in which to be human, but are promptly relegated back to their duties as plot devices. This dichotomy of human being/movie character is a real weakness of the script that it never really recovers from, and this missing core of humanity really hurt my investment in the story. Cartoon nonsense like naming its labyrinth maker <a href="http://en.wikipedia.org/wiki/Ariadne" target="_blank">Ariadne</a> and the bad bits of the protagonist&#8217;s subconscious <a href="http://translate.google.com/translate_t?q=Mal&amp;um=1&amp;ie=UTF-8&amp;sa=N&amp;hl=no&amp;tab=wT#fr|en|Mal" target="_blank">Mal</a> further ruins any character investment.</p>
<p>The biggest issue with a film about dreams for me, and especially one attempting to rigorously quantify dreaming the way Inception does it, is that I am a pretty serious dreamer. I&#8217;ve been writing dream logs and trying to understand my dreams for over a decade, and when a film attempts to drag me into its idea of  what dreams are and how they work, it&#8217;s set itself a mammoth task. I realize how subjective this is, and I can only really speak for myself. Dreams are as individual as fingerprints, and how we cope with them are hugely personal matters. With its humanity lost to a large cast I couldn&#8217;t really care about, Inception was relying on its high concept to pull me through, and in this regard, it simply didn&#8217;t work that well.</p>
<p>The dreams, the dreamers and the &#8220;dream ecosystem&#8221; of subconscious projections destroying intruders were altogether very silly to me. The dreams seemed incredibly mundane to me, and the way they were connected to the sleeping dreamer by trite mechanisms like shocks, splashes or water or whatever else seemed the path of least resistance. In one beautifully made scene, a character navigates a hotel in zero gravity, and even does combat in that state. The scene is impressively made and beautiful to look at, but the reasons for the lack of gravity are so mundane that it actually lessens the scene; If a person dreams in zero gravity, this apparently means she will be in dream zero gravity. It&#8217;s absolutely ludicrous.</p>
<p>The film attempts early on to create a cosmology for itself of history, rules, do&#8217;s and don&#8217;ts, and invents new whimsical rules as it&#8217;s needed to suit the plot. Early on, dream death is explained as a deus ex machina; an escape route. The film invents a ridiculous contrivance to release itself of this mechanism, I suppose to give dream death a sense of consequence, but uses this contrivance to further its plot, and as we are introduced to the workings of a sort of shared coma, all suspension of disbelief is lost to the winds.</p>
<p>As a sidenote, I have repeatedly shot myself in the head in dreams, and death in dreams does not have to be that catastrophic, more of a meaty physical thing. I also &#8220;lived&#8221; through an atomic bombing which literally turned me to shreds. I didn&#8217;t wake up. But I digress.</p>
<p>It&#8217;s a fine art, building a film on a ludicrous premise. Some action films are derided for their lack of brains, but their lack of brains is often what makes them tick. Predator, a real modern classic of stupidity, works because it doesn&#8217;t attempt to justify its existence. It survives to this day because its execution is front and center, and the reality it presents never attempts to explain itself. Inception spends over an hour setting up its own flawed internal logic, filled with Because I Said So&#8217;s, and then fails to take that logic anywhere <em>interesting</em>. As a result, it challenges us to keep up, but leaves us with a puzzle box where we can admire the clockwork, but there is nothing else to take from it. As a film about exploring dreams, I&#8217;m actually more inclined to recommend The Cell, and that feels ridiculous but it also feels true.</p>
<p>Technically the film is absolutely competent. It looks stunning. Until you remember you&#8217;re looking at dreams, and that this is not The Matrix. I was left struggling to reconcile my own dream experiences with the steely gray shooty-bang action film Inception repeatedly insisted was what people dreamt of. Paradoxically, the ordinariness of the dreams on display further dehumanized the characters; Who&#8217;d dream this boring nonsense? Even at my most mundane I&#8217;d experience more peril than a car chase. I mean come on. How boring are these people?</p>
<p>To sum it up though, Inception is in no way a bad film, but it asks a lot of faith from its viewer, faith that I couldn&#8217;t muster. When I left the theater, others were sat in groups as the credits rolled, discussing the intricacies of the plot and trying to make sense of it. To me, this just cemented the feeling that I had just seen another puzzle film. It&#8217;s an intricate, beautiful puzzle film, but it goes no further, and where it could have asked interesting questions about a fundamental part of our humanity, it is content to show faceless men shooting at each-other to do things that don&#8217;t really matter. I was disappointed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/07/thoughts-on-inception/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dangerous code geeks</title>
		<link>http://www.doomsday.no/esn/2010/07/dangerous-code-geeks/</link>
		<comments>http://www.doomsday.no/esn/2010/07/dangerous-code-geeks/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 18:00:32 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[ECMA]]></category>
		<category><![CDATA[Geeks]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1035</guid>
		<description><![CDATA[I recently read through Peter Seibel&#8217;s excellent Coders at work, and if you&#8217;re a developer of any sort, I reckon you should too. Three interviews in the book stood out to me, though they are all excellent; Jamie Zawinski, Douglas Crockford and Brendan Eich.
Jamie&#8217;s interview cements the notion of a duct tape programmer; A developer [...]]]></description>
			<content:encoded><![CDATA[<p>I recently read through Peter Seibel&#8217;s excellent <a href="http://www.codersatwork.com/" target="_blank">Coders at work</a>, and if you&#8217;re a developer of any sort, I reckon you should too. Three interviews in the book stood out to me, though they are all excellent; Jamie Zawinski, Douglas Crockford and Brendan Eich.</p>
<p>Jamie&#8217;s interview cements the notion of a <a href="http://www.joelonsoftware.com/items/2009/09/23.html" target="_blank">duct tape programmer</a>; A developer who understands that in real life, the work is WORK, and problems need to be solved pragmatically for deadlines to be met, paychecks to be cashed in and children to be fed. He&#8217;s an autodidact, he has worked with people &#8220;smarter&#8221; and &#8220;dumber&#8221; than himself, but none of that fazes him. It&#8217;s work, and he does it well. The goal is to finish something that works according to expectations.</p>
<p>Reading this interview I personally felt a huge relief. I&#8217;ve worked with others from designers who can barely understand why curly braces exist to having my code reviewed (and panned) by university computer science graduates. On one end of the spectrum, I am a wizard, where I enable things others can&#8217;t even understand is possible. It feels fantastic. On the other, I&#8217;m a heathen. Why all these singletons? Why no dependency injection? Why not this? Why not that? &#8220;Over there&#8221;, I don&#8217;t know what&#8217;s what.</p>
<p>But, you know, for the most part, I simply do what is necessary to meet the demands within the alotted time frame, and to be able to adapt quickly when changes are inevitably requested. It makes for code that is often ad-hoc and cobbled together. I have never regretted this; My work can turn on a dime. I refuse to let someone geekier than me kill my personal joy in programming; Creating things.</p>
<p>Compared to Zawinski, Crockford and Eich are almost polar opposites, and their interviews, side by side, read like an argument and its rebuttal. Crockford is, from what I can tell, a programming &#8220;geek&#8221;. We should all know the geek-nerd-dork-dweeb venn diagram by now:</p>
<p><a href="http://www.doomsday.no/esn/wp-content/uploads/2010/07/nerd-venn-diagram-20090915-092804.jpg"><img class="aligncenter size-full wp-image-1036" title="nerd-venn-diagram-20090915-092804" src="http://www.doomsday.no/esn/wp-content/uploads/2010/07/nerd-venn-diagram-20090915-092804.jpg" alt="" width="434" height="407" /></a></p>
<p><span id="more-1035"></span></p>
<p>Crockford and Eich disagree strongly on the ECMAScript 4 specification, which Eich designed in committee with Adobe and others. ECMA4 is, as we know, ActionScript 3. Crockford spends his interview first acknowledging the problems of ECMA3 in its JavaScript implementation; Reliance on a global object and resultant issues with the security model. Beyond that, JavaScript is apparently a godsend by virtue of being a true &#8220;lambda language&#8221;.</p>
<p>Let&#8217;s digress for a minute or two.</p>
<h3>&#8220;Lambda&#8221;</h3>
<p>If you&#8217;re not familiar with this incredibly geeky term, in terms of ActionScript and JavaScript a &#8220;lambda function&#8221; is best understood as a function that isn&#8217;t declared a class or instance function but rather kept in a variable and passed around, or just called right then and there and then left to garbage collection. Here are some examples:</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">//Anonymous function simply returning a value</span><br />
<span style="color: #000000; font-weight: bold;">var</span> n:<span style="color: #0066CC;">Number</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">20</span>; <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//n is assigned the value 20</span><br />
<span style="color: #000000; font-weight: bold;">var</span> a:<span style="color: #0066CC;">Array</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">3</span>, <span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#93;</span>;<br />
<span style="color: #808080; font-style: italic;">//Anonymous (lambda) function creating and calling an anonymous (lambda) function of its own</span><br />
<span style="color: #000000; font-weight: bold;">var</span> sum:<span style="color: #0066CC;">Number</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #000000; font-weight: bold;">var</span> n:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;  a.<span style="color: #b1b100;">forEach</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>value:<span style="color: #0066CC;">Number</span>, <span style="color: #0066CC;">index</span>:<span style="color: #0066CC;">int</span>, <span style="color: #0066CC;">array</span>:<span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span> n += value; <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #b1b100;">return</span> n; <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<br />
<span style="color: #808080; font-style: italic;">//Function returning a lambda function</span><br />
<span style="color: #000000; font-weight: bold;">function</span> getFunc<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #000000; font-weight: bold;">Function</span> <span style="color: #66cc66;">&#123;</span><br />
<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span><span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Hello lambda&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#125;</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
getFunc<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//crazy lookin' but completely valid</span></div></div>
<p>As you can guess, lambda functions are hugely powerful. Passing references to functions around with adjustable scope is a fantastic tool, and though I personally feel like anonymous functions drastically reduce the readability of the code and introduce complexity where reusability should be preferred, I still use them from time to time.</p>
<p>Back when I first started learning object oriented programming, it was in Flash 5 ActionScript 1, which adhered closely to ECMA3. I wanted to learn game programming, and here was a language that didn&#8217;t offer almost any of the terminology every book and article I read was referring to. Classes, inheritance, interfaces, none of that. Flash developers struggled to adapt to a market that demanded larger and more complex applications in a language to which the closest parallel was one that barely could scale an image or change the value of a form field.</p>
<p>The Flash community, like the JavaScript community, became home to some seriously clever hackers. There was a lot of crossover as coders in either camp struggled to wrangle some order into the languages they were bound to. Soon, I was taught how to create classes in Flash, but our classes were simply anonymous functions.</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">var</span> obj:<span style="color: #000000; font-weight: bold;">Function</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span><br />
<span style="color: #0066CC;">this</span>.<span style="color: #006600;">bool</span> = <span style="color: #000000; font-weight: bold;">true</span>;<br />
<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">name</span> = <span style="color: #ff0000;">&quot;MyObject&quot;</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">var</span> myObj:<span style="color: #0066CC;">Object</span> = <span style="color: #000000; font-weight: bold;">new</span> obj<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>myObj.<span style="color: #0066CC;">name</span><span style="color: #66cc66;">&#41;</span>;</div></div>
<p>This approach necessitated judicious understanding of scope, and resulted in more this-keywords than you ever see in modern programming. Yet we had no inheritance. I don&#8217;t even want to write about the boring, convoluted boilerplate code we had to write time and time again to approximate a simple &#8220;class Foo extends MovieClip&#8221;. Everything that now is nice and orderly was a hack then.</p>
<p>Of course there were boons still. We grew accustomed to manipulating the prototype chain, by which we could give any object new properties by way of manipulating its prototype. For instance.</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #0066CC;">MovieClip</span>.<span style="color: #0066CC;">prototype</span>.<span style="color: #006600;">flipX</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><br />
<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_xscale</span> = -<span style="color: #cc66cc;">1</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
anyMovieClip.<span style="color: #006600;">flipX</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></div>
<p>In retrospect, was jerking off the prototype chain worth the syntactic mess we were dealing with? Personally, I would rather forget those years. Learning was slow, development was convoluted, and mastery always seemed far away. It was difficult to settle into a comfortable groove. On larger projects (I worked on an AS1 MMO at one point) code maintenance was almost completely unbearable. Reusability was a joke.</p>
<p>Long story short, 2 years into my career as an ActionScript developer, I had an ulcer, and I had gallstones the size of my thumbnail (bybye gall bladder). The stress and discomfort associated with AS1 development made me swear off the industry altogether at one point. It took nearly 6 months to reel me back in. Thank god I was met with AS2 and concessions towards traditional coding practices. When AS3 landed, my world snapped into place. Now I could work. Thank you ECMAscript 4.</p>
<h3>Mommy, don&#8217;t make me go back there!</h3>
<p><a href="http://www.doomsday.no/esn/wp-content/uploads/2010/07/scared-kid.jpg"><img class="aligncenter size-full wp-image-1040" title="scared-kid" src="http://www.doomsday.no/esn/wp-content/uploads/2010/07/scared-kid.jpg" alt="" width="384" height="194" /></a></p>
<p>Reading Crockford&#8217;s arguments for ECMA 3.1 as he simultaneously decries the dominance of C++ over Eiffel is terrifying, simply because the man has real power. He&#8217;s a JavaScript evangelist (of all things) who, to my ears, sounds more enamored with the technicalities and THEORIES than the real world applications. He&#8217;s clearly intelligent, clearly obsessive, and clearly out of touch with the fact that thousands of people make their living using and loving a programming language he condemns for its &#8220;complexity&#8221;.</p>
<p>I&#8217;ll reiterate my strong respect for the JavaScript community; They have taken a language that literally made me cough up blood and have to give up fatty foods and wrangled it into shape with frameworks like jQuery and Prototype which finally allow developers to do <em>real work</em>. But this doesn&#8217;t change the fact that the fundamental language was painful enough to necessitate this sort of wrangling. Hell, jQuery syntax barely resembles JavaScript. As CSS3/JS/HTML5 looms ahead, the notion that the future of the base language is controlled at least in part by people who actually LIKE the bits the community has done its best to override. As a consequence, the Flash community as well are collateral damage as Adobe need to defend their &#8220;flawed&#8221; language.</p>
<p>I can&#8217;t recall the ActionScript community complaining about the complexity or verbosity of the language itself. We have our issues more with the lack of complexity, such as lack of abstract keyword, or in some cases with the verbosity of the flash framework, ie addEventListener, but are we really bothered by how &#8220;complicated&#8221; it is?<br />
Anyone wanting the loose anarchy of AS2 can switch off strict mode and prototype and dynamic type and lambda the shit out of anything all they want.</p>
<p>So the argument seems to be then that those of us enjoying the complexity and verbosity are somehow <strong>wrong</strong>.</p>
<p>And that&#8217;s the crux of the problem for me. Programming languages should be judged by their merits, not their subjective aesthetic qualities.</p>
<p>After years of ECMA4, and a blooming, prosperous Flash community being the testbed for that language, how can we call it wrong?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/07/dangerous-code-geeks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A love letter to Prototype</title>
		<link>http://www.doomsday.no/esn/2010/07/a-love-letter-to-prototype/</link>
		<comments>http://www.doomsday.no/esn/2010/07/a-love-letter-to-prototype/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 23:58:46 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Video games]]></category>
		<category><![CDATA[Prototype]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1025</guid>
		<description><![CDATA[In 2005 I was pleasantly surprised by The Incredible Hulk: Ultimate Destruction, an open-world free-roaming action game by Radical Entertainment. &#8220;Pleasantly surprised&#8221; is the wrong term. The game offered an unparalleled sense of freedom of movement. It was a game in which you could hold a trigger button and run freely in whatever direction, the [...]]]></description>
			<content:encoded><![CDATA[<p>In 2005 I was pleasantly surprised by The Incredible Hulk: Ultimate Destruction, an open-world free-roaming action game by Radical Entertainment. &#8220;Pleasantly surprised&#8221; is the wrong term. The game offered an unparalleled sense of freedom of movement. It was a game in which you could hold a trigger button and run freely in whatever direction, the camera trained on an enemy, with no fear of impairment; The Hulk would effortlessly run through cars, up buildings and in general never stop until you told him to or he was hit by some particularly nasty ordnance. Even then, upgrades to his powers gave him the ability to recover in mid-air and land smoothly, ready to leap back at the enemy. This complete freedom of uninterrupted movement coupled with a combat system that always asked you to take what the world was currently offering you that very split second and use it to your advantage made the game not only fun, but often frighteningly intense. This game would not let go of you. If your attention flinched, you&#8217;d get pummeled and brought to a stop; The worst sensation ever in a game where moving around is so rewarding. Ultimate Destruction was an <em>incredible</em> game.</p>
<p>You may remember Ang Lee&#8217;s underrated movie adaption, and the scenes showing The Hulk bounding through the sky, running along walls and throwing tanks into the horizon; This was a full game of that, with none of it on autopilot. Some games seem designed to make your palms sweaty within minutes, and Ultimate Destruction was spectacular at this. It even leveraged it with a control system where every single thing you did, from punching to jumping to throwing  and ripping at things, was chargeable; By holding down or tapping the button in question the effect of a given move would increase exponentially. This was a game where, if you wanted to hit the guy again, but <em>harder</em>, you could do just that.</p>
<p>When Radical&#8217;s next iteration on this style of gameplay hit us in 2009 in the form of Prototype, reviews were mixed. It arrived in close proximity to several other open world action games, some with tighter scope and higher polish, most notably Sucker Punch&#8217;s Infamous, a truly impressive open world action game. Perhaps worst of all, Prototype had an image problem, featuring one of the least photogenic protagonists in recent memory.</p>
<div id="attachment_1026" class="wp-caption aligncenter" style="width: 610px"><img class="size-large wp-image-1026" title="alex" src="http://www.doomsday.no/esn/wp-content/uploads/2010/07/alex-600x565.jpg" alt="" width="600" height="565" /><p class="wp-caption-text">Seriously, what the hell</p></div>
<p>This game swaggered out of the gate featuring what would appear to be a cookie cutter anti-establishment story about a government coverup, a superpowered amnesiac urban guy-man-thing with Awesome Powers, set in boring old Manhattan. On first glance, for all intents and purposes, it was an embarassing tribal tattoo of a game.</p>
<p>And then I played it.</p>
<p><span id="more-1025"></span></p>
<h3>Prototype blows my freaking mind, <em>every time I play it</em>.</h3>
<p>I played through the game once when it was released and I recently decided to play it again. I quickly remembered both why I love it so much, and also why I think it&#8217;s a <em>special </em>game that deserves greater attention.</p>
<p>Prototype plays its premise with a straight face, and a terribly mean spirit. As New York is quarantined and the military attempts to contain a horrible viral disease that threatens to end mankind, Alex Mercer, a superpowered amnesiac infected with a special strain of said disease tries to use his mutations to get back at whoever infected him and &#8220;caused all this&#8221;. Caught in the middle are thousands of terrified, screaming civilians.</p>
<p>Alex is a complete textbook psychopath. Everything he does is for his own base needs, and his need for revenge. Collateral damage takes up a whole new meaning as bystanders aren&#8217;t merely ignored in the heat of combat, but take on the role of thrown weapons, disguises and even food.</p>
<p><img class="aligncenter size-large wp-image-1028" title="prototype_28-06-08_01" src="http://www.doomsday.no/esn/wp-content/uploads/2010/07/prototype_28-06-08_01-600x334.jpg" alt="" width="600" height="334" /></p>
<p>As Manhattan is torn to bits by the desperate struggle of the army to contain the thousands of hyperagressive viral monsters, the sky turns red with fire, and the streets fill with the panicked screams of the innocent.</p>
<p>At first while you play, perhaps you&#8217;ll try to minimize the collateral damage, swerving to avoid civilians or taking the battle to less populated areas. But all these attempts are futile. Eventually you WILL have to grab an innocent old lady, drag her to the top of a building, hear her feebly cry that you are hurting her, before you devour her alive. To survive.</p>
<p>Attacks upgraded over time, starting at simple punches but inevitably offers devastating earth-cratering thunderbolts as part of your common meat and potatoes arsenal. As you drop from a skyscraper into a crowd, bystanders are pulverized, and after an hour or so of gameplay, you are desensitized. The screaming, panicking innocent just become part of the background noise, already dark with brooding synthesizers and distorted percussion.</p>
<p>Prototype is one dark game, and it&#8217;s dark on a scale other games don&#8217;t dare approach. It offers you ultimate physical power and agility, to the point where it can barely be contained, and set you loose on the masses. This is a game where you will inadvertently kick a person so hard he will become a bloody surf board as he slides along the ground with your foot embedded in his head. It is relentlessly grim, relentlessly intense, and it just never, ever lets up.</p>
<p><a href="http://www.doomsday.no/esn/wp-content/uploads/2010/07/prototype_timessquare_11.jpg"><img class="aligncenter size-large wp-image-1030" title="prototype_timessquare_1" src="http://www.doomsday.no/esn/wp-content/uploads/2010/07/prototype_timessquare_11-600x192.jpg" alt="" width="600" height="192" /></a></p>
<p>There is no open-world model of hell as complete as Prototype&#8217;s, and it is completely stunning to play for this exact reason. Where Infamous toyed around with this darkness, Prototype has no inhibitions. It wants the horror to be front and center, and pulls out all the stops. Compared to the swaths of death Alex Mercer carves through the innocent, Infamous&#8217; heartstring tug at the loss of loved ones becomes almost funny.</p>
<p><strong>Prototype is never funny</strong>. It is dark, painful, bleak, screaming chaos. When the sun rises against the Manhattan skyline, it feels ironic.</p>
<p>If Radical hadn&#8217;t been impeccable engineers, this nightmare vision could never have been done. The streets are densely crowded, the framerate never cuts, and your movement never stops. Monsters leap and bound after you, as agile as you are, and you never have a second to stop. You need to keep running, you need to keep attacking, and you need to keep surviving. Nothing in Prototype breaks character. It is a stunning technical achievement.</p>
<p>With time, I come to accept Alex&#8217; character design as well. He&#8217;s not someone to like. He&#8217;s a monster. And playing him is harrowing and primally delightful.</p>
<p>The best way to play the game, if you ask me, is on a well specced PC with an Xbox 360 controller. Crank up the resolution, max it out, put on some good headphones and just immerse yourself in how horrible it all is. It&#8217;s stunning.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/07/a-love-letter-to-prototype/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What&#8217;s going on with Doomsday Console?</title>
		<link>http://www.doomsday.no/esn/2010/06/whats-going-on-with-doomsday-console/</link>
		<comments>http://www.doomsday.no/esn/2010/06/whats-going-on-with-doomsday-console/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 22:08:19 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Doomsday Console]]></category>
		<category><![CDATA[FOTB]]></category>
		<category><![CDATA[Wall of text]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1015</guid>
		<description><![CDATA[Considering this is my elevator pitch topic at Flash on the Beach this year; Seen this thing before?

If any of you have been following our googlecode repository, you have probably noticed a lack of significant updates . There is a simple reason for this; We are giving it a pretty serious overhaul, so much so [...]]]></description>
			<content:encoded><![CDATA[<p>Considering this is my elevator pitch topic at Flash on the Beach this year; Seen this thing before?</p>
<p><img class="alignnone" title="Doomsday console screenshot" src="http://andreas.creunaclient.no/blogfiles/screenshot.PNG" alt="" width="765" height="403" /></p>
<p>If any of you have been following our <a href="http://code.google.com/p/doomsdayconsole/" target="_blank">googlecode repository</a>, you have probably noticed a lack of significant updates . There is a simple reason for this; We are giving it a pretty serious overhaul, so much so we have decided to move development to a closed repository until we feel a publication of the new codebase is worthwhile. Central to 2.0 is a new emphasis on usability. I&#8217;ll use this as an excuse to effectively re-announce the Doomsday Console, and outline the strategy we are undertaking henceforth.<span id="more-1015"></span></p>
<h2>What is Doomsday Console 2.0?</h2>
<h3>1. A logger</h3>
<p>The Doomsday Console is a hidden debugging utility you can easily include in your Flash or Flex application. At its most basic, it offers an output text field for logging/tracing purposes. You &#8220;print&#8221; to this field with a static method. The print method takes a number of arguments, endowing printed lines with various functionality. For instance, you can simply print out a text message, but you can also color code it, or make it a hyper-link of sorts to related objects, or even the method that caused the print to begin with. Printed messages can be filtered by source, color, arbitrary flags, and searched quickly. With the DDConsole, a printed message is no longer just a bit of information; It is a bit of information you can respond to, and use as a basis for further runtime investigation.</p>
<p><strong>This is the first pillar of the design of 2.0: </strong>A context-aware output window of user-configurable granularity, allowing any number of appended metadata of any type.</p>
<h3>2. A command-line interface</h3>
<p>The Doomsday Console is a command-line interface with a simple syntax, robust self-documenting auto-complete and persistent command history, ensuring every time you rebuild your app, you can continue right where you were. Built-in console commands nets you application introspection, allowing you to traverse the application structure much like the file system on your computer, calling methods with variable arguments, altering exposed variables, and even instantiating new objects and altering the display list.</p>
<p>New commands are easily created through a static &#8220;createCommand&#8221; method, allowing you to call any method in your application from any context; Invaluable for on-site debugging or game testing. Through custom commands, you can easily create full command-line applications; Excellent when developing remote APIs or networked apps; For instance, an IRC or Twitter client can easily be thrown together with no other front-end whatsoever.</p>
<p><strong>This is the second pillar of the design of 2.0: </strong>Direct, responsive access to method testing, and a comprehensive set of tools for navigating and altering your application at run-time. The previously overly verbose syntax is altered significantly in 2.0, incorporating a proper lexical parser to allow for a more natural, robust ECMA-style syntax. If you&#8217;re familiar with JavaScript, there isn&#8217;t much of a learning curve.</p>
<h3>3. A scalable collection of visual developer tools and gadgets</h3>
<p>In its early development, before going public, Doomsday Console was a collection of every single visual utility I ever wrote for myself. This included measuring brackets, line guides, wireframe drawing tools, &#8220;controllers&#8221; letting you visually access all properties of a visible DisplayObject, graph charts and the like. The intent was to allow a developer to test out visual changes before committing them to code</p>
<p>For 2.0, this sort of functionality is separate and defined as &#8220;plugins&#8221;. Plugins implement an interface, and are mapped as singletons through a static method. The intent is to create a framework where anyone can design any sort of visual utility, and we can include any old kind of rambling coolness people create without &#8220;polluting&#8221; the core functionality. This also introduces a level of scalability; Prior versions of the console bloated with these utilities, that while useful to some were largely useless to most. Conceivably, this allows for a minimum configuration of the console that shouldn&#8217;t impact the size of your application as dramatically as it has in the past.</p>
<h3>4. Discreet</h3>
<p>The Doomsday Console has been engineered from the start to carry as small a performance footprint as possible. When hidden, it doesn&#8217;t actually do anything at all. The console can be locked with a number of methods, including key sequences, passwords or keystrokes, ensuring it will remain hidden from end-users until needed, allowing you to go live with it embedded with no fear of security hazards. All references stored by the console are weak, and no events are ever dispatched by default.</p>
<h3>5. Neat lookin&#8217;</h3>
<p>Spartan and clean but with an eye for detail, the Doomsday Console should sit pretty on any application. Thoroughly themeable, you can configure it to fit with your company profile should you see fit.</p>
<h3>6. A hacker&#8217;s dream</h3>
<p>The Doomsday Console offers near absolute control of your application. Built-in commands allow you to carry out extensive changes to an application at run-time, from creating graphics and assigning event listeners to creating and positioning new text fields with new textformats. Strings of commands can be run as batch-files, allowing a form of monkey-patching.</p>
<h2>Who would dig it?</h2>
<p>Game developers, developers of on-site applications such as kiosk apps, visualization or art installations, Flex RIA developers wanting extensive runtime debugging utilities. Anyone with a love for Terminal or CMD. Anyone tired of making black box sprite buttons or stage click handlers to test methods. Anyone tired of the compile-trace-rewrite-compile loop.</p>
<h2>When can you get it?</h2>
<p>You can grab 1.0  of the console and do most of this already. <a href="http://code.google.com/p/doomsdayconsole/" target="_blank">Go get it!</a><br />
2.0 will be in concentrated development throughout July by a team of 3, and we&#8217;ll be publishing in anticipation of Flash On The Beach 2010.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/06/whats-going-on-with-doomsday-console/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Going back to freelancing</title>
		<link>http://www.doomsday.no/esn/2010/06/going-back-to-freelancing/</link>
		<comments>http://www.doomsday.no/esn/2010/06/going-back-to-freelancing/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 21:34:55 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1003</guid>
		<description><![CDATA[I&#8217;ve quit my job. I want to play more, experiment more, do different things and increase the learning curve. I want to do things I haven&#8217;t done before, I want to play with more technologies in different arenas, and most of all I want to show how bad ass a developer I am. Last time [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve quit my job. I want to play more, experiment more, do different things and increase the learning curve. I want to do things I haven&#8217;t done before, I want to play with more technologies in different arenas, and most of all I want to show how bad ass a developer I am. Last time I freelanced was a short stint, but I&#8217;m nervously excited to try it again. Nerves are good!</p>
<p>I&#8217;ll throw down some gratuitous self-promotional bullet points.</p>
<h3>Primary skills</h3>
<ul>
<li>Flash animation and design since Flash 3.</li>
<li>Flash development specialist since 2003. AS2, strongly prefer pure AS3. Some but not extensive experience with Flex 4.</li>
<li>Familiar with AIR 1.5, currently reading up on 2.0.</li>
<li>Unity3D development (preferrably C#) since Unity3D 2.0.</li>
</ul>
<h3>Secondary skills</h3>
<ul>
<li>Basic 3D modelling, intermediate rigging, MEL scripting, animation and rendering in Maya</li>
<li>AfterEffects compositing and scripting.</li>
<li>Audio engineering. Recording, post-processing of VO. Field recording. General mastering.</li>
<li>Electronic musician; good with noise, industrial, techno, breakbeats and general darkness.</li>
<li>Hardware integration.</li>
<li>JavaScript (naturally).</li>
</ul>
<h3>Tertiary skills</h3>
<ul>
<li>The basic, &#8220;usual&#8221; Creative Suite skills.</li>
<li>Fluent spoken English.</li>
</ul>
<h3>Special interests, idiosyncrasies and other traits</h3>
<ul>
<li>Huge video-game nerd. Huge. Look at my tag cloud.</li>
<li>Special interest in real-time rendering and logic techniques, such as for games or dynamic visualization.</li>
<li>Interest in and some experience with digital signal processing.</li>
<li>Extensive experience with on-site deployment and maintenance for kiosk applications of varying complexity.</li>
<li>Special interest in designing and writing tools to aid the design and development pipeline.</li>
<li>Scrum is rad. Let&#8217;s Scrum.</li>
<li>Plays well with others.</li>
<li>Killer debugger of AS3 applications. Seriously. I&#8217;m absolutely fantastic at this.</li>
<li>Given a clear goal: deadly fast and precise. Ninja style!</li>
</ul>
<p>I&#8217;m available for contract work from July 30th, and hope to hit the ground walking if not running. A site+folio will be up and about within the next couple of months.<br />
If you&#8217;re interested in procuring my services or just ask some more questions, <em>please </em>send me a holler.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/06/going-back-to-freelancing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Snoopy Flying Ace. What on earth is going on?!</title>
		<link>http://www.doomsday.no/esn/2010/06/snoopy-flying-ace-what-on-earth-is-going-on/</link>
		<comments>http://www.doomsday.no/esn/2010/06/snoopy-flying-ace-what-on-earth-is-going-on/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 22:28:06 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Video games]]></category>
		<category><![CDATA[Xbox 360]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=988</guid>
		<description><![CDATA[Since when was Snoopy relevant again? Was he ever relevant? The Peanuts rank up there with Garfield as the most boring comic strip I have ever had the displeasure of reading, and was inexplicably graced with its own animated TV show that was equally boring.
I mean.. I barely even know what The Peanuts was *about*. [...]]]></description>
			<content:encoded><![CDATA[<p>Since when was Snoopy relevant again? Was he ever relevant? The Peanuts rank up there with Garfield as the most boring comic strip I have ever had the displeasure of reading, and was inexplicably graced with its own animated TV show that was equally boring.</p>
<p>I mean.. I barely even know what The Peanuts was *about*. Let&#8217;s avoid Wikipedia for a moment. There were some kids I think.. And they were bored? Something about a ball. And a piano, and a mean girl. Just existentialist horror through and through. Never growing up through a torrent of mediocrity and boredom. Also there was a dog. The dog was so utterly and thoroughly depressed by his meaningless limited existence that he, if I recall correctly, dreamt up an alter ego for himself as a WWI fighter pilot. You know, to escape endless mediocrity as an slave to an idiot boy who doesn&#8217;t care.</p>
<div id="attachment_989" class="wp-caption aligncenter" style="width: 396px"><img class="size-full wp-image-989" title="Peanuts_gang" src="http://www.doomsday.no/esn/wp-content/uploads/2010/06/Peanuts_gang.png" alt="" width="386" height="289" /><p class="wp-caption-text">Whatever.</p></div>
<p>So let&#8217;s say I don&#8217;t have a big place in my heart for Peanuts. I&#8217;d go so far as to say I&#8217;ll purposefully avoid anything to do with the strip, its annoying meaningless characters and endless repetitive tedium. So normally when a Snoopy game is announced, it simply doesn&#8217;t register with me.</p>
<p>But then this thing happened.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="600" 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/60e1UrVn7H8&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="600" height="385" src="http://www.youtube.com/v/60e1UrVn7H8&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>I am a hopeless sucker for arcade flight games. Ever since I stumbled on the first Ace Combat (Air Combat) in arcades in the 90s and was introduced to the basic mechanics of what has become the standards for arcade-style dogfighting. I just love the sense of speed, movement, the way the perspective moves.. I can&#8217;t explain it in other terms. It&#8217;s just deeply exhilarating to me. I&#8217;m an absolute die-hard fan of the Ace Combat series, who are banner bearers for the genre, but almost any game that taps into this sense of freedom in flight. Most recently I&#8217;ve played a lot of Warhawk on the PS3, and Innocent Aces on the Wii.</p>
<p>Snoopy Air Ace is the Mario Kart of arcade flight games. It is largely nonsensical, happy, colorful, and has planes doing things planes would never do. To man a turret on a map, you essentially barnstorm it, flying into a barn door on its side. The maps go from ice caves to Egyptian landscapes to the Paris skyline. Online game modes offer modes I&#8217;d never expect to see, such as a game of football (or Pigskin in game terms) having players pass a ball around trying to take it to the opponent&#8217;s goal. Crazy weapons, powerups, and a near constant sense of chaos. Everything blows up, all the time, and you&#8217;re spinning and rolling through it all in a gorgeously colorful game world that never slows down.</p>
<p>It&#8217;s an expertly produced game that has me absolutely and thoroughly engaged, and I can&#8217;t for the love of god figure out why a Snoopy game can be this enjoyable.<br />
It&#8217;s not as though the game ignores Peanuts in any way. Rather it thoroughly embraces it. The soundtrack is jaunty piano jazz. The art style is subtly nostalgic. Hell, if you get a kill streak in multiplayer your plane <em>turns into a dog house</em>. It&#8217;s a beautifully innocent, gentle game. Shooting down an enemy plane results not in a death, but in a parachuting pilot. As the game is avatar-enabled, in my case this resulted in a mohawked skinny man hopping out whenever I &#8220;died&#8221;. It&#8217;s warm and fun and friendly.</p>
<p>There are problems of course. It has some issues with information. Picking up a powerup doesn&#8217;t tell you what it does, and it can be very hard to pick out friends from foes at times. But in the rampaging chaos of a match it never seems to actively hamper your enjoyment.</p>
<p>I heartily recommend it. Hell, it has a demo. You SHOULD check it out. I&#8217;ll be online hammering it the coming weeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/06/snoopy-flying-ace-what-on-earth-is-going-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
