<?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, Android, Music, and TLDR</description>
	<lastBuildDate>Tue, 06 Dec 2011 00:47:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Some thoughts on anxieties, depressions and mental health</title>
		<link>http://www.doomsday.no/esn/2011/12/some-thoughts-on-anxieties-depressions-and-mental-health/</link>
		<comments>http://www.doomsday.no/esn/2011/12/some-thoughts-on-anxieties-depressions-and-mental-health/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 00:27:47 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1342</guid>
		<description><![CDATA[Oh dear.. Now there&#8217;s a topic. Bear with me. I don&#8217;t plan on making this sort of thing a regular affair, but I&#8217;ve somehow become embroiled in a big ol&#8217; Twitter discussion about a Norwegian celebrity&#8217;s &#8220;right&#8221; to make entertainment from her coping with depressions and anxiety. I&#8217;m going to be a dick and not [...]]]></description>
			<content:encoded><![CDATA[<p>Oh dear.. Now there&#8217;s a topic.</p>
<p>Bear with me. I don&#8217;t plan on making this sort of thing a regular affair, but I&#8217;ve somehow become embroiled in a big ol&#8217; Twitter discussion about a Norwegian celebrity&#8217;s &#8220;right&#8221; to make entertainment from her coping with depressions and anxiety. I&#8217;m going to be a dick and not post any of that; a) It&#8217;s in Norwegian, and b) The minutia are frankly not very interesting.</p>
<p>However, it did make me acutely aware of my own perspective on certain aspects of my mental condition that I&#8217;ve considered intimate to the extent that they are character defining traits at the very core of my soul, and with an effect I feel is apparent in everything I&#8217;ve done for most of my adult existence. As such, I thought it was time to share my thoughts and experiences, and perhaps someone out there would get something out of it as well. <span id="more-1342"></span></p>
<p>Without beating around the bush, I&#8217;ve suffered from social anxiety for as far back as I can remember, and I suffer from regular bouts of deep depression. Once, I would characterize it as crippling. The notion of walking to the general store and buying supplies would be gauged against the pain of hunger, and for the most part I&#8217;d prefer the hunger. Those of you that know me know I&#8217;m a skinny man. Part of that is my body type, but food quickly proved to be the primary reason I&#8217;d have to deal with strangers, and as such, I taught myself to avoid having to buy it.</p>
<p>Long time friends will remember me refusing to buy my own food when we went out to eat, them having to take my order. I&#8217;d play it off as though it was  some weird quirk of my personality, that I was doing it to annoy them or god knows what. To be honest I don&#8217;t know what I was thinking, but the shame of asking my friend if he could order my food for me was nothing compared to the idea of talking to a stranger.</p>
<p>I couldn&#8217;t buy my tickets on the tram or on the bus. I&#8217;d rather suffer the prospect of getting caught without a ticket than have to get in that line and pay the man. I couldn&#8217;t take taxis, because I&#8217;d have to tell the man where I was going, and the silence in the car during the ride would give me cold sweats thinking about what would happen if the driver tried to strike up small talk. I&#8217;d rather walk across Oslo on foot than do a more sensible thing, and I did, many times.<br />
I got tremendous exercise from all the walking I did, so I guess that&#8217;s something.</p>
<p>School.. Man, I had 75% absence in my last couple of years of high school, before I escaped that whole thing altogether. I hated walking into the room, sitting down, being around the other kids. I didn&#8217;t learn shit, because I was too busy thinking about my own condition and, I suppose, what they might be thinking of me. I wasn&#8217;t even skipping school properly. I&#8217;d be in the hall reading, or drawing, or just staying away from other people.</p>
<p>I loved programming work because I was left alone for the most part. I&#8217;d show up, sit down, run down my task list. My first development job was wonderfully anti-social. I&#8217;d get up, get dressed, listen to music under a hoodie on the train (unpaid, got away with it 90% of the time), go into the office, nod at the producer, sit down, and do my best, because if I delivered, no questions were asked.</p>
<p>This angst, and the introversion I for the longest time felt it forced on me, shaped my career. It made me pursue solitary work. It made me work in a musical genre as narrow and counterculture as they come. It made me so unaccustomed to speaking with Norwegians, my primary relationships came from the internet; I&#8217;m still a hundred times more comfortable speaking and writing English than I am my native language. At my most Norwegian, English creeps through.</p>
<p>The aforementioned Twitter discussion started because I read an article about a TV production centered on a Norwegian Z-list celebrity&#8217;s dealing with her own depression issues (which are probably entirely legitimate in their own way). My knee jerk reaction was to want her to shut her god damn mouth about it, and I was rightly challenged by others;  I&#8217;m commonly hyperbolic and talk before my brain&#8217;s filtered the idea I&#8217;m communicating. You can probably chalk that up other social issues but I&#8217;m not going to make any excuses. I can be a real douche.</p>
<p>I&#8217;ve been trying to think harder about why I&#8217;m so angry about the notion of an entertainment production about a hipster with a biochemical sadness. She describes angst and depression as though it were a &#8220;taboo&#8221;, and I can not for the life of me fathom where she&#8217;s coming from. I&#8217;d ask, what kind of bizarre silent reality is she coming from, where people don&#8217;t talk to each other about their problems? I couldn&#8217;t imagine the world where she was being held down and repressed, because I&#8217;ve never ONCE felt like the world has denied me a chance or a place to go for help.</p>
<p>Because I grew to realize, as I grew older, that what I was so damn worried about all the time was an idea of myself, and how my own idea could be challenged by other people&#8217;s ideas of my self. My sickness is a combined arrogance, narcissism and irrational fear. Suicide was a very common notion in my head for the longest time, and I flirted with it repeatedly, but in retrospect I see that I was in love with the narcissistic idea of my &#8220;self sacrifice&#8221;, and I&#8217;d obsess about how I&#8217;d want others to remember me. If I&#8217;d leave a &#8220;dent&#8221; if I went in this way or that way. I&#8217;d listen to Henry Rollins&#8217; &#8220;I know you&#8221; spoken word piece over Nine Inch Nails&#8217; A Warm Place, and just cry and cry. Oh me. Oh poor poor <em>me </em>and <em>MY </em>pain.</p>
<p>I&#8217;m approaching 30 now, and after about 15 years of processing what it &#8220;means to be me&#8221;, the single most liberating thing was a kind of existential kick in the balls. I&#8217;d walk home through the Vigeland Park late at night because, again, I&#8217;d never take the tram, and this is going to sound cheesy, but I&#8217;d look at the stars and I&#8217;d think, man&#8230; On a cosmic scale we are so boned. <em>What makes me so fucking special?</em></p>
<p>I think that&#8217;s the only taboo associated with angst and depression; The self centered, narcissistic <em>shame</em>. The constant, self-imposed notion of fictional peer pressure to achieve an internalized ideal self nobody on the outside actually gives much of a hoot about.</p>
<p>So when you go on TV and decide to share your pain because others can learn from it and feel better about their suffering, my response is that you can take that back to your own long critical looks in the mirror, and maybe meditate a bit on what it means to be trapped inside your own head when you find it necessary to do your mental laundry in the public space. I literally can not think of a more self-aggrandizing way to process your own mental health.</p>
<p>My argument has never been to keep mental disorders out of the media. But I know people with <em>real</em> mental issues, <em>chemical</em> mental issues, and boy do they have a <em>real</em> fight. You can keep your body dysmorphia and &#8220;suicidal tendencies&#8221;. I&#8217;ve been there, I know dozens of people who have been there, I know several who ARE there. Hell, I still can&#8217;t order a sandwich at Subway without assistance or talk to flight attendants. Being a &#8220;special weirdo&#8221; is common like the cold. Everybody suffers, and everybody worries; Welcome to planet earth.</p>
<p>Perhaps I&#8217;m provoked by the approach, where the idea seems to be to focus on an individual, while the problem is intrinsic to the human condition, and just as varied. Insecurity, self doubt and existential angst are as normal to the human mind as the need to use the toilet. Some think that is a mental challenge too. When you parcel it up for consumption, my brain conjures up images of understanding TV audiences gravely nodding their heads, now with a new found understanding of how Those People feel. And that drives me <em>crazy</em>.</p>
<p>I&#8217;d strongly urge angst-ridden depressives to talk to their friends and family, or if that is a problem, make new friends. I have a fantastic girlfriend who is my polar opposite in the social context, but she is totally understanding of my situation and has always been there for me. She couldn&#8217;t have been if I hadn&#8217;t been open and honest about my irrational bullshit issues. Online forums are excellent if you can&#8217;t deal with people face to face. Learn to discuss your suffering objectively, so you can gain some actual insight and not just spin your wheels in your own fantasies. When I was cutting myself in my teens (probably the only habit I still feel some actual shame about), I was doing so as a kind of flirtation with suicide at first, but after a while it became more about exposing myself to pain and simply processing the trauma in a compartmentalized format. I stopped cutting myself, because I&#8217;d made it mundane by <em>considering it</em> to the point of tedium.</p>
<p>I wish I&#8217;d been taught more about existentialism earlier. Or even what the word meant. So I could&#8217;ve seen myself as the small, insignificant dude that I am, and so I could have gotten on with my life sooner. I live so much better knowing that I&#8217;m not the center of the universe.</p>
<p>So that&#8217;s My Post on that topic. I hope someone out there will get something out of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2011/12/some-thoughts-on-anxieties-depressions-and-mental-health/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ace Combat : Assault Horizon</title>
		<link>http://www.doomsday.no/esn/2011/10/ace-combat-assault-horizon/</link>
		<comments>http://www.doomsday.no/esn/2011/10/ace-combat-assault-horizon/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 21:43:33 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Video games]]></category>
		<category><![CDATA[Ace Combat]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1333</guid>
		<description><![CDATA[Assault Horizon is an accident. A collection of impossibly bad ideas in an attempt to modernize the Ace Combat franchise and make it more palatable to what appears to be the Japanese perception of a western gamer. As a result, you have a game that will please practically nobody. Veteran Ace Combat players will encounter [...]]]></description>
			<content:encoded><![CDATA[<p>Assault Horizon is an accident. A collection of impossibly bad ideas in an attempt to modernize the Ace Combat franchise and make it more palatable to what appears to be the Japanese perception of a western gamer.</p>
<p>As a result, you have a game that will please practically nobody. Veteran Ace Combat players will encounter a game both severely dumbed down but also fundamentally compromised, and new players will be subjected to a capricious set of quick time events, a bumbling, poorly told story, and gameplay so utterly monotonous the moment to moment experience can become downright maddening.</p>
<p>I&#8217;m one of the former category. I&#8217;ve been so much a fan of Ace Combats 4 through 6 (including Zero but none of the PSP titles) that it&#8217;s approaching some fan&#8217;s relationship to Metal Gear Solid. I loved the world Project Aces built, I loved the melodrama, the insane boss planes, the shopping and collection of planes, even collecting *colors* for the planes. It was a series that always got the fundamental joy of flying around firing high tech weapons at high tech things absolutely right, with a wonderfully tuned arcade flight model and a delicious sense of overkill.</p>
<p>I&#8217;m also a fairly hardcore flight simmer, having invested handsomely in controller hardware, and running a squadron in DCS A-10. So I can appreciate the difference between an arcade sim and a realistic sim. Ace Combat has always straddled the midpoint very well, with serious attention to detail for every plane. Fire up AC6 and note how even the redundant mechanical navigation aids in the A-10 cockpit animate and respond. The games are plane porn.</p>
<p>Assault Horizon is explosions porn. Or at least it wants to be very badly, and it does so at the direct expense of an enjoyable flight experience, and at the expense of the central fantasy sold by the franchise.<br />
<span id="more-1333"></span></p>
<h2>Reality sucks dude</h2>
<p>The game immediately veers off the path of its predecessors with its story, set in a near future version of our own reality, where a NATO unit is tasked with putting down an WMD-driven Russian military coup before they do evil Russian things to America. I lost interest practically at once, and the story never recovers. The point where it introduces the main villain, a pilot with a shark&#8217;s mouth painted on his jet (original) actually made me laugh out loud, as the music kicks in as the camera zooms in on this dude&#8217;s face, and we are expected to feel some kind of awe. We don&#8217;t. We don&#8217;t give a shit at all.</p>
<p>Past AC games have always told bizarre but still engaging stories, because they stood free to do whatever dumb sci-fi nonsense they wanted to. The idea of a massive meteor strike throwing the world into economic and consequentially diplomatic chaos was a wonderful premise, and the games used it well.</p>
<p>Assault Horizon, shackled by reality, puts itself in a position where melodramatic cliches stop being endearing in that Anime storytelling sense, and simply become mundane idiocy. There are twists to the story delivered with earnest that will make you shake your head in disbelief; At one point I looked at a dude&#8217;s face and told my girlfriend exactly what I thought that character was going to be doing. 4 missions later I was proven right. It&#8217;s abysmal and derivative storytelling, and it only gets to be called functional because of some serviceable voice work.</p>
<p>Reality offers more trouble. In the imaginary world of previous Ace Combats, dozens of planes dogfighting in the sky over a city-cized gun made a sort of strange game sense. Comparable situations set against a real world context seem incredibly stupid by comparison, because we are subjected to how the military operates in the real world. We&#8217;ve seen air to ground ops on TV. We know how this should be. Assault Horizon has absolutely no interest in actually capitalizing in any way on its real world setting, and as such feels very poorly thought out.</p>
<p>The story in Ace Combat 6 was similarly terrible, but survived because you could skip every cutscene with no real story lost; Every cutscene was essentially a series of non-sequiturs to the actual story arc the player was involved in, and even if the cutscenes were terrible, the in-flight chatter was entertaining and well done. Assault Horizon gets no such free pass: The cutscenes are long, boring affairs where the player is given slight camera control. To look at what, exactly? Boxes and walls? In-flight chatter is an abject failure. Speech is so processed and distorted by radio noise it becomes impossible to pay attention through the constant racket of heavy metal bullshit techno and explosions. It&#8217;s just a constant distorted drone. This is actually the first game I&#8217;ve played where the audio mix was directly detrimental to the playing experience.</p>
<h2>Actually, screw reality altogether</h2>
<p>Assault Horizon doesn&#8217;t care about real planes. Where previous Ace Combats modelled HUDs with an eye on reality, Assault Horizon just throws some shit up on screen and hopes it works. There are mistakes in design here that blew my mind. How about a vestigial, duplicate ammunition counter that sits right on top of your aiming reticle, making actually aiming at anything a chore? Or how about removing the machine gun leading indicator altogether, taking out the pleasure of accurately leading and popping a target at long distance and relegating gunnery to an impotent supporting role? How about three camera angles where only one offers you a useful, playable perspective?</p>
<p>Actually, hey, how about we just forget how planes work. Let&#8217;s set the default control scheme to an abortion of a third person shooter scheme where roll control is removed? How about we take the skill out of lining up a ground attack, and make players move to a point and press a couple of buttons to magically teleport the plane into a nice vector? Actually, about that&#8230;</p>
<h2>Scripting engage!</h2>
<p>I was not aware that the attractive traits of Call of Duty included &#8220;tight linear scripting&#8221;, but apparently Project Aces thought that was the absolute bomb. Assault Horizon is linear to a fault. Gone are branching missions, multiple operations, plane/upgrade purchases, even squadron orders. On that basis alone, replayability is at zero. Double this with a campaign so tightly scripted it regularly wrests control from you at a rate that becomes alarming. This is a game where a particular enemy plane can NOT be shot down with missiles no matter how long you try. You HAVE to fly up to it and engage one of Assault Horizon&#8217;s many gimmicky minigames, called DFM (Dog Fight Mode, geddit?). In this mode, your plane is on a rail, and so is that of your opponent. Within moments, you&#8217;ve subjected him to enough punishment to kill a bomber, but no. The game doesn&#8217;t want you to kill him yet. See, you have to see him fly under this exploding building first. THEN you can kill him.</p>
<p>Or how about a plane that just won&#8217;t go down, and you pound it with all your special weapons ammo, only to realize later that oh, the scripting was set up such that you couldn&#8217;t kill him; He had to fly into a building as part of a scripted sequence. Thanks for making me waste all my special weapons ammo!</p>
<p>It extends to ground assaults, done through a similar minigame. Here&#8217;s a ship that you can shoot at for hours, but it won&#8217;t take any damage. Not until you fly to a preset point and engage a minigame. THEN you can kill it.</p>
<p>The irony is that the dog fighting system has some merit; Planes can counter your DFM, and you can counter theirs. And you can counter their counters. Against the normal planes that aren&#8217;t tied into any kind of stupid rollercoaster animation for you to watch, it&#8217;s actually enjoyable. Then you encounter a boss enemy and realize that even though the game mockingly insists you should stop him as soon as possible, the game will literally not ALLOW you to stop him until it&#8217;s good and ready for it. This entails a frustrating, long chase where your life hangs in the balance, and your enemy remains essentially invulnerable.</p>
<p>The game just feels hugely out of control. The aforementioned ground attack sequences will occasionally interrupt your carefully adjusted angle of attack to show you an explosion somewhere, and then return you to a plane on a totally different course. Every time you feel the least bit invested, the game yanks you out of it and makes it absolutely clear that you are watching more than playing.</p>
<p>For a player out for a fair skill-based experience, such as those offered by past Ace Combats, games that remain playable and enjoyable at the highest difficulties, it&#8217;s like a cruel joke.</p>
<h2>A/V</h2>
<p>Visually the game is fine. It&#8217;s not a huge leap over AC6, which I replayed in preparation for Assault Horizon&#8217;s release, and that game still looks and sounds superb. Assault Horizon has a gritty, high contrast look to it that sometimes works and sometimes don&#8217;t at all. Some missions take place in an Apache helicopter, and they take place a little too close to the ground than the relatively low resolution satellite imagery making up the ground textures can handle. One mission in a dense city requires you to fly at street level, and it&#8217;s during these sequences the game looks its absolute worst. It&#8217;s a shame, because the apache sequences, hampered by two camera angles so unhelpful it boggles the imagination, are among the least gimmicky the game has to offer, feeling like a totally serviceable shooter.</p>
<p>The audio fares much worse. This is a dense, noisy affair, and it comes off as simply ugly, with a mixture of overly compressed metal guitars and breakbeats. One mission has what sounds like a disco theme thrown in for good measure. It&#8217;s pretty weird. The voice work would probably be fine if you could hear any of it through the game&#8217;s muddy mix.</p>
<h2>If it ain&#8217;t broken&#8230;</h2>
<p>Some perceive Ace Combat as fundamentally busted games, because all you do is shoot at dots in the distance. The reality of it is that flight combat IS shooting at dots in the distance, while managing a good sense of spatial awareness between yourself, the target, your allies and the terrain. Flight combat is never going to be palatable to those without a real fundamental urge towards it.</p>
<p>Assault Horizon attempts to drag the player closer to each kill and, through a more intense audiovisual experience, be more engaging for those turned off by past titles&#8217; relative sterility. The result however is a game that steals control away from you on so many occasions and in such a haphazard fashion it becomes nearly impossible to maintain any such spatial awareness. One moment you are facing one direction, two button presses and you&#8217;re on a completely different altitude and vector, with the camera shifting to another position. You&#8217;re shooting a tank, but suddently the camera cuts to a soldier being shot somewhere. It&#8217;s nuts, and it robs you of ever feeling like you were on top of the situation, one of the primary joys of any combat flight sim.</p>
<p>It&#8217;s hugely ironic that instead of being a game about shooting dots in the sky, Ace Combat is now a game about moving icons and circles around and timing button presses. You stare intently at moving icons on your hud more than you look at what you&#8217;re trying to shoot.</p>
<h2>Summary</h2>
<p>Assault Horizon can, in this Ace Combat fan&#8217;s eyes, not be seen as anything other than a failure. It&#8217;s a charmless, derivative game with a severe identity crisis. Ace Combat vets will pine for more control and more to do, while newbies with a moment&#8217;s alertness will see through the game&#8217;s thick layer of capricious rules and scripting to reveal an action game experience that is painfully shallow and contrived.</p>
<h4>I have two hopes at this point.</h4>
<p>First, that Assault Horizon is an offshoot, and not a reboot. The lack of a number in its title makes me tentatively glad, because this is, so far, the lowest point of the franchise: A flight combat game where neither flight nor combat is satisfying. If this is the future of the franchise, we&#8217;re in the shit guys.</p>
<p>Secondly, once I&#8217;ve had a chance to try the multiplayer, that the player versus player dogfighting will be more satisfying than the scripted nonsense the campaign puts you through.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2011/10/ace-combat-assault-horizon/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Thoughts on the Korg Monotribe</title>
		<link>http://www.doomsday.no/esn/2011/08/thoughts-on-the-korg-monotribe/</link>
		<comments>http://www.doomsday.no/esn/2011/08/thoughts-on-the-korg-monotribe/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 10:10:21 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Korg]]></category>
		<category><![CDATA[Monotribe]]></category>
		<category><![CDATA[Monotron]]></category>
		<category><![CDATA[Synth]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1307</guid>
		<description><![CDATA[To stave off the inevitable depression following last week, I decided to buy myself some momentary respite. I wanted a new music toy, something to kick back in bed with and tweak out some sounds before sleep, and the Korg Monotribe &#8220;analogue ribbon station&#8221; (what.) looked to fit the bill. It&#8217;s got a relatively low [...]]]></description>
			<content:encoded><![CDATA[<p>To stave off the inevitable depression following last week, I decided to buy myself some momentary respite. I wanted a new music toy, something to kick back in bed with and tweak out some sounds before sleep, and the Korg Monotribe &#8220;analogue ribbon station&#8221; (what.) looked to fit the bill. It&#8217;s got a relatively low price point, and it looked to be similar to the Korg DS-10, and a true analog DS-10 would make me very pleased indeed considering <a href="http://www.youtube.com/watch?v=T8czy54Yl-Q" target="_blank">how</a> <a href="http://www.youtube.com/watch?v=u09QMT4bNJ4" target="_blank">much</a> joy that little package has given me. From a musical point of view, as I&#8217;ve always run with digital measures for sampling and the like, I&#8217;ve never been much of an &#8220;analog guy&#8221;, but I&#8217;ve played around with a Juno 106 before and I can certainly tell the difference. So off I go and pick it up.</p>
<p>I should probably point out that I have no experience with Korg&#8217;s previous analogue toy, the Monotron, but from what I can tell it seems completely useless to me, so I&#8217;d be the wrong guy to ask anyway.</p>
<p><img class="alignnone" title="Korg Monotron" src="http://cdn.synthtopia.com/content/wp-content/uploads/2011/04/korg-monotribe.png" alt="" width="473" height="392" /></p>
<p>Initial impressions are both good and eyebrow-cockingly puzzled. <span id="more-1307"></span>The box contents reveal a short manual (uncharacteristically rife with typos and errata), 6 AAA batteries and the unit itself, about the size of a hefty pocket book &#8211; By which I mean one of those pocket books no pocket on this planet would hold. I was sort of disappointed no DC9V adapter was included, but I understand, as with most things Monotribe, concessions were made to keep the price in check.</p>
<p>The front panel is chock full of switches, buttons and pots. While there are certain features I&#8217;d be desperate for (more on this later), I don&#8217;t see where exactly those features would go in terms of physical space. This kind of unit lives and dies on its commitment to simplicity of use, and from past experiences with &#8220;groovebox&#8221; type devices &#8211; lord how that term makes me itch &#8211; an excess of features at the expense of live programmability can be a creative death sentence.</p>
<p>Every function on the Monotribe is available with a wonderful immediacy. The pots are smooth with wonderful resistance, the switches are pronounced and chunky, the buttons have a satisfying travel and in general the device is very inviting to touch. There are no menus to navigate. There are a pair of shift-key type interactions though these are both dead simple and never got in my way. Having a setup filled with somewhat esoterically laid out synthesizers, being able to ignore five-deep nested menus and value-skipping digital endless pots and simply tweak the parameters right where you want them is the kind of experience that makes me reevaluate my fetish for deep and abstract patch programmability. I&#8217;m looking at you, Blofeld.</p>
<p><cite>Sidenote: While I feel that Roland&#8217;s modern lineup is dull as dishwater and hopelessly bound to fashion, their front panel designs have been not much short of stellar. A <a href="http://en.wikipedia.org/wiki/HOTAS" target="_blank">HOTAS</a> philosophy where you are allowed to build a muscle memory of your instrument is, I feel, a really noble cause, and I&#8217;ve even ogled the SH-201 just for the sake of having an R3-like instrument with that programming immediacy. But don&#8217;t worry R3. You are the awesomest.</cite></p>
<p>The Monotribe has a signal path so simple it&#8217;s practically unique. A single self-tuning(!) voltage-controlled oscillator with saw, triangle and square waveforms is available, which you can mix with a white noise generator and pass through a single 12db voltage controlled resonant low-pass filter. The filter and pitch can be controlled either individually or in unison by a single LFO, running at speeds up to 5khz for some warbly frequency modulation if you&#8217;re so inclined. Finally the whole shebang is run through an amp envelope generator.</p>
<h3>It&#8217;s all fine.</h3>
<p>Viewed in isolation, every component of the Monotribe can be described as &#8220;fine&#8221;, perhaps with the exception of the filter, which is really quite lovely.  There is no pulse width modulation for the square waveform, so beyond tuning the osc there isn&#8217;t much in the way of motion. The amp envelope has three preset attack/decay shapes (decay, flat and fade in), but no temporal adjustments beyond that. The filter is probably as dynamic as you are going to get, but with only a single LFO the complexity of motion you are going to get out of a &#8220;patch&#8221;, if you can call it that, is extremely limited if you intend to do any oscillator frequency modulation. All in all, the synth section is obviously designed to be messed with and tweaked on the fly, not &#8220;programmed&#8221; and played like a traditional keyboard.</p>
<p>In fact, you might even question the innate musicality of the Monotribe. The ribbon pitch controller is recessed so deeply in the panel my girlfriend couldn&#8217;t play it effectively with her long nails, and nailing any pitch across its short width is a real test of patience. There is a range switch for flipping between a wide band and a shorter one-octave band, as well as quantizing to notes, but no matter of practise here makes the ribbon particularly comfortable to use. It feels ironic that the main musical input mechanism of the unit is so woefully inadequate for generating actual musical notes with any precision.</p>
<p>The sequencer part is, in a word, rudimentary. A row of 8 buttons, each with their own LED, makes up the step sequencer shared by both the drum and synth sections, though they operate somewhat differently; The synth sequencer keeps some properties &#8220;behind the scenes&#8221; to offer more resolution, and also offers some glide between notes, but using these features in any intuitive or precise manner is hit (at best) and miss (for the most part).</p>
<p>The Monotribe incorporates a three-drum analogue rhythm section, offering a kick, a snare and a hi-hat, none of which are user-editable. They all have their own 16-step (double the synth sequencer resolution)  tracks, and they all pass through the same amp circuit, so you have no individual velocity control over drum hits. The best you can do is balance the entire drum section against the synth section. All the drum sounds are &#8220;fine&#8221;. The kick is nice and deep with a pronounced click, and the hi-hat is a.. hi-hat. If you&#8217;ve used the DS-10 or MS-20 for patching drums before, you&#8217;ll know what kind of sound to expect here. The snare has too much low and mid for my taste and not enough punch to cut through either the synth or the kick, so I&#8217;ve tended to avoid it for the most part.</p>
<p>There is no MIDI, but there is a sync input and output with variable edge triggering for the input, so you could theoretically run a metronome from your DAW through it to sync it up. It seems to me that Korg has envisioned setups of multiple Monotribes daisy chained together for greater ensembles, but I haven&#8217;t tested this functionality nor do I have any interest in it, so I can&#8217;t rightly comment. The flashing tempo knob and tapping to set bpm on other devices is working fine for me.</p>
<h3>What..? Why?</h3>
<p>Some bits of the Monotribe seem utterly bonkers from a design point of view. The Monotron was apparently known for letting you pipe in external audio and use its filter as a signal processor; A great way to get a cheap analog 12db lowpass. The Monotribe offers this as well, but doesn&#8217;t disable the gate when the feature is engaged, meaning you must play a synth key to be able to hear the external audio through the filter. Why this seemed like a good idea to ANYONE at Korg is a real mystery, as it effectively kills the entire usefulness of the function.</p>
<p>Further, the device has a gate envelope with no release; What this means is every time a note stops playing, it &#8220;snaps&#8221; quiet with an audible pop. When notes are played in close succession, this is not an issue, but when played from the ribbon it means you can&#8217;t trigger notes independently of the envelope; Release that ribbon and POP, no matter what envelope shape you&#8217;ve chosen. Adjusting the note gate time from the ribbon is possible, but shortening the gate time for a sequence results in a sharp series of these pops that are very unattractive.</p>
<p>This is particularly frustrating if, like me, you intend to run the Monotribe through an external effects processor such as the Mini-KP. These pops introduce high end where otherwise there should be none, so reverbs and short delays with high feedback sound horrible, when they could have sounded smooth and luscious.</p>
<h3>Summary</h3>
<p>It probably sounds like I&#8217;m really down on the Monotribe, but in fact I don&#8217;t regret my purchase one bit. I&#8217;m disappointed in it in the same way I was disappointed in the DS-10, because it is so close to being very special, and makes some embarrassingly idiotic decisions on the way there. I&#8217;m disappointed in it because the sequencer offers way, way less than I had made myself believe it would, and because the zero-release gate feels like someone clicking their tongue in my ear while I&#8217;m trying to make rad sounds.</p>
<p>The thing is, the Monotribe is a piece of garbage if you want deeply expressive musicality, or a travelling workstation for sketching out your next track. It&#8217;s not that kind of unit. What it IS is a playground where you can experiment very freely and very intuitively with the core principles of analog synthesis. It&#8217;s easy, when you&#8217;re patching a Nord Modular G2 with dozens of oscillators and LFOs, to forget how much can be done with a single oscillator and a single LFO, and the Monotribe gives you the ability to not just make crazy noises (you can), but also to *understand* what makes these noises.</p>
<p>I&#8217;ll go as far as to say I didn&#8217;t understand how to construct an FM patch until i spent a while on a couch with the Monotribe simply experimenting with the musicality you can get from subtle shifts in modulation.</p>
<p>No, this is a wonderful little gadget, and you could even argue that its blatant deficiencies shave a strictly unnecessary layer from your ambitions, and let you simply play with sound with no pretensions. It&#8217;s a synth and sequencer my girlfriend picked up and had fun with instantly, and with a few more sessions it could be her first real entry to analog synthesis in a very tactile package.</p>
<p>Still I&#8217;d strongly recommend giving a demo unit a spin before committing to the purchase, as I can imagine the Monotribe easily ending up in some forgotten cupboard gathering dust. Me, I&#8217;m happy making clicky, random monophonic acid techno at 3am when I can&#8217;t sleep.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2011/08/thoughts-on-the-korg-monotribe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Thoughts on the Oslo attacks</title>
		<link>http://www.doomsday.no/esn/2011/07/thoughts-on-the-oslo-attacks/</link>
		<comments>http://www.doomsday.no/esn/2011/07/thoughts-on-the-oslo-attacks/#comments</comments>
		<pubDate>Sat, 23 Jul 2011 19:41:31 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1299</guid>
		<description><![CDATA[Man, just typing in that post title feels surreal. The past couple of days have been, in a word, dreamlike. It&#8217;s taken at least a full day for the reality, and gravity of the situation to sink in. But I want to start at the beginning. The preceding week was all upside down. I came [...]]]></description>
			<content:encoded><![CDATA[<p>Man, just typing in that post title feels surreal.</p>
<p>The past couple of days have been, in a word, dreamlike. It&#8217;s taken at least a full day for the reality, and gravity of the situation to sink in. But I want to start at the beginning.</p>
<p>The preceding week was all upside down. I came down with a cold and fever on Monday, and my girlfriend followed soon after. With the requisite cough-driven sleeplessness, our clock spun uncontrollably. We&#8217;d go to bed at 7 in the morning and wake up at night.</p>
<p>This Friday afternoon, we were shaken out of our sleep by a violent bang and our slightly-ajar bedroom windows shaking so hard in their frame we thought they might fall out. In that sleep state, we were obviously shocked awake, but we didn&#8217;t fully understand what had happened. For all we knew, it was just an unusually hard rush of wind, which of course turned out to be the case. We made jokes about our enormous cats attacking the windows to catch flies and went back to dozing.</p>
<p><strong>The sirens</strong> soon followed. Sirens aren&#8217;t uncommon as we live downtown. There were a lot of them though, and I sleepily made the dumb joke that &#8220;I guess them done found themselves a negro!&#8221; It didn&#8217;t stop though. More sirens. Police sirens, ambulance sirens, fire sirens. Even a siren I don&#8217;t even know what is. I dug out my phone and looked up the news, and read the first report of a large explosion downtown.</p>
<p>Now we live literally 3 minutes walk away from the site in question. It&#8217;s a street I walk frequently, where my friends walk frequently. It&#8217;s around the corner, up a hill and take a left. Now I was being confronted with images of that well known, safe and quiet area in a state I couldn&#8217;t even begin to comprehend.</p>
<p><strong>Terrorism </strong>is a constant topic in Norway. There&#8217;s a distinct Norwegian undercurrent of somehow being entangled with the US, and following 9/11,  as we are close allies having partaken in joint armed conflict, the fear that Norway could become a target for Jihadist terrorism has been a frequent topic. Personally I have thought the notion was ridiculous. If anything, Jihadists should LOVE Norway. It&#8217;s the perfect neutral staging area. Any terrorist attack on Norway would be, I think (perhaps naively), condemned even by the Jihadists: They have too much to gain from us remaining unaffected.</p>
<p>So when I&#8217;m being shown a terrorist attack on my city, my brain flies into <strong>analysis </strong>mode. Perhaps that&#8217;s the programmer in me; I take refuge in abstract thought and problem solving. A block away, people are dead and dying, and I&#8217;m instead sitting safe in my beautiful home, considering what kind of explosive might have been used, why the location was picked, why  there&#8217;s so much office-supply debris if the detonation happened street level. My brain simply treated the situation the same way it did during 9/11, when I was trying to figure out how on earth the towers could fall.</p>
<p>Friday was spent in disbelief, watching the news, flicking between CNN and Norwegian media, even making jokes about inaccuracies in the international pronunciation of Norwegian names.</p>
<p>(As a sidenote, on Twitter, someone became enraged that people were making jokes, and I was livid. Don&#8217;t you dare tell me I can&#8217;t make jokes when I&#8217;m nervous and uncertain, you self righteous moralist prick. )</p>
<p>Gradually as the scope of the event became clearer, we were glad so few had passed, and that whoever carried out the attack had chosen such a bad time to cause damage. Relatively speaking, <em>we felt we had got away cheap</em>.</p>
<p>Then the shooting was reported.</p>
<p><strong>The shooting changed everything</strong>. As the situation on Utøya escalated, my state of disbelief reached almost a critical state. I became obsessed with theories. I got into heated debates on Facebook and Twitter about socio-political questions of perpetrator identity.</p>
<p>(Many were making assumptions that this was an Al Qaida attack, which I would openly ridicule and make light of. Further, perp ethnicity became a topic, and it was driving me insane. A pet peeve of mine is prejudice and assumption; I believe strongly that people need to eat the world with their own teeth, so to say.)</p>
<p>There was no way for me to bodily walk up and see the site. All I had in reality to make me *feel* the situation was how all traffic in the area had been directed down my street, resulting in a cacophony of engines and sirens outside our windows. The discussion and theory-crafting became more <strong>real</strong> to me, as the situation&#8217;s gravity escaped into the virtual space of news reports and anonymous discussion online.</p>
<p>As more details of the shooting surfaced, I remembered  how small Norway is, and the time interval between the attacks. Me and my girlfriend concluded early and confidently with practically everything that is now known about the perpetrator short of his name and address: We knew this was the bomber, we knew he was Norwegian, and we KNEW he was right-wing. It made too much sense, and I&#8217;m ashamed to admit, I was even gloating at the prospect of all those making racially-prejudiced comments against people of foreign ethnicities  in the Oslo streets having to take a long hard look in the mirror and examine their assumptions about the world, and the gray scale of politics.</p>
<div id="attachment_1304" class="wp-caption alignright" style="width: 310px"><img class="size-medium wp-image-1304" title="photo" src="http://www.doomsday.no/esn/wp-content/uploads/2011/07/photo-300x224.jpg" alt="" width="300" height="224" /><p class="wp-caption-text">Armed forces stationed outside parliament</p></div>
<p>As I was proven to be correct, the &#8220;fun bubble&#8221; finally popped. The death toll on the island rose as night fell, and certain details such as how this scumbag pretended to be a police officer, deliberately <em>using</em> these desperate kids&#8217; need for safety to murder more of them and how they were targeted for something as mercurial as an interest in politics.. It finally broke me in to realize that this wasn&#8217;t just happening. It was happening in my home, to people like me, with my language, my past, my future, and it made me acutely aware of my nationality.</p>
<p>If you&#8217;ll allow, I&#8217;m going to get a bit new-agey here. There&#8217;s something about sharing a &#8220;spirit&#8221;. We like to think that when a bomb goes off in Iraq and several soldiers are killed, we all empathize equally, but I don&#8217;t think we can. Unless we share spirits with those affected, we can&#8217;t relate fully and bodily to their experiences. The sadness and grief is always tied to those left behind, and if we can&#8217;t put ourselves *precisely* in their place, then I humbly don&#8217;t think you can experience the connection as primal as it can get.</p>
<p>I&#8217;m a jaded, fatalistic cynic. I&#8217;ve been shocked and depressed by terrorism in the past, but I&#8217;ve never felt touched by it. I&#8217;ve been safe, in my &#8220;fun bubble&#8221; of analysis and anonymous discussion. Even as we lit candles on our balcony for the victims, we were still discussing and debating the events more than we were genuinely feeling them.</p>
<p>Yet I couldn&#8217;t sleep last night. I laid restlessly watching the news over and over again. When the news broke that the Utøya death toll exceeded 80, I thought it had to be some kind of bad joke, or a typo. As the number spread through the news and was confirmed further, I reached a kind of numbness. It wasn&#8217;t interesting anymore. It was just painful. A horrible, deep, grinding pain that made the world gray and brittle. It made food, games, literature, everything immaterial.</p>
<p>How can you enjoy anything or even think of anything else when somewhere someone&#8217;s mom isn&#8217;t answering her son&#8217;s calls? When a child warns her parents not to call her for fear that a murderer might notice and find her? When kids swim in ice cold water in the night, trying to pull their wounded friends to safety? When perhaps over 80 families whose lives mirror your own are irreversibly broken, and for what? One man&#8217;s belief?</p>
<p><strong>We went for a walk today</strong>. Everything is cordoned off, so there wasn&#8217;t much to see other than people, rain and armed army personnel. All stores were closed, so everybody outside were in the same confused, curious and disbelieving daze. There was a soft quietness to the city I have never experienced in my life, and as we made a wide circle around the perimeter, I felt both pride and grief. Pride in being born into a country that congeals and gathers to heal itself so whole heartedly, a country where the government takes a back step to the fates of the victims, and a country where, and I really believe this, something like this can happen without breaking our spirits.</p>
<div id="attachment_1301" class="wp-caption alignleft" style="width: 221px"><img class="size-medium wp-image-1301 " title="terrorstrickenoslo" src="http://www.doomsday.no/esn/wp-content/uploads/2011/07/terrorstrickenoslo-211x300.png" alt="" width="211" height="300" /><p class="wp-caption-text">Welcome to terror-stricken Oslo</p></div>
<p>If there is a Norwegian spirit, I think I know it better now than ever before. I&#8217;ve never been a flag-waver, even so far as actively avoiding any flagging of any sort: I believe in people more than I believe in borders. But the Norwegian spirit is resoluteness. The ability to be smacked in the mouth, take it and stand proud still. Because we know we are good, and you simply can&#8217;t prove us wrong. No matter how many of our innocent young you murder over your petty, infantile &#8220;beliefs&#8221;.</p>
<p><strong>Norway is small</strong>.  Norwegian poet Nordahl Grieg once wrote this. &#8220;Vi er så få her i landet, hver fallen er bror og venn&#8221;. We are so few in this nation, every fallen is a brother and friend. In 2007, 32 murders were committed in Norway. 90 or more dead in a day is unthinkable.</p>
<p>I once lived in the same block as the murderer, and worked nearby for years. A friend of my girlfriend&#8217;s went to high school with him. Her brother once beat him up. Norway is too small for this to happen. We don&#8217;t have the &#8220;luxury&#8221; of bodily mass or distance to cope with such an event. Every death is physically felt. Today, as we saw interviews with trembling, crying kids who have experienced one of the worst and incomprehensible events of violence in Norwegian history, I finally broke and cried.</p>
<p>We won&#8217;t change though. That&#8217;s not what we do. We don&#8217;t raise our fists, if not for rebuilding.</p>
<p>The pitiful mass-murderer, who armed his cowardly self against unarmed children, in the safest most peaceful country on the planet, will experience the horror of anonymity, as his memory will go quietly into the fog like a bad dream. We are better than to give him his due. He will go to trial, and he will spend the rest of his life among people who hate him. His eventual grave will be forgotten and uncared for. His family will cry bitter tears over how he has smeared filth over the gifts they have given him. His chapter is done.</p>
<p>Our chapter begins now, and our job is to defy his will and that of those like him. We&#8217;re too good.</p>
<p>I want to tell those who are left behind that I&#8217;m there with you to the best of my ability. We&#8217;re all together in this, though some of us have carried an unfathomable burden. The rest of us will be there with you, those who passed will never be forgotten. You have become symbols of what we are in this nation, what we fight for, and you won&#8217;t be disgraced.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2011/07/thoughts-on-the-oslo-attacks/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Music for Programming vol. 2</title>
		<link>http://www.doomsday.no/esn/2011/06/music-for-programming-vol-2/</link>
		<comments>http://www.doomsday.no/esn/2011/06/music-for-programming-vol-2/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 19:44:47 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1295</guid>
		<description><![CDATA[Happy to announce that Music for Programming volume 2 is now available for download About 50 minutes worth of massive, dark and melancholy ambient to go with your coding session. Featuring tracks by Bruno Sanfilippo, Tim Hecker, Murcof, Cliff Martinez, Inade, Jackson C Frank, Max Richter and Christoph de Babalon. Music for Programming is an ongoing [...]]]></description>
			<content:encoded><![CDATA[<p>Happy to announce that Music for Programming volume 2 is now available for download <img src='http://www.doomsday.no/esn/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://datassette.net/?l=mixes&amp;s=1307709823"><img class="aligncenter" title="MFP2" src="http://datassette.net/content/programming2.png" alt="" width="200" height="134" /></a></p>
<p>About 50 minutes worth of massive, dark and melancholy ambient to go with your coding session.</p>
<p>Featuring tracks by Bruno Sanfilippo, Tim Hecker, Murcof, Cliff Martinez, Inade, Jackson C Frank, Max Richter and Christoph de Babalon.</p>
<p>Music for Programming is an ongoing collection of mixes designed to aid your brain activity in moments where blocking out the outside world is imperative. It&#8217;s currently a collaboration between myself and <a href="http://www.datassette.net">Datassette</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2011/06/music-for-programming-vol-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Thoughts on Microsoft&#8217;s 2011 E3 keynote</title>
		<link>http://www.doomsday.no/esn/2011/06/thoughts-on-microsofts-2011-e3-keynote/</link>
		<comments>http://www.doomsday.no/esn/2011/06/thoughts-on-microsofts-2011-e3-keynote/#comments</comments>
		<pubDate>Mon, 06 Jun 2011 21:26:02 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Game dev & design]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[E3 2011]]></category>
		<category><![CDATA[Kinect]]></category>
		<category><![CDATA[Mass Effect 3]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1292</guid>
		<description><![CDATA[I&#8217;m trying my best to reconcile my blistering rage regarding Microsoft&#8217;s application of the Kinect versus my amazement at the hardware itself. It&#8217;s hard to argue with impressive technology, but from watching today&#8217;s white-knuckled attempt at convincing gamers that the Kinect experience is a match made in heaven with traditional gaming, I had to take [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m trying my best to reconcile my blistering rage regarding Microsoft&#8217;s application of the Kinect versus my amazement at the hardware itself. It&#8217;s hard to argue with impressive technology, but from watching today&#8217;s white-knuckled attempt at convincing gamers that the Kinect experience is a match made in heaven with traditional gaming, I had to take a long walk around the block and listen to several creepily relaxing self-help tapes to bring my blood out of a boiling state.<span id="more-1292"></span></p>
<p><strong>Microsoft and its partners are making babbling cavemen out of people</strong>, and trying to sell it as though it is the future. It goes right against everything I feel is central to being a modern human being, so much so I actually feel it&#8217;s an anti-human movement to try and spread this philosophy among consumers.</p>
<p>Language is about symbols. Words are a mechanism for describing a symbol, and the spoken word is a physical abstraction. Throughout human history the ability to convey concepts and ideas effectively have been at the vanguard of the evolution of human society; The ability for a people to carry and learn from their history is why we are where we are today. The abstraction of symbols and the ability to argue their meaning is literally what separates man from other animals, and as we&#8217;ve become more and more modern, the natural evolution is one of further abstraction; The evolution of language has been about efficiency and precision, and in generalizing language to the point where the symbols themselves need little translation to be understood across borders. In spite of all snobbery, the smiley face is a genius invention of written language, and it happened organically. A symbol for sarcasm, for disdain, for sadness. You can convey so much information with so little effort.</p>
<p>Programming is a wonderful metaphor as well, giving you not only the power to engineer complicated mechanisms from symbols, must allows you to define the symbols for yourself. It&#8217;s an art of pure language, and every seasoned developer knows the typed words are a means to an end; The more you do it, the less you want to type. You just want to get right at those symbols and <em>craft</em>.</p>
<p>Controllers are a generalized, <strong>efficient method of interacting with the symbols of the virtual game space</strong>. The symbols of alphabetized buttons, the control stick and the digital pad have, with the history of video game culture, matured to the point where a player versed in the symbology can make assumption as to their meaning within a given context. When Halo revolutionized the twin-stick control scheme now common to first person games on consoles, it was the dawn of a new dialect. A new configuration of known symbols that would enter our common language.</p>
<p><strong>There is a purity, a beauty to the evolution of the game controller</strong>, because it has evolved alongside the demands of game developers and game players, with occasional mutations bringing about change. If you want signs of true divergence between the major players in the console scene, look no further than how they have handled their controllers. Whenever a new system comes out, the question is always; How will we talk to it? For me, personally, the hope is always that the controller will become less noticeable, for the sake of immersion. I want a beautiful, seamless experience.</p>
<p>But the Kinect is an absolute aberration in this regard. <strong>Never in the history of video games have players yearned for less responsiveness, less feedback, and more exertion</strong>, yet Microsoft seem to think removing nearly every sense that makes us human is the future of immersion. The idea that taking  the player&#8217;s physical space into the virtual brings an experience closer to reality is an absolute insanity, because as much as the brain wants to make the body believe, the body simply will not. Ask a piano player to play a beautiful piece of music on a piano that plays the keys 100 milliseconds after they are hit. No matter how much mental conditioning you go through, the shift in perception will never, EVER make for a natural experience.</p>
<p><strong>But the latency</strong> is the innocent tip of the treacle-slow iceberg of hopeless bullshit Microsoft are attempting to foist on us. Voice control, another fallacy and fantasy of hopeless technicians and scientists without a vibrant soulful bone in their bodies, not only drags us kicking and screaming back to the spoken word, but it actually makes the spoken word worse. You are now expected to speak in a stilted made-up inhuman <em>dialect </em>that would only be made acceptable if it came from a particularly excellent Christopher Walken impersonator.</p>
<p>Today&#8217;s Star Wars Kinect demo, where a player shouts in an unnaturally enunciated voice, &#8220;light saber, on!&#8221;, sums up <strong>the futility of the spoken word in a context where tactile response and immediacy is the key</strong> to every possible shred of immersion the experience has to offer. Bioware&#8217;s demo of voice recognition in Mass Effect 3 was a staggering display of stupidity; Who are these blithering idiots who believe I want to introduce even an lighting flash of a second&#8217;s worth of my own physical body into a video game role playing experience? Stephen Totilo asks; What if I&#8217;m playing a female character? Consider too that you are holding the controller in your hands as you are expected to say these words, in the slow enunciated fashion the technology requires. You are a BUTTON PRESS away from making a statement and getting on with your life, immersion intact.</p>
<p>(It&#8217;s all I can do not to break down and lose faith altogether. I thought game developers and designers were smart people! When I was a kid I thought those guys and gals were wicked space wizards who wanted nothing more than to blow my fucking mind, and here you are, making yourself, and your audience, look like bumbling morons. Game developers need to take a stand here.)</p>
<p>But Kinect goes below and beyond perverting an art form. As designers make moves to craft custom experiences that &#8220;make the most of the hardware&#8221;, the true weakness, and true evil of the technology, becomes apparent: <strong>There is not a single Kinect-centric experience now, or upcoming, that does not reduce its users to cave men.</strong> Without fingers, a sense of touch, a sense of feedback, and without the ability to even communicate like normal human beings in the language of our choice, Kinect reduces us to invalids, unable to attain mastery beyond the confines of a technology that operates primarily on guesswork and heuristics.</p>
<p>Kinect is a devolving necromancy,  old discarded tissue brought back like a cancer to slowly poison a beautiful, pure language that has evolved organically since the very beginning of the industry. While I love working and playing with the hardware on my PC, as a gamer for most of my life, and especially as someone who loves language, I fucking hate the Kinect so, so much, and everything it stands for. It&#8217;s fucking vile. If there is any Darwinistic justice, this experiment will be aborted and discarded like the weakening mutation it is.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2011/06/thoughts-on-microsofts-2011-e3-keynote/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developer&#8217;s pride</title>
		<link>http://www.doomsday.no/esn/2011/05/developers-pride/</link>
		<comments>http://www.doomsday.no/esn/2011/05/developers-pride/#comments</comments>
		<pubDate>Sun, 08 May 2011 20:27:43 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1288</guid>
		<description><![CDATA[A short one, this time Back when I was a paperboy I started out being pained by the whole ordeal of lugging all those papers around and running up and down all those stairs. Can you imagine dragging a cart up and down hills and running up and down stairs during the Norwegian winter? Jeez. [...]]]></description>
			<content:encoded><![CDATA[<p>A short one, this time <img src='http://www.doomsday.no/esn/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Back when I was a paperboy I started out being pained by the whole ordeal of lugging all those papers around and running up and down all those stairs. Can you imagine dragging a cart up and down hills and running up and down stairs during the Norwegian winter? Jeez. With time though, I was seeing pretty sharp benefits. My physique got <em>awesome</em> (holy hell do I believe in the Stairmaster now), I was making my <em>own money</em>, but best of all, I got <em>extremely skilled at manipulating newspapers one-handed</em>. From rolling them up with a figure-8 flick of the wrist, to throwing them long range horizontally like a Frisbee to softly land right on the recipient&#8217;s doormat, every new delivery was like a challenge to figure out the longest possible distance from which I could hand them the paper with the least amount of energy.</p>
<p>Screw the money. Feeling that I was not only mastering a task but actually feeling like I was making <em>innovations in it</em> were the best memories from running all those paper routes. To this day, I think the best thing you can get from anything is that sense of mastery. This is partially why video games that are poorly balanced at higher difficulties piss me off so much, because they&#8217;re denying the player the chance to master something that initially feels insurmountable; The <em>best</em> thing you can <em>possibly </em>get from video game mechanics. It&#8217;s also why I have a deep respect of anyone doing <em>any</em> job that put in a little extra effort. I watch garbage men and McDonalds register workers and it makes me just warm inside whenever I spot a new &#8220;technique&#8221; someone has come up with to make their job easier.</p>
<p>I&#8217;m a firm believer in programming as an art form. It&#8217;s engineering with a sprinkling of genuine authorship. I think a developer&#8217;s individual touch is as important as the resulting product, so seeing students be taught Java conventions drives me up the freaking walls; Isn’t the whole JOY of programming the manipulation of language to describe a complex structure? Coding, to me, is about individuals working together, and when I join a team I will bring my individual quirks with me; My naive belief is that individuality will strengthen the group and the project simply by virtue of individuality spawning creative mastery in a way that schooling won&#8217;t spark.</p>
<p>I have some features as a developer that I&#8217;m very proud of. The biggest pride is that when I write a UI, dimensions are always simply parameters. I feel an itch every time I type in coordinates or rectangles literally. My UI will always flow to the size of the canvas; I make no assumption at a locked resolution. 80% of the time this isn&#8217;t very important. But sometimes there is nothing more comforting than knowing that the form factor of the screen displaying the product can comfortably be an unknown variable.</p>
<p>Anyone else out there have developer &#8220;quirks&#8221; or habits they feel proud of? Specific facets of your &#8220;developer&#8217;s mastery&#8221; you feel makes you a definitive asset?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2011/05/developers-pride/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Thoughts on Deadly Premonition</title>
		<link>http://www.doomsday.no/esn/2011/05/thoughts-on-deadly-premonition/</link>
		<comments>http://www.doomsday.no/esn/2011/05/thoughts-on-deadly-premonition/#comments</comments>
		<pubDate>Thu, 05 May 2011 16:01:50 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Video games]]></category>
		<category><![CDATA[deadly premonition]]></category>
		<category><![CDATA[tldr]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1281</guid>
		<description><![CDATA[Deadly Premonition, a Twin Peaks tribute open-world horror/adventure game for the Xbox 360 and PS3 by Osaka-based Access Games, is absolutely incredible. You have to take a moment to consider the definition of that word. in·cred·i·ble [in-kred-uh-buhl] –adjective 1. so extraordinary as to seem impossible: incredible speed. 2. not credible; hard to believe; unbelievable: The [...]]]></description>
			<content:encoded><![CDATA[<p>Deadly Premonition, a Twin Peaks tribute open-world horror/adventure game for the Xbox 360 and PS3 by Osaka-based Access Games, is absolutely incredible. You have to take a moment to consider the definition of that word.</p>
<blockquote><p><strong>in·cred·i·ble</strong> [in-kred-uh-buhl] –adjective<br />
1.<em> so extraordinary as to seem impossible: incredible speed.</em><br />
2. <em>not credible; hard to believe; unbelievable: The plot of the book is incredible.</em></p></blockquote>
<p>The game follows an FBI-agent assisting the local law enforcement to solve a bizarre murder mystery in a small rural town. The game takes on strong occult overtones, and features a bizarre collection of townsfolk, all of which behave nothing remotely close to normal.</p>
<p>I&#8217;d followed <a href="http://www.giantbomb.com/videos/5/" target="_blank">Giant Bomb&#8217;s &#8220;Endurance Run&#8221; of the game</a>, which lampooned the title for a pair of full play-throughs. A curious thing happened during that long stretch of gameplay;  As the game introduced them to its menagerie of ridiculous characters and spaced out protagonist, they laughed at it, while groaning at the awkward controls, terrible localisation, bad graphics and silly audio production. However, as the endurance run stretched on, you could notice a subtle change in atmosphere. The game, with all its flaws, endeared itself to the players. By the end, it was even the centerpiece of a heated discussion on the site&#8217;s 2010 game character of the year award.</p>
<p>When I found a copy of the game for myself, I was ready to laugh at it like I&#8217;d laughed at Ed Wood&#8217;s nonsensical cinema. Instead, I found myself drawn to it, and the shocking revelation dawned on me that this piece of muddled auteur debris was genuinely entertaining. Even more so, it was making me look at other ostensibly more competent titles in my collection with a new-found disdain; How <em>boring</em>!</p>
<p>This is Deadly Premonition, a game so overflowing with unchecked ambition and self-indulgence, so broad in scope and in its generosity, its urge to entertain, so perfectly singular that it has become, in my mind, close to what the gaming press has been clamoring for for years; &#8220;our&#8221; Citizen Kane.<span id="more-1281"></span></p>
<h3>Scope, art and budgets</h3>
<p>Games like this aren&#8217;t made anymore. They just aren&#8217;t. Historically, the scope of a role-playing game is balanced directly against the budget allotment for asset creation. Games such as The Elder Scrolls II, which offered a frankly ludicrous amount of terrain to explore (twice the size of Britain, allegedly), did so by repeating a limited collection of assets. Its scope was allowed to grow unchecked because the very design and ambition of the game treated art assets as a means to an end. Spiderweb software&#8217;s Exile series of RPGs offered players *vast* worlds presented by a collection of a few hundred tiles and characters that didn&#8217;t animate. As the complexity of game engines grew and artists were given more tools, the amount of time spent on creating art clashed directly with the conceivable scope of a title.</p>
<p>When Neverwinter Nights launched, it attempted to utilize repeated assets to offer players a vast world while maintaining the visual standards of its day, and Bioware was criticized for the repetitive visuals. This occurred again more recently with Dragon Age II, which is practically notorious for its repeated scenery. You have to sympathize with RPG developers like Bioware and Bethesda, who have to offer players vast, dense worlds, yet still have to compete directly with titles like Call of Duty who can commit its &#8220;art budget&#8221; to a very constricted set of assets. Creating an RPG that can appeal on the same visual level is an almost impossible task, and so procedural asset generation and other such techniques are very much in the wind as Bethesda prepares to launch its next Elder Scrolls title our way. In more recent years, Spore offered a vast universe of strange creations by leveraging procedurally created assets. For the most part, however, players have become accustomed to beautiful, custom art.</p>
<p>Deadly Premonition has terrible assets. It barely blends between animations; nudging the stick forward sees the protagonist slide slowly across the floor, while still walking at a full clip. Walking by a supermarket fruit counter, the textures are crude, flat photographs of  fruit; They aren&#8217;t even bump or normal mapped! The soundtrack seems to consist of a grand total of 6 poorly mixed songs.</p>
<p>Deadly Premonition&#8217;s developers, at some point, must have fully come to terms with their budgetary restrictions, yet they still managed to offer an open, living world filled with things to do and explore (whether these things are interesting or fun is another matter). Their goal, apparently, became to deliver <em>scope. </em>If it was intended or not, the way Deadly Premonition almost spitefully subjects you to assets that are *clearly* bad, actually has the effect of adjusting your expectations to the point where it all sort of snaps into place; The poor dialog, the silly music, the controls, and the assets.</p>
<p>Once you adjust to it, everything about Deadly Premonition seems <em>just right</em> in a very rare way that effectively grants it a carte blanche; <em>It can do no wrong</em>.</p>
<h3>&#8220;Just call me York; that&#8217;s what everyone calls me&#8221;</h3>
<p>You can&#8217;t discuss Deadly Premonition without paying close tribute to its protagonist; FBI special agent Francis York Morgan. Clearly an attempt at replicating Twin Peaks&#8217; Dale Cooper&#8217;s quirky charm, the effect misfires completely as York proves himself a bit of an arrogant, self-obsessed prick, with so many obsessive-compulsive ticks and strange behaviors that you come to the early, intuitive conclusion that he is absolutely bonkers. This, again, has the effect of making you doubt his claim to be an FBI agent; That he appears to lapse into dream worlds where he kills zombies and monsters, before discussing 80s cinema in the car with his imaginary friend Zach makes everything he says feel unreliable.</p>
<p>The interesting thing is that this works. York becomes the friend you hang out with just because he&#8217;s unpredictable in a safe way. He clearly <em>means</em> well, but his conduct is like a steady stream of ticks and non-sequiturs. You giggle at his madness, but you&#8217;re genuinely interested in where he&#8217;s going with it. In this way, the player takes the part of Twin Peaks&#8217; Harry Truman, being puzzled and amused by this foreign figure, but we can&#8217;t deny his methods somehow get results. We&#8217;re the straight man.</p>
<p>In fact, the game appears to break the fourth wall regularly, with York&#8217;s constant discussion with his imaginary friend Zach, some of which appears to directly adress the player. It&#8217;s as though York includes the player in the game by making you a character. When York talks about his love for the film Tremors, I couldn&#8217;t help but fall into character. Few games have inspired so many out-loud responses from me  (though perhaps that says more about me than it does about Deadly Premonition&#8230;).</p>
<h3>&#8220;Red Ivy, the <em>shadow thing</em>, the generator, it <em>all makes sense</em>!&#8221;</h3>
<p>Few things in Deadly Premonition are satisfying. A chess puzzle is so simple you feel almost offended when you solve it, yet York discusses it as a &#8220;battle of wits&#8221;. Firing a weapon , which you can do at any time at anyone, with absolutely no effect unless it&#8217;s a zombie, feels so weak any visceral joy from the gunplay is completely lost.  The game even manages to undermine any seriousness to the combat by having York constantly mutter to himself whenever you score a good hit. Driving around is equally ridiculous; Every vehicle feels like it spins around its center axis, and seem to have a top speed of 50mph, and a turning radius of a full block. Crashing into anything, living or dead, simply stops the vehicle dead with no other effect. As York solves the mystery, the way in which he does it is disjointed and random, with a logic only apparent to him.</p>
<p>The compound effect, however, is of a disconnected, dreamlike consistency. As York falls in and out of a horror-themed riff on Silent Hill&#8217;s &#8220;dark side&#8221;, either side feels equally unreal. After all, this is a game in which you are paid an FBI salary with bonuses for shaving and peeking through windows, and penalties for being &#8220;stinky&#8221;, before you go riverside and go fishing for submachine guns. Pretensions towards normalcy and realism in this game would have created a number of dissonances with its ridiculous story that the game escapes cleanly by being a bit shit all around. Instead of complaining about the poor driving physics, you learn which cars behave in which ways, and learn to manipulate the system for the best possible outcome; I dare say at this point I&#8217;m a pretty effective Deadly Premonition driver.</p>
<h3><em>&#8220;Do you feel it, <a href="http://www.giantbomb.com/zach/94-14513/"></a></em><em></em><em></em><em></em><em>Zach</em> <em>?</em> My coffee warned me about it.&#8221;</h3>
<p>Not too long ago, Remedy released Alan Wake, a Twin Peaks influenced game with stellar production values and a frankly ridiculously long production cycle. Released to much expectations, the game, for me, fell flat for a number of reasons. The biggest of which is that the game is about a horror writer, and features some absolutely horrible writing in spite of taking itself seriously. Guys, you can&#8217;t do that. Horror is in itself inherently ridiculous. Successful horror stories in whatever medium are without fail dreamlike or extreme, and get to us by manipulating and sometimes transposing our understanding of reality and its rules. Twin Peaks worked as a horror story of sorts because it took its viewers to a strange place where the rules were fleeting and nobody acted anything like a normal person. It effectively <em>used</em> the soap opera format to emphasize the strangeness of its characters and mundanity of its setting to emphasize the ugliness of its dark edges.</p>
<p>This is something Deadly Premonition *nails*. It becomes an unnerving experience because of its flippancy, which is often countered with frankly disturbing actions and stories. This is a game where a rocker guy constantly and frantically snaps his fingers while carrying on a perfectly normal conversation, and also one where characters discuss serial killers that urinate in and drink from the victim&#8217;s skull, as the background music consists of whistling and kazoos. It takes you and your sensibilities to a place where their value becomes obscured.</p>
<h3>Funny/Scary</h3>
<p>What&#8217;s interesting to me about laughter is that it&#8217;s primarily a nervous reaction. We laugh to communicate our insecurity to the outside world, and we want our laughter reciprocated because that lets us know everything is alright. Who hasn&#8217;t been freaked out by a noise or movement, only to laugh to ourselves when it proves to be nothing? The best comedians deliver ideas that challenge our world view, and do so without a smile. We are left to laugh because we subconsciously *desire* the balance a smile would lend the situation. We love to laugh together, because the more of us that laugh, the safer the situation. We&#8217;re just animals, after all.</p>
<p>Deadly Premonition makes me laugh all the time. I&#8217;ve sat by myself, simply driving around the game world, bursting into laughter for no discernible reason. It&#8217;s consistently <em>wrong, </em>and my brain, conditioned by modern and more polished games, finds it hard to deal with the internal consistency of modern game design and how Deadly Premonition seems completely uninterested in any of that. This dissonance is absolutely core to the experience, as the absurdity of light-heartedness reaches a kind of balance with the absurdity of the horror it presents. Zombies moan ridiculously in low pitched voices, but as the game goes on even this becomes tuned to the vibe of the game world to the point where it starts actually being unnerving.</p>
<p>The net result, successfully emulating the Lynchian weirdness of Twin Peaks, is that the game is simply a joy to experience, for reasons that become hard to rationalize. Alternating between being disturbing and being ridiculous, you&#8217;re put through an almost literal rollercoaster of emotions. One moment you&#8217;re desperately running from an axe murderer in a section so long it actually becomes physically exhausting, and then you&#8217;re peeking through a motel window to watch an effeminate man dancing like a stripper.</p>
<p>About the only thing the game genuinely lacks is a sense of emotional attachment to any of it, instead casting you as a kind of disinterested observer. You get the sense that this would be going on with or without you, as the game frequently directs you to carry out tasks for no intuitive reason. Why am I pushing this button? Why did I pick up this object? You&#8217;re guided by the game to simply perpetuate its content. You aren&#8217;t York. You&#8217;re the player. As a result of this detachment, the game is more <em>interesting</em> than immersive, which is starkly divergent to the current trends towards personally immersing the player and urging us to inhabit the player character. Deadly Premonition is absolutely fine with leaving you a viewer, even adopting TV-like mechanisms such as a &#8220;previously on&#8230;&#8221; segment when loading a saved game.</p>
<h3>Perfect 10</h3>
<p>The notion of perfection is strange to any art form. Outside of the realm of science, where something can truly be described as perfectly matching to an ideal, in art the definition progressively loses its purpose with every new observer of a piece. Deadly Premonition is notorious for receiving wildly divergent review scores, ranging from a 2/10 at IGN to Destructoid&#8217;s 10/10 &#8220;perfect&#8221; score. Personally, I feel the game is perfect, in that it takes its budget, its scope and its vision and combines it to form a sweet spot where they all are appropriate. It&#8217;s a game that offers something no other game has offered me; A genuine B-game experience that tells a story unlike any other in a form factor unlike any other. It&#8217;s so unique it&#8217;s practically punk rock, evoking Grasshopper Manufacture&#8217;s games and to a certain extent the work of Platinum Games. With Deadly Premonition, Access have become the anti-Platinum, equally perfect in its imperfection. They&#8217;ve created their own playing field, and they have no competition.</p>
<p>The game is perfect, singular and so unique in its time that it escapes all meaningful comparison. For quirky, surreal, open-world murder-mystery-horror games, Deadly Premonition is the absolute gold standard, and I can&#8217;t imagine it will ever be bettered.</p>
<p>You can pick it up for a song and a shuffle today, and I can&#8217;t recommend it enough. This is a game I feel everyone interested in the subject of video games should play. It&#8217;ll broaden your horizons and challenge your expectations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2011/05/thoughts-on-deadly-premonition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My $.2 on Android dev vs iPhone dev</title>
		<link>http://www.doomsday.no/esn/2011/02/my-2-on-android-dev-vs-iphone-dev/</link>
		<comments>http://www.doomsday.no/esn/2011/02/my-2-on-android-dev-vs-iphone-dev/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 16:42:48 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Game dev & design]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1269</guid>
		<description><![CDATA[I&#8217;ve recently had the good fortune of reaching the point where my Java proficiency is such that I&#8217;m finally able to create something, rather than just poke at the language and see what it does. It&#8217;s been a while since I felt like I could actually speak a new language, and the process has been [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently had the good fortune of reaching the point where my Java proficiency is such that I&#8217;m finally able to create something, rather than just poke at the language and see what it does. It&#8217;s been a while since I felt like I could actually speak a new language, and the process has been incredibly inspiring! From meekly putting some buttons on screen and going through the (excellent) Android developer guide to familiarize myself, I&#8217;m finally building a framework for making actual games, and I&#8217;ve begun coding creatively. It&#8217;s almost intoxicating. I had a moment last night with a glass of Stolichnaya, a warm blanket and a ~55fps blitted multitouch particle system where I realized to my horror that I have fallen in love with Java. My nerd circle is complete!</p>
<p>I have a certain disdain for Apple&#8217;s policy of developer lock-in, as well as their entire [<em>blahblahblah catch up with this with me over a beer sometime</em>], so for me the idea of investing so heavily in iOS development was never of any interest. I&#8217;m not enchanted with the philosophies that drive objective C, being firmly in the C++ camp, so iOS &#8220;development&#8221; for me has been limited to design discussions and project planning with my friends who do enjoy working on that platform. I want to stress out that while i think Apple can [<em>Escher-like construction of interwoven expletives</em>], their hardware is good, and their design philosophy is excellent. I&#8217;ve been an iPhone owner since the 3GS, and I&#8217;ve played a surprising amount of really good games on the platform. It&#8217;s solid.</p>
<p>I haven&#8217;t played a lot of good games for Android. It doesn&#8217;t feel solid.</p>
<h3>Which is better?</h3>
<p>The discussion invariably becomes a &#8220;which is better&#8221; question: Should I get an iPhone? Should I get an Android device? From the perspective of one &#8220;indoctrinated&#8221; to expect Apple-level polish at the expense of features, Android&#8217;s good sides will be invisible because you don&#8217;t think to look, and its bad sides will be staring you in the face from the get go; Android as an operating system simply <em>feels</em> less responsive. So obviously (literally), iOS is the stronger platform, right? Given the presumption that every Android device is an iPhone competitor, then you may have a strong argument.</p>
<p>However, at this junction, being a Flash developer with a new found fascination for Java and a better understanding of the Android platform, I don&#8217;t find myself able to make such a direct comparison. In fact, I think it&#8217;s practically invalid; The definition of an &#8220;Android device&#8221; at this point is incredibly open. Your application, in a single deployment, can theoretically target everything from a tiny-screened uncomplicated Sony Ericsson Xperia X10 Mini to the Samsung Galaxy Tab. You may expect to have access to a joystick, hell, with the Xperia Play, you can expect dual analog sticks. You can assume a single touch screen, or any sort of multitouch input. You MAY be working on a phone.. You may be working on the dashboard of a car. </p>
<p>Android is a very wide canvas, and I feel the idea that Android and iOS are implicit competitors is a misunderstanding. </p>
<p>I believe that an Android developer, to be successful, has to reach a very wide audience, not only in terms of software appeal, but also in terms of hardware optimization; The design must pre-empt a wide array of edge cases. It&#8217;s a complicated, arduous task, but the reward, I feel, is that same fuzzy warm feeling I get when a Flash application&#8217;s UI flows with the window size. The feeling that your bases are covered. The feeling that you&#8217;ve engineered a flexible machine. </p>
<p>And my real argument here is that designing for iPhone with the assumption that you can port painlessly to Android is a grave mistake.</p>
<h3>Scale down, not up</h3>
<p>At this point, having written an Android app that scales to a subset of devices you are happy with, what&#8217;s stopping you from porting to the iPhone with a minimum of change to your design? iPhones have a couple of configurations and little to no change in input capabilities; The biggest in recent times is the addition of the gyroscope with the iPhone 4, easily omitted for the 3G/S at the cost of fidelity, but no actual capability lost. In contrast Android devices have many dozens and more coming, and few input capabilities you can count on. </p>
<p>Being a Flash developer, I&#8217;m arrogantly going to assume you are one as well: You are already versed in designing applications with a variable canvas size. You are already used to optimizing to overcome crappy end-user hardware. Designing for a range of Android devices that are comparable to the iPhone will let you write in a language very similar to the one you know, typically with much better performance than you&#8217;d expect unless you are forgetting your optimizing lessons. Summary: You already know how to do this shit! </p>
<p>When your application is done and deployed, take it to someone else to get it ported, or use the porting as an excuse to learn iOS dev; Java is a very generic language, the API is uncomplicated enough that parallels can be found on most platforms, and if you are a game developer in particular, you&#8217;ll barely be using any of the OS-specific integration anyway. Port DOWN to iPhone, which is the more complicated platform but with a better known configuration. Don&#8217;t write your iOS application and expect your design to work within the flowing canvas of the Android platform, because they simply are not the same. But the iPhone is in actuality <em>the lowest common denominator</em>.</p>
<p>I see too many people wanting a cross platform framework for smartphone application dev to, I guess, &#8220;make the most money&#8221;, and some have found success with stuff like Corona. But this is a compromise layered on a compromise. I personally could never feel comfortable with such an attitude, because it not only undersells the platforms you are targeting, but it compromises your design in a way I feel is unnecessary. It also locks you into yet <em>another </em>platform, with <em>another</em> language. How low are you willing to go for a quick buck, guy?</p>
<h3>Fun times!</h3>
<p>My first Android game targets the Galaxy S in particular. It&#8217;ll be free, and will work wonderfully on all comparable devices. It&#8217;s a great learning process. 50fps multitouch accelerometer gravity party-time! It will also be ported to the iPhone when it&#8217;s done and tested. That&#8217;ll be programming and optimizing work. At this point, I&#8217;m having fun just playing. </p>
<p>If you&#8217;re a Flash developer in doubt, for what this is worth, I really must recommend getting a decent spec Android phone and getting into developing for it before letting Apple shackle you to their platform in a way that denies you flexibility of deployment. Working natively on a device like the Galaxy S is a total joy; This thing is so full of fun sensors and fancy junk, it&#8217;s kind of mind-blowing how little you must do before you&#8217;re integrating it all into an experience. And you can take that experience to iOS later, when it&#8217;s ready for it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2011/02/my-2-on-android-dev-vs-iphone-dev/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Doomsday Console 64 public + an announcement</title>
		<link>http://www.doomsday.no/esn/2011/01/doomsday-console-64-public-an-announcement/</link>
		<comments>http://www.doomsday.no/esn/2011/01/doomsday-console-64-public-an-announcement/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 19:15:50 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1256</guid>
		<description><![CDATA[Today was the day I finally mustered the courage to push the Doomsday Console 2.0 update to googlecode. It&#8217;s not, er, particularly 64 bit. If you get the lame joke in its title, we should have beers. It is not finished by any stretch, but it is mostly feature complete, and in the coming weeks [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1257" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.doomsday.no/esn/wp-content/uploads/2011/01/dconsole64.png"><img class="size-large wp-image-1257 " title="dconsole64" src="http://www.doomsday.no/esn/wp-content/uploads/2011/01/dconsole64-600x270.png" alt="" width="600" height="270" /></a><p class="wp-caption-text">Click for nice sharp pixely bits</p></div>
<p>Today was the day I finally mustered the courage to push the Doomsday Console 2.0 update to googlecode. It&#8217;s not, er, particularly 64 bit. If you get the lame joke in its title, we should have beers. It is not finished by any stretch, but it is mostly feature complete, and in the coming weeks I&#8217;m hoping to be polishing it and fixing it up to the point where you can stick it in your games and apps without worry.</p>
<p>It&#8217;s got a more elaborate UI, featuring a foldout panel on the left that gives you tabs containing the display list as a tree view, and a matrix of properties on the current selection. More tabs are planned, but damn, need to make these two bug free first; Handling write-only accessors is a really weird problem from a UX point of view. The aim is to marry two often used features of the previous version; the ability to select display objects directly and interacting with their properties, with a simpler method of access. </p>
<p>One of my favorite things about this UI is how it&#8217;s greedy for space but relinquishes it as sections become too small to be useful, and fields and components hide and reappear as the console is scaled. There&#8217;s also scrollbars now. WILD. So much new small stuff!</p>
<p>Oh, and we&#8217;ve shifted the license to MIT, so it should be easier on your clients as well.</p>
<p>I want to stress that this isn&#8217;t the final release, but rather us making the development public. You&#8217;re free to experiment with the source, of course, but I personally wouldn&#8217;t recommend using it in live projects of any importance, or at least jump in expecting a solid product; It&#8217;ll get there, but it&#8217;s not there yet. Enough apologies. I think this thing is awesome <img src='http://www.doomsday.no/esn/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>Grab the swc or join the bug smashing at <a href="http://code.google.com/p/doomsday-console-64/">http://code.google.com/p/doomsday-console-64/</a></p>
<h3>Me + Furu Systems = Yay!</h3>
<p>Super stoked about this. I&#8217;ve joined forces with two colleagues from previous workplaces who are also freelancing, to form a development and design collective; Furu Systems. These are super talented guys that I&#8217;ve known since high school, we&#8217;re all really keen on our respective fields, and I&#8217;ll be moving most of my business through that name from here on.</p>
<p>I&#8217;ll be mirroring most of my technical writing on our (currently blank) <a href="http://blog.furusystems.com/">blog</a>, as well as do in-depth post mortems of projects whenever possible. I hope to make the work process itself sort of open source, to make sure lessons are learned and shared. </p>
<p>If you&#8217;re interested in working with me / dudes that are rad, keep <a href="http://www.furusystems.com">www.furusystems.com</a> in mind.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2011/01/doomsday-console-64-public-an-announcement/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Kinect impressions</title>
		<link>http://www.doomsday.no/esn/2011/01/kinect-impressions/</link>
		<comments>http://www.doomsday.no/esn/2011/01/kinect-impressions/#comments</comments>
		<pubDate>Fri, 21 Jan 2011 11:08:25 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Video games]]></category>
		<category><![CDATA[Kinect]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Move]]></category>
		<category><![CDATA[Nintendo]]></category>
		<category><![CDATA[PlayStation]]></category>
		<category><![CDATA[Sony]]></category>
		<category><![CDATA[Xbox 360]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1248</guid>
		<description><![CDATA[I recently picked up a Kinect unit for the purpose of playing around with the many excellent hacks the community has come up with, and for the sake of evaluating it for use in exhibits. It is a little shocking to me in retrospect that I never even loosely considered actually hooking the thing up [...]]]></description>
			<content:encoded><![CDATA[<p>I recently picked up a Kinect unit for the purpose of playing around with the many <a href="http://www.youtube.com/watch?v=7QrnwoO1-8A">excellent</a> <a href="http://as3kinect.org/">hacks</a> the community has come up with, and for the sake of evaluating it for use in exhibits. It is a little shocking to me in retrospect that I never even loosely considered actually hooking the thing up to my 360. From the first moment Microsoft announced this thing I have been standoffish about the whole idea as an enabler for good game experiences. Perhaps it&#8217;s the traditionalist &#8220;hardcore gamer&#8221; in me, though I was a joyous day 1 Wii adopter that has yet to be convinced that system isn&#8217;t one of the hardest core things Nintendo has ever produced. Perhaps it&#8217;s the cynical anti-M$, anti-corporate indie asshole part of me. Regardless, watching as the demos trickled out and never amounting to more than a vaguely unreliable set of flailing coupled with exactly one meaningful game experience (Harmonix&#8217; excellent looking Dance Central), it was difficult to see the Kinect as anything more than an attempt at taking a chunk out of Nintendo&#8217;s market.</p>
<p>Everything I&#8217;ll say from here on pertain to the Kinect as part of the Xbox 360 experience, and as a games system in its own right. The hardware itself is pretty stellar, and having played around with <a href="http://openkinect.org/wiki/Main_Page">OpenKinect</a> and <a href="http://www.openframeworks.cc/">openFrameworks</a> for a while now, I see nothing but good uses for it. Outside of games.<span id="more-1248"></span></p>
<p>There are a number of fundamental flaws to the Kinect experience. At first glance they appear to be software related, but with further use they feel philosophical, for lack of a better word.  There is no denying the slickness of the setup wizard, the sense of eerie drama when the camera performs its self calibrating vertical scan of the room, and the odd moment when your avatar stops being a comically animated character and instead animates to your stance and becomes &#8220;some dude&#8221; on your screen. It&#8217;s certainly got a nice bit of wow to it, but already at this point my sensation that the Kinect was not for me intensified exponentially, along with the sensation that Microsoft doesn&#8217;t fully know who it&#8217;s for.</p>
<h3>The waggle gimmick</h3>
<p>Much has been said of how the Wii was founded on a gimmick that became endemic to the weaknesses of its software. The same was said about the Nintendo DS and its double screens. The image of a gamer shaking the Wii remote where a simple button press could suffice has become a joke that has dogged Nintendo almost from the start. The key, however, to Nintendo&#8217;s success has been in marrying the familiar and tactile to the chaotic and unknown. They took what was known and infused it with just enough of the unknown that it became enticing. They polished off enough of the edge that the &#8220;hardcore&#8221; felt precision suffered, but in the same genius move this evened the playing field. They created a system that was familiar enough that it could support titles like Super Mario Galaxy 2 (which will kick your sorry ass in a moment&#8217;s notice), yet simple enough that anyone could pick up Wii Sports Resort and learn not to worry about the controller buttons. At least in terms of the game interface, they hit both marks, and created platforms where developers could choose what functionality to use.</p>
<div class="wp-caption aligncenter" style="width: 510px"><img title="WAT" src="http://www.cybertheater.com/wp-content/uploads/2010/06/500x_kinect_specs.jpg" alt="" width="500" height="353" /><p class="wp-caption-text">Wat.</p></div>
<p style="text-align: center;">
<p>The Kinect, in contrast, demands creativity of its prospective developers that is actually sort of mindblowing. It asks developers to literally throw away <em>everything</em> they have learned in favor of an interface with no tactile feedback, relatively high response time and a large margin for error. The feature-set made available to games amounts to a slightly shit motion capture studio in your living room, coupled with a truncated set of voice recognition features. Beyond this Microsoft offer developers practically nothing. Sony, I feel, did a very wise thing when they based their Move controllers on a known quantity. When Sony literally up-scaled Nintendo&#8217;s solution, they allowed Wii developers a chance to move up to a more powerful platform without losing the value of their experience, effectively cancelling Nintendo&#8217;s developer lock-in. This broadens the market and makes for exciting times. Through Kinect, Microsoft attempts to create a developer lock-in situation of their own, and I believe it&#8217;s going to bite them in the ass.</p>
<p>The biggest core design problem with Kinect is simply that the system doesn&#8217;t just have <em>a</em> gimmick. It&#8217;s that it has <em>one</em> gimmick which the entire system is built around. It offers practically nothing beyond its &#8220;you are the controller&#8221; mantra.</p>
<h3>Disconnect</h3>
<p>I have a nice and sizable living room. In fact, according to the Kinect itself, it&#8217;s perfect. I had to move the living room table and an arm chair literally out of the room before it became plausible to move around in the way the system wanted me to during the calibration process. Even then, my height became a problem as the system would frequently lose my shoulders and head and have a fun little freakout until I&#8217;d step back into full view. It certainly worked for the most part, but  I can not imagine the household where this kind of interactivity is suited. A glance at Microsoft&#8217;s marketing really shows how huge the philosophical divide between Nintendo and MS really is. At E3 2006, I stood in line for a little over an hour to get a look at Nintendo&#8217;s booth. We&#8217;d seen so many ads where players were jumping behind couches and flailing around that some of us were worried about just how crazy this thing was going to be.</p>
<p>Turns out, for the most part, Nintendo intended for you to sit on your couch in your living room and relax while playing these games, just like you always did. Of course there were games that asked you to move around more, but always with a certain abstract distance from the action you are trying to portray. The image of some dude on a recliner lazily &#8220;bowling&#8221; by gaming the gesture system was seen as indicative of a weakness in Nintendo&#8217;s design, but that the system has enough dirty leeway to offer such varying styles of play is a boon, not a flaw. It allows those of us who want to really get into it and &#8220;play along&#8221; to make asses of ourselves, while others who just want to beat their record play any which way they want.</p>
<p>When Nintendo introduced the MotionPlus addon to the Wii, I picked it up with a copy of Red Steel 2. I really enjoyed Red Steel 2, but the game practically demanded that I stand up and put my body behind my motions; I couldn&#8217;t get away with winging it anymore. If I wanted to beat this guy, I&#8217;d actually have to swing my arm like I meant it. This was very cool for short sessions, but for a game that is actually quite big, I must admit I simply couldn&#8217;t commit to that kind of experience; It had taken away my choice to play it lazily, and so I couldn&#8217;t relax with it.</p>
<p>The Kinect is, for better or worse, 1:1. Not only can you not wing it.  You also have to literally stand inside your table if the game wants you to do so, if not your move is invalid. It creates an abstract yet direct connection between the real world and in-game actions that are, in my opinion, misguided. The Wii or Move don&#8217;t offer physical feedback to motions, but they do offer rumble as an indicator of tactility. The human brain is <a href="http://www.youtube.com/watch?v=OKd56D2mvN0" target="_blank">amazing</a> in its ability to correlate perceptions. The Kinect offers a delayed 2D image as its only response to a relative full-body 3D motion. If you thought judging jump depths in Super Mario 64 was hard, give Kinect a go.</p>
<p>I play games to lose myself. This abstraction of interface, the <em>disconnect between realities</em>, so to speak, is key to that experience. The idea of immersion is not different in games from what it is when you lose yourself in a book or an engrossing film. The interface stays out of the way so the brain can transpose itself to another context. At its best, this sensation of losing the real world is absolutely euphoric. Kinect, with its explicit <em>connection</em>, forfeits the ability to transpose the mind. It can only transpose the body.</p>
<div class="wp-caption aligncenter" style="width: 609px"><img title="Wat" src="http://www.csmonitor.com/var/ezflow_site/storage/images/media/images/0908-kinect/8604544-1-eng-US/0908-kinect_full_600.jpg" alt="" width="599" height="400" /><p class="wp-caption-text">Waaaat.</p></div>
<p style="text-align: center;">
<p>Some Kinect launch titles have understood this. Dance Central notably hides the player from view, allowing players to lose themselves in the idea of matching dance moves, rather than awkwardly watching themselves fail at looking anywhere near as cool as the game is trying to make them feel. Like some people have said, Dance Central is the game that proves Kinect can work. Personally I&#8217;m not convinced silhouette detection of the sort Kinect can offer is required for this style of gameplay, considering the popularity of simple games such as Just Dance.</p>
<p>In short, Sam Fisher is a cool character because he is a cool character. I am not Sam Fisher, and no manner of motion control will let me be Sam Fisher. The moment Sam bumbles about with my inelegant motions is the moment he ceases to be a cool character, and Microsoft&#8217;s notion that putting you in the game world is the epitome of gamer fantasy is simply flat out wrong.</p>
<h3>Personality flaw</h3>
<p>This is a personal gripe, and much more subjective, so I&#8217;ll apologize in advance. But how fucked up is the Disney Channel-esque aesthetic Microsoft has chosen for its casual line of products? The United Colors of Benetton families in their oversized living rooms playing generic green-orange-yellow flailing-games and <em>enjoying the shit out of it</em> gives me serious chills. There is nothing human about anything Microsoft is showing, from the games themselves to the people playing them in the homes they live in. Microsoft is targeting a type of human being I&#8217;m not convinced exists, at least not where I&#8217;m from.</p>
<div class="wp-caption aligncenter" style="width: 510px"><img alt="" src="http://static.product-reviews.net/wp-content/uploads/Avatar-Kinect-For-Xbox-360.jpg" width="500" height="279" /><p class="wp-caption-text">Creepy.</p></div>
<h3>Tapping out</h3>
<p>In general, from the name to its logo, to its target demographic, to the games it supports and the future it predicts, I have no interest whatsoever in partaking in the Kinect brand from here on. The best possible future I can imagine for the system is significantly less than the sum of its parts, and while I&#8217;d love to be proven otherwise I see no reason to have high hopes either. Every moment I spent with it connected to my 360 compounded the sensation that this was, in short, some stupid bullshit.</p>
<p>For Christ&#8217;s sake Microsoft, if you were so worried about buttons, just launch a casual controller instead. You know, with less buttons.</p>
<div class="wp-caption aligncenter" style="width: 310px"><img title="Zipstick" src="http://media.giantbomb.com/uploads/0/1987/838415-zipstick_large.jpg" alt="" width="300" height="264" /><p class="wp-caption-text">This thing drove my &quot;hardcore gaming&quot; for years</p></div>
<p>Oh and gamers who think full-body motion control is truly the way to go; Go play outside for a change. Take a walk. Reality doesn&#8217;t SUCK, guy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2011/01/kinect-impressions/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Finite state machine, J&#8217;adore</title>
		<link>http://www.doomsday.no/esn/2011/01/finite-state-machine-jadore/</link>
		<comments>http://www.doomsday.no/esn/2011/01/finite-state-machine-jadore/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 15:37:36 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Game dev & design]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[patterns]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[semicolons]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1191</guid>
		<description><![CDATA[I tend to program in a results-first orientation, which means I often simply don&#8217;t find the time or benefit in implementing design patterns or frameworks such as PureMVC or Robotlegs, or even less complex ones. This is not because these patterns are without merit (quite the contrary), but because in my experience the scale and [...]]]></description>
			<content:encoded><![CDATA[<p>I tend to program in a results-first orientation, which means I often simply don&#8217;t find the time or benefit in implementing design patterns or frameworks such as PureMVC or Robotlegs, or even less complex ones. This is not because these patterns are without merit (quite the contrary), but because in my experience the scale and complexity an application will have to be at is quite high for it to necessitate such patterns, which introduce complexity in and of themselves. This includes introducing what you could call &#8220;foreign grammar&#8221; into a more natural dialect. Robotlegs in particular introduces so many new words, to a beginner it may feel like learning a new language altogether. This would, I feel, often get in the way of simply getting the job done, not to mention having to explain the framework to whoever comes next to maintain the project.</p>
<p>But this post is not about complex patterns. It&#8217;s about a very simple one; The first one I learned that used several classes as well as interfaces. Somewhat infamously at this point, I&#8217;m notoriously fond of interfaces and the freedom they offer the developer -which is ironic, because they are about limitations and requirements- and if you want to trace that love to its inception, the &#8220;finite state machine&#8221; is it. <span id="more-1191"></span></p>
<h2>What is a state machine?</h2>
<p>A state machine is a complex (but cool sounding) term for an object that can be in <em>one</em> of a <em>limited selection</em> of states. The typical example is the light switch: It can be in two states; on or off. The light-bulb can be lit or dark. The power can be up or down. Maybe you have poor wiring; the power can be fluctuating as well, a third state. In fact, as a Flash developer, you have probably been working with states and finite state machines ever since you first started playing around with the Flash IDE.  MovieClips are nothing but state machines where every frame is a state. A MovieClip of a walk cycle animation contains a state in which the character&#8217;s left foot is touching the ground. It can also be in a state where the left foot is lifted.</p>
<p>If this sounds like I&#8217;m overstating the obvious, I really am. A basic state machine is an exceedingly simple concept. Where state machines begin to shine however is in the concept of &#8220;transitions&#8221;.</p>
<h2>What is a transition?</h2>
<p>A transition is, as you&#8217;ve guessed, the proceedings that take place when a state machine changes its state. We don&#8217;t <em>need</em> transitions for a state machine to fulfill its purpose, but they are very powerful. A rule that is important to reiterate is that a state machine can <em>only ever be in one state, </em>and it&#8217;s this rule that offers one of the core benefits of the pattern; A sense of clarity.</p>
<p>(In this way programming is like maths to me. You know that 1+1=2, and that is a <em>fact of the universe</em>. Doesn&#8217;t it feel great to have such a solid grasp of reality?)</p>
<p>So given that a state machine can only ever be in one state, how would we change that state? Let&#8217;s go with the MovieClip example for now. Let&#8217;s say that MovieClips don&#8217;t exist, and we have to design their logic.</p>
<p>Our animation consists of a set of states, each describing a frame, and for a frame of animation the concept of a transition is simple; you simply tell the MovieClip to set its current state to another indexed frame, and the state changes, bam. Right? But even this simple state change has a <em>transition. </em>The previous frame is <em>removed</em>, and the new frame is <em>shown</em>. This transition could be handled by the state machine itself (in this case, the MovieClip), or by the individual frame. In the case of a dumb MovieClip with no logic attached to frames, our hypothetical reinvented MovieClip could handle this state transition just fine:</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;">function</span> <span style="color: #0066CC;">set</span> currentFrame<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">index</span>:<span style="color: #0066CC;">int</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span><br />
removeChild<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_currentFrame</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #0066CC;">_currentFrame</span> = frames<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">index</span><span style="color: #66cc66;">&#93;</span>;<br />
addChild<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_currentFrame</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #66cc66;">&#125;</span></div></div>
<p>Let&#8217;s assume our frames have content however. Let&#8217;s say the first frame has a video player, and that the next frame has a sound to play. The video should stop, and the sound should begin playing. The state machine, in this case the MovieClip, doesn&#8217;t need to know exactly what is contained in the frames, but it does need to tell them to shut down and initialize. Again, not hard to imagine.</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;">function</span> <span style="color: #0066CC;">set</span> currentFrame<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">index</span>:<span style="color: #0066CC;">int</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span><br />
<span style="color: #0066CC;">_currentFrame</span>.<span style="color: #006600;">shutdown</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
removeChild<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_currentFrame</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #0066CC;">_currentFrame</span> = frames<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">index</span><span style="color: #66cc66;">&#93;</span>;<br />
addChild<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">_currentFrame</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #0066CC;">_currentFrame</span>.<span style="color: #006600;">initialize</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #66cc66;">&#125;</span></div></div>
<p>And voila, we have described the state machine pattern that I have become so fond of, in its entirety!</p>
<h2>Applying the state machine pattern</h2>
<p>When I first started reading about artificial intelligence for games, state machines were introduced very rapidly. AI behavior could be described as a graph where each node was linked to possible states it could transition to. For instance an AI in a sneaking game could be defined by a graph such as this:<br />
<img class="aligncenter size-full wp-image-1246" title="Diagram1" src="http://www.doomsday.no/esn/wp-content/uploads/2011/01/Diagram1.png" alt="" width="265" height="332" /></p>
<p>Each box is a state the AI can be in, and the arrows represent possible transitions, each defined by the states themselves. The framework driving the AI only really needs to keep updating the current state, and let the logic of each state define the behavior.</p>
<p>I&#8217;ve written a primitive version of this AI using the state machine pattern, defining a simple autonomous agent that can move around the world, and a set of states that define its possible behaviors. Let&#8217;s take a look!</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_StateMachineAgentDemo_766391553"
			class="flashmovie"
			width="600"
			height="300">
	<param name="movie" value="http://www.doomsday.no/misc/StateMachineAgentDemo.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.doomsday.no/misc/StateMachineAgentDemo.swf"
			name="fm_StateMachineAgentDemo_766391553"
			width="600"
			height="300">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Our Agent is a small, overconfident, myopic black arrow. He will hang out for a bit, then wander around at random, pausing once in a while. When the mouse cursor is in front of him within a certain radius, he will chase after it. When he comes close however, he&#8217;ll freak out and run away until he reaches a safe distance. Then he will resume his normal behavior again.</p>
<p>This behavior is defined by the following states</p>
<p><img class="aligncenter size-full wp-image-1237" title="Diagram2" src="http://www.doomsday.no/esn/wp-content/uploads/2011/01/Diagram2.png" alt="" width="248" height="211" /></p>
<p>Each state implements the IAgentState interface, which looks like this:</p>
<p><strong>The IAgentState interface</strong></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">package agent.<span style="color: #006600;">states</span><br />
<span style="color: #66cc66;">&#123;</span><br />
<span style="color: #0066CC;">import</span> agent.<span style="color: #006600;">Agent</span>;<br />
<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">interface</span> IAgentState<br />
<span style="color: #66cc66;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">function</span> update<span style="color: #66cc66;">&#40;</span>a:Agent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>; <span style="color: #808080; font-style: italic;">//called every frame</span><br />
<span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">enter</span><span style="color: #66cc66;">&#40;</span>a:Agent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>; <span style="color: #808080; font-style: italic;">//called when the state becomes the current state</span><br />
<span style="color: #000000; font-weight: bold;">function</span> exit<span style="color: #66cc66;">&#40;</span>a:Agent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>; <span style="color: #808080; font-style: italic;">//called when the state ceases to be the current state</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
<p>This interface specifies 3 methods to be called by the state machine, each taking a reference to the state machine itself. I like to work on this reference because AI states can be treated as largely abstract; It&#8217;s not hard to conceive of several different types of agent needing the wandering behavior, and it is nice to be able to reuse the same behavior instance. Let&#8217;s look at the Idle state to see what this means.</p>
<p><strong>The Idle state</strong></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">package agent.<span style="color: #006600;">states</span><br />
<span style="color: #66cc66;">&#123;</span><br />
<span style="color: #0066CC;">import</span> agent.<span style="color: #006600;">Agent</span>;<br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> IdleState <span style="color: #0066CC;">implements</span> IAgentState<br />
<span style="color: #66cc66;">&#123;</span><br />
<span style="color: #808080; font-style: italic;">/* INTERFACE agent.states.IAgentState */</span><br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> update<span style="color: #66cc66;">&#40;</span>a:Agent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
<span style="color: #66cc66;">&#123;</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>a.<span style="color: #006600;">numCycles</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">30</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #808080; font-style: italic;">//Have we executed/idled for 30 frames?</span><br />
a.<span style="color: #006600;">setState</span><span style="color: #66cc66;">&#40;</span>Agent.<span style="color: #006600;">WANDER</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//Then let's take a walk</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">enter</span><span style="color: #66cc66;">&#40;</span>a:Agent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
<span style="color: #66cc66;">&#123;</span><br />
a.<span style="color: #006600;">say</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Idling...&quot;</span><span style="color: #66cc66;">&#41;</span>;<br />
a.<span style="color: #006600;">speed</span> = <span style="color: #cc66cc;">0</span>; <span style="color: #808080; font-style: italic;">//Stop the agent</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> exit<span style="color: #66cc66;">&#40;</span>a:Agent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
<span style="color: #66cc66;">&#123;</span><br />
a.<span style="color: #006600;">randomDirection</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//When we leave this state, face the agent in a random direction</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
<p><strong>The wander state</strong></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">package agent.<span style="color: #006600;">states</span><br />
<span style="color: #66cc66;">&#123;</span><br />
<span style="color: #0066CC;">import</span> agent.<span style="color: #006600;">Agent</span>;<br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> WanderState <span style="color: #0066CC;">implements</span> IAgentState<br />
<span style="color: #66cc66;">&#123;</span><br />
<br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> update<span style="color: #66cc66;">&#40;</span>a:Agent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
<span style="color: #66cc66;">&#123;</span><br />
a.<span style="color: #006600;">say</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Wandering...&quot;</span><span style="color: #66cc66;">&#41;</span>;<br />
a.<span style="color: #006600;">velocity</span>.<span style="color: #006600;">x</span> += <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">0.2</span> - <span style="color: #cc66cc;">0.1</span>; <span style="color: #808080; font-style: italic;">//very simple wander behavior,</span><br />
a.<span style="color: #006600;">velocity</span>.<span style="color: #006600;">y</span> += <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">0.2</span> - <span style="color: #cc66cc;">0.1</span>;<br />
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>a.<span style="color: #006600;">numCycles</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">120</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
a.<span style="color: #006600;">setState</span><span style="color: #66cc66;">&#40;</span>Agent.<span style="color: #006600;">IDLE</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//Let's take a break every 120 updates</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span>a.<span style="color: #006600;">canSeeMouse</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span>;<br />
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>a.<span style="color: #006600;">distanceToMouse</span> <span style="color: #66cc66;">&lt;</span> a.<span style="color: #006600;">fleeRadius</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
a.<span style="color: #006600;">setState</span><span style="color: #66cc66;">&#40;</span>Agent.<span style="color: #006600;">FLEE</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #66cc66;">&#125;</span><span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>a.<span style="color: #006600;">distanceToMouse</span> <span style="color: #66cc66;">&lt;</span> a.<span style="color: #006600;">chaseRadius</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
a.<span style="color: #006600;">setState</span><span style="color: #66cc66;">&#40;</span>Agent.<span style="color: #006600;">CHASE</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">enter</span><span style="color: #66cc66;">&#40;</span>a:Agent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
<span style="color: #66cc66;">&#123;</span><br />
a.<span style="color: #006600;">speed</span> = <span style="color: #cc66cc;">1</span>; <span style="color: #808080; font-style: italic;">//Begin moving the agent</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> exit<span style="color: #66cc66;">&#40;</span>a:Agent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br />
<span style="color: #66cc66;">&#123;</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div></div>
<p>At this point I am sure you are getting the idea; The states themselves contain no data, and are entirely dependent on a state machine instance to interact with. In this case, it&#8217;s almost like a set of template methods that are being swapped out. The nice thing here is that instead of creating a ton of state objects for every agent, we can reuse the same states. Click the stage in the above swf to create new agents, all using the same static states.</p>
<p>Finally, we&#8217;ll look at the state machine itself.</p>
<p><strong>The Agent class</strong></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">package agent<br />
<span style="color: #66cc66;">&#123;</span><br />
<span style="color: #0066CC;">import</span> agent.<span style="color: #006600;">states</span>.<span style="color: #66cc66;">*</span>;<br />
<span style="color: #808080; font-style: italic;">//imports omitted</span><br />
<span style="color: #66cc66;">&#123;</span><br />
<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const IDLE:IAgentState = <span style="color: #000000; font-weight: bold;">new</span> IdleState<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//Define possible states as static constants</span><br />
<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const WANDER:IAgentState = <span style="color: #000000; font-weight: bold;">new</span> WanderState<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const CHASE:IAgentState = <span style="color: #000000; font-weight: bold;">new</span> ChaseState<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const FLEE:IAgentState = <span style="color: #000000; font-weight: bold;">new</span> FleeState<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #0066CC;">public</span> <span style="color: #0066CC;">static</span> const CONFUSED:IAgentState = <span style="color: #000000; font-weight: bold;">new</span> ConfusionState<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<br />
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _previousState:IAgentState; <span style="color: #808080; font-style: italic;">//The previous executing state</span><br />
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _currentState:IAgentState; <span style="color: #808080; font-style: italic;">//The currently executing state</span><br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> velocity:Point = <span style="color: #000000; font-weight: bold;">new</span> Point<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> speed:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>;<br />
<br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> fleeRadius:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">50</span>; <span style="color: #808080; font-style: italic;">//If the mouse is &quot;seen&quot; within this radius, we want to flee</span><br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> chaseRadius:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">150</span>; <span style="color: #808080; font-style: italic;">//If the mouse is &quot;seen&quot; within this radius, we want to chase</span><br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> numCycles:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>; <span style="color: #808080; font-style: italic;">//Number of updates that have executed for the current state. Timing utility.</span><br />
<br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Agent<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#123;</span><br />
<span style="color: #808080; font-style: italic;">//Boring stuff omitted</span><br />
<br />
_currentState = IDLE; <span style="color: #808080; font-style: italic;">//Set the initial state</span><br />
<span style="color: #66cc66;">&#125;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/**<br />
* Update the current state, then update the graphics<br />
*/</span><br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> update<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: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">!</span>_currentState<span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span>; <span style="color: #808080; font-style: italic;">//If there's no behavior, we do nothing</span><br />
numCycles++;<br />
_currentState.<span style="color: #006600;">update</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;<br />
x += velocity.<span style="color: #006600;">x</span><span style="color: #66cc66;">*</span>speed;<br />
y += velocity.<span style="color: #006600;">y</span><span style="color: #66cc66;">*</span>speed;<br />
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>x + velocity.<span style="color: #006600;">x</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span> <span style="color: #66cc66;">||</span> x + velocity.<span style="color: #006600;">x</span> <span style="color: #66cc66;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; x = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">max</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">min</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span>, x<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; velocity.<span style="color: #006600;">x</span> <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>y + velocity.<span style="color: #006600;">y</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageHeight</span> <span style="color: #66cc66;">||</span> y + velocity.<span style="color: #006600;">y</span> <span style="color: #66cc66;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
y = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">max</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">min</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageHeight</span>, y<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;<br />
velocity.<span style="color: #006600;">y</span> <span style="color: #66cc66;">*</span>= -<span style="color: #cc66cc;">1</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
_pointer.<span style="color: #006600;">rotation</span> = RAD_DEG <span style="color: #66cc66;">*</span> <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">atan2</span><span style="color: #66cc66;">&#40;</span>velocity.<span style="color: #006600;">y</span>, velocity.<span style="color: #006600;">x</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> setState<span style="color: #66cc66;">&#40;</span>newState:IAgentState<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span><br />
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>_currentState == newState<span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span>;<br />
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>_currentState<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
_currentState.<span style="color: #006600;">exit</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
_previousState = _currentState;<br />
_currentState = newState;<br />
_currentState.<span style="color: #0066CC;">enter</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;<br />
numCycles = <span style="color: #cc66cc;">0</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
<br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> previousState<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:IAgentState <span style="color: #66cc66;">&#123;</span> <span style="color: #b1b100;">return</span> _previousState; <span style="color: #66cc66;">&#125;</span><br />
<br />
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> currentState<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:IAgentState <span style="color: #66cc66;">&#123;</span> <span style="color: #b1b100;">return</span> _currentState; <span style="color: #66cc66;">&#125;</span><br />
<br />
<span style="color: #66cc66;">&#125;</span><br />
<br />
<span style="color: #66cc66;">&#125;</span></div></div>
<p>As you can see, we are still applying the same theory as in our MovieClip example; Close what you had, open what you&#8217;re getting, and since we&#8217;re doing realtime stuff, update what you got. I&#8217;ve put up the source for this example, in case you&#8217;re curious to <a href="http://www.doomsday.no/misc/statemachine_example_src.rar">take a peek</a>.</p>
<h2>Summing it up</h2>
<p>State machines are mechanisms that have their behavior defined by a known set of states. Knowing this, you can easily jot down your application as a state graph and use the state pattern and a rudimentary state machine to throw together a click through for instance, while maintaining scalability. I&#8217;m just scraping the surface. State machines have a huge number of uses, from managing visual states, to choosing which game state to execute, such as the title screen, leaderboards, game loop etc, to state machines creating new dynamic state machines during parsing algorithms. States themselves can very well be state machines.</p>
<p>I hope I haven&#8217;t bored you to death with my rambling. I&#8217;ve used this pattern and variations of it for a wide range of projects. It&#8217;s a safe bet for prototyping, almost indispensable for game development, and super stupid easy to pick up. Thank for your reading <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/2011/01/finite-state-machine-jadore/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Using the AS3 Dictionary utility</title>
		<link>http://www.doomsday.no/esn/2011/01/using-the-as3-dictionary-utility/</link>
		<comments>http://www.doomsday.no/esn/2011/01/using-the-as3-dictionary-utility/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 13:12:18 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1109</guid>
		<description><![CDATA[Edit: As some comments point out, I&#8217;ve misunderstood the exact nature of a weak dictionary, and I&#8217;ve updated the post accordingly. Thanks readers! Just a quick post to point out how freaking sweet the AS3 Dictionary utility is. They have rapidly become my favorite data structure for the simple reason that they allow you to [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Edit:</strong> As some comments point out, I&#8217;ve misunderstood the exact nature of a weak dictionary, and I&#8217;ve updated the post accordingly. Thanks readers! <img src='http://www.doomsday.no/esn/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Just a quick post to point out how freaking sweet the AS3 Dictionary utility is. They have rapidly become my favorite data structure for the simple reason that they allow you to create a fast hash map of sorts of any key/value set in a way that lets you integrate more elegantly with garbage collection.</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;">//oldskool hash table entry</span><br />
<span style="color: #000000; font-weight: bold;">var</span> map:<span style="color: #0066CC;">Object</span> = <span style="color: #66cc66;">&#123;</span><span style="color: #66cc66;">&#125;</span>;<br />
<span style="color: #000000; font-weight: bold;">var</span> hash:<span style="color: #0066CC;">String</span> = myHashableObject.<span style="color: #006600;">getHash</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
map<span style="color: #66cc66;">&#91;</span>hash<span style="color: #66cc66;">&#93;</span> = myHashableObject;</div></div>
<p>The glory of hash tables of course is O(1) lookup speed; The ability to see if an object has been stored and to retrieve it without first iterating over the collection or doing some other search. </p>
<p>The wonderful thing about Dictionaries is how they simplify this process. You don&#8217;t need a hashing function anymore: To collect a set of objects, all you really need to do is use the same object for both key and value:</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;">//super illin'</span><br />
<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 />
map<span style="color: #66cc66;">&#91;</span>myObject<span style="color: #66cc66;">&#93;</span> = myObject;</div></div>
<p>This nets you the O(1) lookup, collection iteration through for..each and for..in, and the sexy, sexy ability to declare the Dictionary &#8220;weak&#8221;, meaning it won&#8217;t stop its key from being garbage collected.</p>
<p>Weak dictionaries are a cornerstone of the DConsole for performance, and to make sure inspecting an object wouldn&#8217;t create a strong reference to it. They are also used throughout the autocomplete solution in the form of <a href="http://en.wikipedia.org/wiki/Ternary_search_tree">ternary trees</a>. </p>
<p>Dictionaries let you approach object collections of any time with ease and elegance. I strongly recommend you play around with them if you haven&#8217;t already.</p>
<p>Look out for an upcoming post detailing the Notification framework used by Doomsday Console 64, as it offers an excellent use case.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2011/01/using-the-as3-dictionary-utility/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My 10 games of 2010</title>
		<link>http://www.doomsday.no/esn/2010/12/my-10-games-of-2010/</link>
		<comments>http://www.doomsday.no/esn/2010/12/my-10-games-of-2010/#comments</comments>
		<pubDate>Fri, 31 Dec 2010 17:00:46 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Video games]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1212</guid>
		<description><![CDATA[I feel compelled to make one of these lists for some reason. Everyone is doing it, I just want to be popular! So here goes, in no particular order! 1. Silent Hill: Shattered Memories (Wii) My favorite Silent Hill of the series, Shattered Memories consistently surprised me with its atmosphere and narrative quality, its smart [...]]]></description>
			<content:encoded><![CDATA[<p>I feel compelled to make one of these lists for some reason. Everyone is doing it, I just want to be popular! So here goes, in no particular order!</p>
<p><strong>1. Silent Hill: Shattered Memories (Wii)</strong></p>
<p>My favorite Silent Hill of the series, Shattered Memories consistently surprised me with its atmosphere and narrative quality, its smart use of motion controls, and in how it <em>made me feel</em>. It&#8217;s also the first time I&#8217;ve seen my girlfriend not only grasp but fully master a third person control scheme within moments of picking up the controls. We had an amazing night playing the hell out of this game, and while its psycho-analyzing replayability is apparently amazing, I feel content leaving my experience on the high note where it ended. It really, really sucks that there won&#8217;t be another one like it.</p>
<p><strong>2. Limbo (Xbox Live Arcade)</strong></p>
<p>Limbo is an ambient video game. It&#8217;s not particularly hard, not particularly long, and certainly not complicated. But every moment of its design exists to put you in a very specific space. From its vignetted silhouette imagery and its understated, gorgeous soundtrack, to the soft rumble when your character jumps and the way his legs kick when he&#8217;s climbing a vine, there is a quiet hostility and fragility to the game world that I can&#8217;t remember seeing elsewhere. It doesn&#8217;t hurt that the game has one of the most subtle, beautiful endings of any video game I can remember. It&#8217;s just a sweet, terrifying joy to play.</p>
<p><strong>3. Vanquish (PS3/360)</strong></p>
<p>I&#8217;ve already written at length about Vanquish. Suffice to say I still stand by <a href="http://www.doomsday.no/esn/2010/10/thoughts-on-vanquish/">my words</a>. It&#8217;s an absolutely mindblowing third person shooter that asks players to do things they have always done in new and exhilarating ways. It&#8217;s a stunning technical achievement, stylish as hell, fun to play and &#8211; like Batman: Arkham Asylum &#8211; simply rock solid. I cannot recommend it enough.</p>
<p><strong>4. Bayonetta (360)</strong></p>
<p>Another Platinum game! The best character action game since Ninja Gaiden Black, it blew my expectations away with its generosity, ridiculous sense of humor, willingness to be <em>wrong</em>, and with a score-attack system that still keeps me coming back to levels again and again and again. It&#8217;s gorgeous, fast paced, tight and funny as all hell. Alongside Vanquish, Bayonetta stands as an epic middle finger to anyone riding the Japan&#8217;s Game Industry Is Dead band wagon. Show me a western game that can do these things, then we can have a conversation.</p>
<p><strong>5. Starcraft II (PC) </strong></p>
<p>You can strip away the multiplayer, and Starcraft II would still be one of the absolute best single player games on the PC this year. It has some of the worst characters and writing I can think of, yet the sheer joy of simply playing its missions and fuddling about with the bounty of new toys it throws your way makes for an astonishing real time strategy title. What puts it on top compared to other excellent genre entries like Dawn of War II: Chaos Rising is its unflinching dedication to delivering one of the hardest core multiplayer experiences on the market. I heard Starcraft II described as &#8220;Football II&#8221;, and this is absolutely true. FPS tourneys are moot; This is the first de-facto PC gaming sport.</p>
<p>I was not only surprised to really enjoy watching games being played, but Starcraft II awakened a competitive instinct in me I wasn&#8217;t ware that i had. It&#8217;s as much a cultural phenomenon as it is a game, and for that it&#8217;s one of the biggest gaming events of 2010.</p>
<p><strong>6. Amnesia: The Dark Descent (PC)</strong></p>
<p>As a Lovecraft fan with a big spot in his heart for 2005&#8242;s Call of Cthulhu: Dark Corners of the Earth, Amnesia was like receiving a love letter. With its excellent Lovecraftian story, tactile physics, fun insanity mechanics, <a href="http://www.youtube.com/watch?v=loSzpvq73FY">terrifying monster encounters</a> and pervasive sense of dread, Amnesia is one of the best first person horror games since System Shock 2.</p>
<p><strong>7. Red Dead Redemption (PS3/360)</strong></p>
<p>I have a confession to make. Prior to Red Dead Redemption, I have never completed a Rockstar game. Even the ones I really enjoyed, such as Bully. There&#8217;s just always a moment where the games have fizzled out for me. I stopped caring about the characters, the story just drags on and on, and the mechanics become a set of errands to run. It boils down to a sandbox, and after a while that sandbox becomes boring too. Red Dead Redemption somehow avoided all those pitfalls. It offers characters I genuinely cared about, and a world I <em>wanted</em> to explore. Red Dead Redemption also gets this year&#8217;s Game That Almost Made Me Cry award for its amazing ending and choice of soundtrack.</p>
<p>It&#8217;s the best game Rockstar have made. That&#8217;s a pretty serious accolade.</p>
<p><strong>8. Minecraft (PC)</strong></p>
<p>I knew Minecraft was amazing the moment I realized I could plant a tree on a tree. I spent forever building the biggest tree imaginable, way above the clouds, and tunneled an epic tree house through its leafy walls. Then I dug out the ground beneath it, making it a free standing world-tree in the middle of the ocean. It was beautiful! Then, later, a friend of mine built an even taller burning swastika on the horizon, just to spite me.</p>
<p>Minecraft is the most delightful game I have played in years. It&#8217;s a roguelike made out of Legos, a playground that inspires creative rivalry. Its non-physics allow for amazing constructions. An undersea glass house filled with trees and flowers, leading to an underground mining and construction complex. I can only hope Mincraft grows laterally. It doesn&#8217;t need to be deeper. It just has to offer more variety.</p>
<p><strong>9. Need for Speed: Hot Pursuit (PS3/360)</strong></p>
<p>I don&#8217;t know how Criterion do it, but they are the best guys on the planet for making arcade driving games that still feel grounded in reality. Hot Pursuit is a game about angry cars smashing angrily into each other while sounding angry. It&#8217;s addictive, gorgeous, competitive and, I&#8217;d say, the best Burnout game since Burnout Revenge. The Autolog feature is a great piece of design that facilitates constant score-attack rivalry, a form of multiplayer I&#8217;m absolutely stoked is returning to form.</p>
<p><strong>10. Darksiders (PS3/360)</strong></p>
<p>I&#8217;d written off Darksiders as a heavy metal Zelda clone. It turns out it IS a heavy metal Zelda clone. But it&#8217;s <em>so good</em>. Nintendo has dibs on the Zelda formula to the point where nobody else seems to regard it as a feasible genre. It reminded me of when Volition cloned GTA with Saints&#8217; Row, and responded to criticism with &#8220;GTA is a genre&#8221;. Zelda is also a genre, and right now there&#8217;s only Zelda and Darksiders in it. And they&#8217;re both absolutely stellar. If you enjoyed the Zelda games at all, I can not recommend Darksiders enough. It&#8217;s a stunning game.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/12/my-10-games-of-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sunjammer interview on The Harder View</title>
		<link>http://www.doomsday.no/esn/2010/12/sunjammer-interview-on-the-harder-view/</link>
		<comments>http://www.doomsday.no/esn/2010/12/sunjammer-interview-on-the-harder-view/#comments</comments>
		<pubDate>Sat, 04 Dec 2010 22:28:06 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[sunjammer]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1208</guid>
		<description><![CDATA[Forgot to post about this for some reason. I recently did an interview with the hardcore/techno zine The Harder View that I think came out pretty good. It goes into detail on why I got into hardcore techno to begin with, and why I eventually got out of it. It&#8217;s pretty candid stuff, so if [...]]]></description>
			<content:encoded><![CDATA[<p>Forgot to post about this for some reason.</p>
<p>I recently did an interview with the hardcore/techno zine The Harder View that I think came out pretty good. It goes into detail on why I got into hardcore techno to begin with, and why I eventually got out of it. It&#8217;s pretty candid stuff, so if you&#8217;re interested in that sort of thing it&#8217;s worth a read <img src='http://www.doomsday.no/esn/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href="http://theharderview.com/interview-sunjammer-norway/">Check it out</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/12/sunjammer-interview-on-the-harder-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on Game Boy music and Castlevania</title>
		<link>http://www.doomsday.no/esn/2010/10/thoughts-on-game-boy-music-and-castlevania/</link>
		<comments>http://www.doomsday.no/esn/2010/10/thoughts-on-game-boy-music-and-castlevania/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 03:25:43 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[General coolness]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Video games]]></category>
		<category><![CDATA[Castlevania]]></category>
		<category><![CDATA[Chiptunes]]></category>
		<category><![CDATA[Game boy]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1172</guid>
		<description><![CDATA[Gametrailers are doing another one of their all too rare retrospectives, this time on the Castlevania series. Ever since I got to play the first NES version of Castlevania in the 80s, I&#8217;ve had a serious crush on the early incarnations of this game series. The name is perfect. It&#8217;s a game about killing Dracula, [...]]]></description>
			<content:encoded><![CDATA[<p>Gametrailers are doing another one of their all too rare retrospectives, <a href="http://www.gametrailers.com/video/part-iv-the-castlevania/705742">this time</a> on the Castlevania series. Ever since I got to play the first NES version of Castlevania in the 80s, I&#8217;ve had a serious crush on the early incarnations of this game series. The name is perfect. It&#8217;s a game about killing <em>Dracula</em>, and to do so you have to single-handedly invade his castle and reach his evil tower where you will literally whip his ass to bits.</p>
<div id="attachment_1173" class="wp-caption aligncenter" style="width: 610px"><a rel="attachment wp-att-1173" href="http://www.doomsday.no/esn/2010/10/thoughts-on-game-boy-music-and-castlevania/castlevania-wall/"><img class="size-large wp-image-1173" title="castlevania-wall" src="http://www.doomsday.no/esn/wp-content/uploads/2010/10/castlevania-wall-600x450.jpg" alt="" width="600" height="450" /></a><p class="wp-caption-text">Look this up in the dictionary. I believe you&#39;ll find it under &quot;Fucking awesome&quot;</p></div>
<p>In my young mind, before games like Ninja Gaiden played around with more complex narratives, this was the most amazing story to be allowed to play. There is something to be said for simplicity and linearity that the early Castlevania titles exemplify:</p>
<p><img class="alignleft size-full wp-image-1174" title="castlevania_gate1" src="http://www.doomsday.no/esn/wp-content/uploads/2010/10/castlevania_gate1.jpg" alt="" width="204" height="179" />As Simon Belmont stands outside the imposing gates of the castle courtyard, looking up at the dark castle looming ahead. This is his first opportunity to turn back. He passes through the eerily quiet courtyard, lit by a few lone torches. He reaches the entrance to the castle proper, and you, the player, make him walk inside. The gate slams shut behind him. The music kicks in. He is immediately assailed by panthers, bats and ghosts. Holy. Shit.</p>
<p>He fights his way to the end of the entrance hall, defeating a giant killer bat by throwing axes at it (you know you did). Then the gravity of his situation sets in.<br />
<span id="more-1172"></span></p>
<div id="attachment_1175" class="wp-caption aligncenter" style="width: 610px"><img class="size-large wp-image-1175" title="castlevania_map" src="http://www.doomsday.no/esn/wp-content/uploads/2010/10/castlevania_map-600x311.jpg" alt="" width="600" height="311" /><p class="wp-caption-text">Castle map from the Japanese manual</p></div>
<h2>Linearity and the need to fight</h2>
<p>The thing about Castlevania and the linear narrative that I like so much, is that once Belmont breaches the gate, there is no turning back. Every door slams behind him. He is being led inextricably towards the final confrontation with Dracula himself in the lonely peaking tower of the decrepit castle, and the path ahead is gruelling indeed. But he <em>must fight</em>. Simon has gone and gotten himself into this shit because it is what the Belmont family <em>does</em>. When Dracula reappears, the Belmonts must defeat him. That is what they are born for, it is what they do. Someone said every generation has to experience some sort of war, well, every generation of Belmont needs to experience some sort of Dracula.</p>
<p>As Castlevania titles and other games experimented more with freeform gameplay, the systemic complexity of the gameplay perhaps changed for the better, but as the impetus to fight became blurred. Since Castlevania became Metroidvania, the primary reason a Castlevania character fights is out of duty. There is no real <em>gravity</em> felt by the player. Just the battle, for the battle&#8217;s sake.</p>
<p>Other games &#8220;suffered&#8221; for me in this regard too. I&#8217;m not about to say nonlinearity is bad. I&#8217;m trying to say that linearity used well with purpose can offer the player a <em>need</em> to play that nonlinear games cannot. I&#8217;m not ashamed to say I haven&#8217;t completed a single Grand Theft Auto game, ever, though I&#8217;ve played them all and enjoyed them for their sandbox fun. Given such freedom, there simply isn&#8217;t enough <em>need</em> to go on.</p>
<p>So Simon goes to the castle, alone. First out of a sense of duty perhaps, but once that gate slams shut his path is clear. There is no turning back. There is no time to dilly dally around the place or &#8220;explore&#8221; or any of that crap. Either Simon dies, or Dracula dies. Death at the end. That&#8217;s all there is.</p>
<h2>Belmont&#8217;s Revenge</h2>
<p>For me, while the series linear form peaked with Super Castlevania IV on the SNES, my heart has always kept one peculiar little game hidden in a dark little oft-forgotten chamber. It is, ironically, the first <em>truly</em> non-linear Castlevania game, and it was the second Castlevania title on the Game Boy.</p>
<p>Belmont&#8217;s Revenge was special to me, because it had some of the <em>best</em> and most technically accomplished music ever put out on the Game Boy, which axiomatically means it&#8217;s some of the best chiptune work ever done. Symphony of the Night is often held up as the go-to Castlevania game for music, but I&#8217;ll take a single piece of Belmont&#8217;s Revenge soundtrack over the its entire mass of jazz-rock nonsense any day of the week.</p>
<p>Having played Castlevania: The Adventure, which was a middling but acceptable platformer with average written all over it, my hopes weren&#8217;t exactly high for Castlevania 2. To be met with such an onslaught of brilliant music took me completely by surprise, and became my driving force to keep playing the game. I&#8217;ve read stories of other kids loading the game up just to listen to the music, and I was one of them. I used to sit in the local park with my earphones in, playing the game not only because it was a lovely, gothic platformer, but because that music made me want to make music like it.</p>
<p>It&#8217;s no exaggeration to say that Belmont&#8217;s Revenge was one of the primary reasons I became a musician. To this day I can hear similarities between my own style and what this game taught me.</p>
<h2>Low tech, bad ass</h2>
<p>What needs to be understood about Game Boy music was that these guys had next to nothing to work with. Skipping the details, at it&#8217;s absolute most, a Game Boy can produce 4 simultaneous notes, which is barely enough for a power chord. Yet here these guys were looking at these capabilities and working out how to use tempo, arpeggios, psychoacoustic tricks and pure <em>composition</em> to produce works of blistering drive and energy, with structures right up there with classical music.</p>
<p>To contrast, the first and third Game Boy Castlevania titles never even approached this grandeur. Competent, but not much else.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/xym-xkPrBz8?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/xym-xkPrBz8?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Castlevania Adventure had a fairly good style exemplifying Konami&#8217;s bass-heavy arpeggio-laden chip music through the 80s and early 90s.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Rgt7svh5RQ8?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/Rgt7svh5RQ8?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Castlevania Legends (Adventure 3).. I don&#8217;t even know what to say about this one. It&#8217;s primarily remixes of tunes from other games, and sound like someone violently rammed the MIDI files through some primitive cookie cutter to stuff it on the cart. It&#8217;s just disgraceful.</p>
<p>So.. Belmont&#8217;s Revenge:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/4Fh1MDBi_sE?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/4Fh1MDBi_sE?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>What. The. Hell. You just didn&#8217;t go into a handheld title and expect something like that. You weren&#8217;t getting it from NES titles, or even PC games for the most part. Stuff with proper sampling capability didn&#8217;t commonly attempt this kind of stuff. To hear it blasting out of a tiny bit of gray plastic bent my mind apart.</p>
<h2>New Messiah</h2>
<p>Perhaps the best known track from Belmont&#8217;s Revenge is &#8216;New Messiah&#8217;, a high energy arpeggio-driven anthem piece that could not serve as a better backdrop for whipping the shit out of some burning eyeballs in a crystal castle.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Z5CY9uimc9E?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/Z5CY9uimc9E?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>While not my favorite, it&#8217;s only appropriate that when Konami decided to remake the Game Boy Castlevania titles in Castlevania Adventure Rebirth for the Wii, this was the one track they decided to take with them.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/A1CgJ3pBE0g?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/A1CgJ3pBE0g?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The dude behind this stuff is one Hidehiro Funauchi, and as game crediting wasn&#8217;t exactly given where it was due in the early days of the industry, tracking down his catalog is difficult. It pains me to think that such a talented artist can fade away into obscurity in such a way. Here&#8217;s a toast to H. Funauchi! You helped make me who I am!</p>
<h2>Exploring Game Boy music further</h2>
<p>If you&#8217;d like to explore Game Boy soundtracks further, I can not recommend <a href="http://www.zophar.net/music.html">Zophar&#8217;s domain</a> enough. It&#8217;s just an amazing repository of music files and tools.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/10/thoughts-on-game-boy-music-and-castlevania/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Thoughts on Vanquish</title>
		<link>http://www.doomsday.no/esn/2010/10/thoughts-on-vanquish/</link>
		<comments>http://www.doomsday.no/esn/2010/10/thoughts-on-vanquish/#comments</comments>
		<pubDate>Sun, 24 Oct 2010 17:25:58 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Video games]]></category>
		<category><![CDATA[tldr]]></category>
		<category><![CDATA[vanquish]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1129</guid>
		<description><![CDATA[Preface Shooting games. Next to the RPG, this genre most clearly proves the split in design mentality between the east and the west. Both in the east and the west, shoot&#8217;em ups (or shmups) began proper with Space Invaders. To contrast, in the west, we fell in love with the art and pacing of games [...]]]></description>
			<content:encoded><![CDATA[<h2>Preface</h2>
<p><img class="alignleft size-full wp-image-1132" title="SpaceInvaders-Gameplay" src="http://www.doomsday.no/esn/wp-content/uploads/2010/10/SpaceInvaders-Gameplay.gif" alt="" width="217" height="248" />Shooting games. Next to the RPG, this genre most clearly proves the split in design mentality between the east and the west. Both in the east and the west, shoot&#8217;em ups (or shmups) began proper with Space Invaders.</p>
<p>To contrast, in the west, we fell in love with the art and pacing of games like R-type, and created the sub-genre of shooting games known as &#8220;<a href="http://shmups.system11.org/viewtopic.php?f=1&amp;t=16743&amp;start=0" target="_blank">euroshmups</a>&#8220;; A focus on visuals, a predilection for horizontal scrolling, and a lessened focus on pure hardcore skill and more on story and design elements. In the shmup community, these games are barely considered part of the genre. As such, popularity for western-developed shooting games has declined rapidly. For all intents of purposes it has died outright.</p>
<p>In the east, where the arcade scene survived for much longer, the focus on skill and high scores reached perfect furious crystal clarity: The goal is not to beat the game or see its &#8220;story&#8221; to its conclusion. The goal is to be <em>amazing</em> at it.</p>
<p>Shooting games in Japan are considered, as in the west, a niche product, but it is large enough a niche to warrant studios like Treasure and Cave pouring all their effort into the genre, pushing it further and harder than anyone would honestly deem necessary. If you want proof of how strong these developers are in their pure craft, head to the iPhone app store and download a copy of <a href="http://www.eurogamer.net/article.php?article_id=1116433" target="_blank">Espgaluda II</a> or <a href="http://www.eurogamer.net/articles/2010-09-13-dodonpachi-resurrection-review" target="_blank">DoDonPachi Resurrection</a>; Shooting games by Cave that make better use of the raw hardware than <em>any</em> iPhone game before it (strong claims, but I stand by them). Blisteringly hard, and deeply satisfying on an almost Zen-like level, these games act beyond their visuals and media, becoming exercises in pure game design on a level the west has barely -if ever- attempted in the genre.</p>
<div id="attachment_1131" class="wp-caption aligncenter" style="width: 330px"><a rel="attachment wp-att-1131" href="http://www.doomsday.no/esn/2010/10/thoughts-on-vanquish/dodonpachiress/"><img class="alignleft size-full wp-image-1131" title="dodonpachi" src="http://www.doomsday.no/esn/wp-content/uploads/2010/10/dodonpachiress.jpg" alt="" width="320" height="480" /></a><p class="wp-caption-text">DoDonPachi Ressurection (iPhone)</p></div>
<p>Meanwhile, in the west, we abandoned the traditional shoot&#8217;em up, and starting -for real- with Quake, began &#8220;our own&#8221; shooting genre, one the east would not pay real attention to for years and years to come; The first person shooter. Shooting games with an emphasis on immersion and complexity of tactical space, and an early innovator in skill-based player versus player combat, the genre became immensely popular in the west, while the multiplayer-shy Japanese audience simply wasn&#8217;t buying it. </p>
<p>While the west kept innovating the genre towards adding further tactical complexity with the advent of the cover based shooter, Japanese publishers were slowly starting to realize that to keep international sales high, they needed to capitalize on a genre they did not fully understand.</p>
<div id="attachment_1144" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.doomsday.no/esn/2010/10/thoughts-on-vanquish/gears_of_war_14/" rel="attachment wp-att-1144"><img src="http://www.doomsday.no/esn/wp-content/uploads/2010/10/gears_of_war_14-600x337.jpg" alt="" title="gears_of_war_14" width="600" height="337" class="size-large wp-image-1144" /></a><p class="wp-caption-text">Gears of War - The quintessential cover based 3rd person shooter</p></div>
<p>So let me tell you about the single best third person cover based shooting game I have ever played.<br />
<span id="more-1129"></span></p>
<h2>Vanquish</h2>
<p>Vanquish is a Japanese-made third person cover based shooter produced by the godfather of the genre, Shinji Mikami. It&#8217;s Mikami&#8217;s first game in 4 years, and his first with Platinum games, a studio created by ex-Clover developers when Capcom chickened out of Clover&#8217;s artistic niche output. If a third person shooter directed by the creator of Resident Evil 4 and Killer 7 developed by the dudes responsible for Viewtiful Joe, Okami and God Hand isn&#8217;t enough to get you at least vaguely interested, Vanquish is probably not for you in the first place. If else, just go buy it. Or read on as I spend <i>way</i> too many words trying to sway you.</p>
<p>From its opening moments, Vanquish hits you square in the face. The short sharp tutorial teaches you the basics of the game as well as its idiosyncrasies over the span of minutes. You spot the game&#8217;s visual direction, with sharp, angular surfaces, an abundance of <a href="http://en.wikipedia.org/wiki/Greeble">greebles</a>, a rock solid framerate, hard techno, one-dimensional characters that can not wait to get you shooting at things. Having played 3rd person cover based shooters before, this looks and feels familiar, but not. The aiming is slightly different, the camera movement is slightly different.   </p>
<p>The game has an immediately apparent &#8220;edge&#8221; that strongly differentiates it from its genre predecessors. This is a game that has been honed to the degree of a Katana blade; and the <a href="http://en.wikipedia.org/wiki/Katana_construction">thousands of folds</a> this game has undergone have created a game of absolute world class craftsmanship. Aiming is smooth and precise, movement is fast and tight, the stickiness of the cover system is spot on, guns are loud fast and satisfying, and the game&#8217;s core gimmicks, the ability to &#8220;boost&#8221; around the world at hyper speed or jump into a heightened-senses state of slow motion, are satisfying as all hell to execute. It takes fundamentals defined by games like Gears of War and raises the bar considerably.</p>
<p>The story is not the point. You could criticize Vanquish for not building a strong narrative, but here the goal is not to beat the game or see its &#8220;story&#8221; to its conclusion. The goal is to be <em>amazing</em> at it. There&#8217;s a story here to be sure, but it&#8217;s barely an excuse for its characters to go into space and shoot the holy hell out of some robots and spout one-liners. That is not to say it&#8217;s offensive; Sam Gideon, the player character, is a constantly smoking smirking jerk who is never less than entertaining to listen to or watch as he pulls of chains of unfathomably stylish bullshit. He is, for all intents and purposes, a male Bayonetta without the sexual vulgarity. He exists to wear a crazy high-tech suit and blow shit up while looking cool. And he totally does all those things non-stop throughout the <i>entire game</i>.</p>
<p><a href="http://www.doomsday.no/esn/2010/10/thoughts-on-vanquish/vanquish580pxbodyimg1/" rel="attachment wp-att-1157"><img src="http://www.doomsday.no/esn/wp-content/uploads/2010/10/vanquish580pxbodyimg1.jpg" alt="" title="vanquish580pxbodyimg1" width="580" height="326" class="aligncenter size-full wp-image-1157" /></a></p>
<h3>The movement</h3>
<p>Vanquish is fast and demanding. The familiar movement of running around the battlefield is augmented with lightning fast evade rolls and the ability to squeeze a trigger and turn into a howling rocket-man sliding on your knees across the entirety of the battlefield in seconds, or turn moves like evading or vaulting over cover into gorgeous slow-motion style moves offering you the ability to land mid-air across-the-map headshots with a sniper rifle. Getting into and out of cover is executed with a button press, with the stickiness and distance of the &#8220;snapping&#8221; perfectly judged. </p>
<p>I have never played a cover based shooter where I felt so in control of the cover mechanic. The closest would be Splinter Cell Conviction, with its &#8220;point and click&#8221; approach to moving from cover to cover, but compared to this that mechanic seems like training wheels to support poor fundamentals. As you squeeze the boost trigger in cover and Sam slides stylishly around the corner and into the next barrier at hyper speed, a timed press of the cover button putting you right where you wanted to be, not only does it feel good, it feels skill based. It feels like <i>you did it</i>. It helps that movement is coupled with stellar animation work across the board, from facial animations during cut scenes to Sam&#8217;s sense of righteous flipping out, looking awesome <i>climbing up a ladder</i> not to mention grabbing an incoming missile mid-air before pile-driving it back into the gun from whence it came. </p>
<p>Small adjustments to the template winds up having a strong effect, such as the way the camera pulls back to give you a bigger view of the battlefield if you run towards it, or how switching weapons while holding down the trigger simply switches the kind of bullet coming out of your gun. It&#8217;s just expertly tuned.</p>
<h3>The shooting</h3>
<p> No weapon is unsatisfying. No weapon is anything less than an absolutely destructive force. Firing a bullet into this world causes -without fail- explosions of some sort, and you will constantly be firing bullets. Always. Enemies go down wonderfully, losing bits and pieces under fire before exploding gloriously. The game pits you against a variety of robots and cyborgs, and for some reason going in I felt worried that this would somehow make for a boring shooting experience. I don&#8217;t know what it is about shooting games in the past that have indoctrinated me to believe I have to be shooting <i>people</i> to feel good about gunplay, but there you have it. </p>
<p>The robots in Vanquish are brilliant opposition, with tight AI, group behaviors, endless walls of incoming fire and a superb sense of scale from the lowliest grunt &#8211; who can destroy you easily up close and are as likely to duck behind distant cover to take pot shots at you as they are to leap terrifyingly at you in groups for a melee kill &#8211; to the absolutely epic bosses. The game is hard as nails from the outset, with the very first gigantic boss countering your ability to hide with instant death rays and missiles that evaporate your cover altogether. You quickly learn to appreciate your freedom of movement, because you need to keep moving constantly to survive, exercising the ability to drop into slow motion for a few precious seconds of calmness as you pick targets and reorient yourself. </p>
<p>Vanquish feels <i>amazing</i> to play. If you ever wanted a third person shooting game with the deeply rewarding skill mechanics of a bullet hell shoot&#8217;em up, or the controller-clenching intensity of a game like Ninja Gaiden or Platinum&#8217;s own Bayonetta, this is <i>it</i>. It&#8217;s absolutely transcendental.</p>
<h3>Style</h3>
<p>Even if Vanquish was a sub par game to play, it would still look like something you never saw before. From screenshots it&#8217;s easy to think its steely grays will become monotone, but what the game does with that art direction in terms of <i>density</i> is unparalleled in the 3rd person shooter genre. There are more individual details going on at any given moment here than your mind will be able to cope with. From the loud, fast, harsh techno soundtrack to the myriads of characters constantly fighting, the way the air is constantly burning with tracer fire, the way <i>entire gigantic space ships</i> will almost casually crash into the middle of the battlefield, or how the intense sound scape fades into a dreamy muted reverberating echo as you drop into blue-tinted slow motion and individual bullets streak past you in a way that seems almost gentle, there was not a moment where I did not look at what was happening on the screen wondering what the hell&#8217;s kind of glorious shit I was even looking at. </p>
<p><a href="http://www.doomsday.no/esn/2010/10/thoughts-on-vanquish/vanquish-game/" rel="attachment wp-att-1160"><img src="http://www.doomsday.no/esn/wp-content/uploads/2010/10/vanquish-game.jpg" alt="" title="vanquish-game" width="580" height="326" class="aligncenter size-full wp-image-1160" /></a></p>
<p>The game even innovates in tactical space in a sense western games dream they had. One standout set piece has the player board a low-gravity train, taking fire from another train as it spins and loops overhead. When that train went up above me it made me wonder just why the hell I hadn&#8217;t seen that before, like the first time I massed <a href="http://en.wikipedia.org/wiki/Pikmin">Pikmin </a>to move a crate out of the way.  Another level has the player fight on a massive conveyor belt between two forcefields, the cover constantly scrolling across the battlefield as combat commences. Vanquish feels fresh and cool and always new.</p>
<p>The characters propelling the game forward are simple caricatures, but it ends up working in the game&#8217;s favor. When Steve Blum&#8217;s one-note gruff army dude spouts movie references and roomba jokes over a drone of machine gun fire, techno music and explosions, it&#8217;s hard not to crack a smile, or like I did, laugh out loud. The characters are guns with voices, and every effort is made to focus the player back on the immediate need to shoot more bullets into robots and look cool while doing it.</p>
<div id="attachment_1163" class="wp-caption aligncenter" style="width: 610px"><a href="http://www.doomsday.no/esn/2010/10/thoughts-on-vanquish/screenshot_ps3_vanquish015/" rel="attachment wp-att-1163"><img src="http://www.doomsday.no/esn/wp-content/uploads/2010/10/screenshot_ps3_vanquish015-600x322.jpg" alt="" title="screenshot_ps3_vanquish015" width="600" height="322" class="size-large wp-image-1163" /></a><p class="wp-caption-text">This is normal.</p></div>
<p>Vanquish does not let up. Ever. Literally the moment you are given control you are met with a hail of gunfire and an imperative to find cover, and fast. This continues literally until the conclusion of the game. It&#8217;s total sensory overload, and actually makes taking breaks a necessity to get the most out of the experience. It&#8217;s not the longest experience, clocking in at around 7 hours, but it&#8217;s profoundly replayable. It&#8217;s a third person shooter that inspires the same instinct to excel as a fighting game. </p>
<h2>Buy.</h2>
<p>Or check out the demo. Regardless, please give this game a shot. I have a deep, fundamental fear that this game, which shows up out of a country known for making sub par third person shooters with no big fanfare, will slip the west by. To see fervent expectations for Gears of War 3, which seems content to do what it always did, while Vanquish gets written off as a wannabe, it breaks my heart to little pieces.</p>
<p>I urge you to play the demo at the <i>very least</i>. THIS is the game that moves the genre forward. </p>
<h2>PS</h2>
<p>Wow guys, how far has the PS3 come? In the early days of drifting purpose as a &#8220;computer&#8221;, media center, overpriced under-performing games platform, you could have thrown a unit after me and I&#8217;d barely pay attention. If I was ever a 360 &#8220;fanboy&#8221; it would have been then, when the argumentation was so simple to get behind. The 360 had the performance, the games and the online community. Reports of the PS3 being uncommonly difficult to develop for, fed by a number of noticeably poor ports for the system fed this negative vibe even further.</p>
<p>Then along comes Uncharted 2 and makes every critic look like an uninformed asshole. The PS3, in a couple of years, with a redesign and company shift to focus on its capability for technically driven titles, has gone from a turkey to an essential games console. Cross-platform titles have reached a level of parity between the 360 and PS3 that the PS3 has now become my system of choice. I never thought I&#8217;d say that, but there you have it. If you were ever on the fence, now is the time to grab one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/10/thoughts-on-vanquish/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>On the dearth of Doomsday Console updates&#8230;</title>
		<link>http://www.doomsday.no/esn/2010/10/on-the-dearth-of-doomsday-console-updates/</link>
		<comments>http://www.doomsday.no/esn/2010/10/on-the-dearth-of-doomsday-console-updates/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 20:49:18 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Doomsday Console]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1120</guid>
		<description><![CDATA[I&#8217;ve been blessed with a hard core of supporters for the Doomsday Console, who have used it, spread it, added updates, mailed me with suggestions and more. Your support has been amazing and humbling. The thing to remember with the Doomsday Console is that for the most part I&#8217;m the lone guy doing it. I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1122" href="http://www.doomsday.no/esn/2010/10/on-the-dearth-of-doomsday-console-updates/cute-puppy-pictures-sorry-eyes-2/"><img class="aligncenter size-full wp-image-1122" title="cute-puppy-pictures-sorry-eyes" src="http://www.doomsday.no/esn/wp-content/uploads/2010/10/cute-puppy-pictures-sorry-eyes1.jpg" alt="" width="450" height="427" /></a></p>
<p>I&#8217;ve been blessed with a hard core of supporters for the Doomsday Console, who have used it, spread it, added updates, mailed me with suggestions and more. Your support has been amazing and humbling.</p>
<p>The thing to remember with the Doomsday Console is that for the most part I&#8217;m the lone guy doing it. I&#8217;ve managed to gather assistance from a few friends to work on specific functionality, but nobody&#8217;s time is really free, and as we are mostly a team of freelancers and students, it often becomes hard to justify the time it takes to implement the features we want. Personally I&#8217;m full time on a very demanding project, and Cristobal/Deplifer (who is working on the interpreter for 2.0) is in the midst of getting a masters degree.</p>
<p>It is incredibly frustrating to have gone to Flash on the beach, built more interest in the project, and then not have the raw capacity to actually work on it.  It&#8217;s embarrassing really, but it&#8217;s also life.</p>
<p>Not a day goes by without me feeling like I should be putting in hours on the console to push 2.0 closer to release, and it&#8217;s actually a bit of an anguish; I feel like I am disappointing you every day that goes by, and I want to apologize for it.</p>
<p>So I have to start thinking about ways to justify taking time out from paid work to put in more current effort in the Doomsday Console. Boy&#8217;s gotta eat and pay rent too, right?</p>
<p>I feel weird even bringing this up, but would you guys consider things like donating to the project through paypal? I&#8217;ve never even considered this before but it would certainly make it easier to cut down on the boring corporate work and work on some cool stuff for all of you instead. Thoughts?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/10/on-the-dearth-of-doomsday-console-updates/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Sessions I&#8217;d like to do at FOTB</title>
		<link>http://www.doomsday.no/esn/2010/10/sessions-id-like-to-do-at-fotb/</link>
		<comments>http://www.doomsday.no/esn/2010/10/sessions-id-like-to-do-at-fotb/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 00:12:28 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[FOTB]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1117</guid>
		<description><![CDATA[So hey guys, voting for the Flash on the Beach elevator pitchers has started, and while I wouldn&#8217;t dream of saying I&#8217;m more deserving than any of the other guys &#8211; This year&#8217;s elevator pitch was filled to the humbling max with radical dudes and dudettes &#8211; I&#8217;m going to amuse myself by entertaining the [...]]]></description>
			<content:encoded><![CDATA[<p>So hey guys, voting for the Flash on the Beach elevator pitchers has started, and while I wouldn&#8217;t dream of saying I&#8217;m more deserving than any of the other guys &#8211; This year&#8217;s elevator pitch was filled to the humbling max with radical dudes and dudettes &#8211; I&#8217;m going to amuse myself by entertaining the idea of myself doing a full hour long session next year..</p>
<p>So what would I do with a full hour? The mind boggles! Let&#8217;s brainstorm!</p>
<p><strong>1. Hacking your app with AS3</strong><br />
The obvious one, considering my pitch concerned the Doomsday Console, ostensibly a hacking tool. Flash is super flexible, and I&#8217;d love to do a session on wringing stuff out of AS3 you wouldn&#8217;t expect to be easily doable.</p>
<p><strong>2. Why OOP is the absolute bomb and everyone should be head over heels in love with it</strong><br />
OOP is why I&#8217;m a developer. Not because I want to create objects all day (oh but I do), but because it is what enabled me to actually fall in love with programming in the first place. I have written a post on this in the past, and I&#8217;d love to do a beginners/for designers session on how OOP allows us to be free, comfortable and creative with our language, even though we are still telling a computer where to put bits. </p>
<p><strong>3. Stop trying to make the internet boring!</strong><br />
This is the one I want the most to do I think.. I&#8217;ve written a <a href="http://www.doomsday.no/esn/2010/04/stop-trying-to-make-the-internet-boring/">huge rant</a> on this topic in the past, and I still burn for it. Nerds and businessmen are trying to steal the internet away from its rightful owner &#8211; the people &#8211; and we have to stop them by getting fucking crazy up in here! An hour long discussion/rant paired with content dug up from the weirdest bits of the web.</p>
<p>Any of these sound interesting to you? Then I&#8217;d be honored to <a href="http://www.flashonthebeach.com/feedback2010/">have your vote</a> this year <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/10/sessions-id-like-to-do-at-fotb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New track: Spy satellites</title>
		<link>http://www.doomsday.no/esn/2010/10/new-track-spy-satellites/</link>
		<comments>http://www.doomsday.no/esn/2010/10/new-track-spy-satellites/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 02:33:01 +0000</pubDate>
		<dc:creator>Andreas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.doomsday.no/esn/?p=1115</guid>
		<description><![CDATA[Hey guys, I can call myself a musician again! For the first time in almost a year I actually finished a tune. The track itself is almost unimportant, the important thing is I broke through my writers block. In the parlance of our times; Fuck yes! It&#8217;s relatively sparse space electro with some nice shortwave [...]]]></description>
			<content:encoded><![CDATA[<p>Hey guys, I can call myself a musician again! For the first time in almost a year I actually finished a tune. The track itself is almost unimportant, the important thing is I broke through my writers block. In the parlance of our times; Fuck yes!</p>
<p>It&#8217;s relatively sparse space electro with some nice shortwave radio samples. ! <a href="http://www.doomsday.no/music/sketches/Sunjammer-SpySatellites.mp3">Unts unts Bleep boing!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.doomsday.no/esn/2010/10/new-track-spy-satellites/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://www.doomsday.no/music/sketches/Sunjammer-SpySatellites.mp3" length="6815893" type="audio/mpeg" />
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 2.053 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-05 10:57:29 -->

