Electronic Space Nintendo Rotating Header Image

Thoughts on Blood Meridian

Blood Meridian, or the Evening Redness in the West, is a western novel by Cormac McCarthy that I’d previously heard much about (often in the form of sensationalizing the violence of the novel). Personally I have never had a real interest in westerns, going so far as to actively avoid the subject matter; For this reason I’ve arguably missed out on a number of great works, such as Clint Eastwood’s Unforgiven, or any number of classics. Bear with my ignorance for a few seconds more; I grew up with sporadic reruns of Bonanza, and every time that show came on I couldn’t get away from the TV fast enough, lest I involuntarily and abruptly fall asleep.

It’s a genre that, in its family-friendly, bloodless and often comically caricatured incarnation, has the unique and powerful ability to bore me to absolute tears. It has two main points of appeal; The romanticism of old America, and the brutal desolation of its landscapes and culture (or lack thereof). The former is a divisive enough topic, and the latter is rarely given real exposure. This is perhaps understandable; It’s not a common desire to want expletives yelled in ones face before it is brutally shoved in the dirt.

Yet it’s the parallel threads of romance and staggering violence and desolation that has kindled my interest in westerns. It probably stems from my infatuation with the post apocalyptic sci-fi genre, and particularly the Fallout series of video games, which revel in the hopelessness for darkly comic effect. After having spent over 90 hours playing Fallout 3, immersing myself in the wasteland, the open anarchistic prairie of Rockstar’s western adventure “Red Dead Redemption” could not be more appealing.
RDR did not disappoint, and it is a game that knows it is an adult title, and as such exposes you readily to the sheer beauty of the landscape, juxtaposed with blind, screaming violence.

Coming out of Red Dead Redemption and Fallout 3, and having recently enjoyed films based on McCarthy’s books “The Road” and “No Country for Old Men”, Blood Meridian looked incredibly appealing when I found a copy. Having read about it briefly, all I knew was that it was a western featuring “shocking violence”, concerned with the exploits of the Glanton gang of scalp hunters, which I’d previously stumbled across on Wikipedia.

Literally within the first page I knew this book was perfect for me. The language is pure and gorgeous, the images conjured were brilliant in my mind and it sucked me right into its bleak nothingness. It was nearly impossible for me to put down, and I lost many nights of sleep to either reading on, or lying awake meditating on what I’d read.

I read a lot, and always have since a very young age. Blood Meridian is my favorite book of all time.
Continue reading →

Instance mapping singletons

So I’m a big fan of singletons; SUE ME. They’re the most rad thing ever and if you think otherwise you are a wrong person.

One of the things that have bothered me about them though is the necessity for adding boring boilerplate code, such as the ubiquitous getInstance() or its younger brother, the static instance getter. For projects using a lot of singletons, such as states for state machines, this is the most boring shit ever.

Enter the instance map.

public class SingletonManager
{
    private static var _map:Dictionary = new Dictionary();
    /**
     * Retrieves a cached instance of a class type
     * @param   type
     * The class to instantiate/cache or retrieve
     * @return
     * The class instance. Ye gods I wish we had generics.
     */

    public static function getInstance(type:Class):*{
        if (_map[type] != null) return _map[type];
        _map[type] = new type();
        return _map[type];
    }
    /**
     * Checks if an instance has been created
     * @param   type
     * @return
     */

    public static function contains(type:Class):Boolean {
        return _map[type] != null;
    }
   
}

Short and sweet. The difference is you no longer request your instance from the class itself, but from this manager, using the class type as the argument. If one has been created before, you get that instance. If not, a new one is created and cached.

Downsides are obvious; You lose some benefits of strong typing (easily overcome), and the verbosity of your code increases quite a bit;

stateManager.setCurrentState(SingletonManager.getInstance(MyState));

Benefits are grand however. *Any* class can be handled as though it were a singleton, you maintain a localized cache of all singletons making disposal fast and easy, and the contains() method allows easy testing to see if a singleton has been instantiated or not.

I’m quite enamored with this approach. How do you guys feel about it?

AIR HTMLLoaders and mouse events

Just a quick tip.

If you’re wanting to listen to MOUSE_DOWN events from an AIR HTMLLoader, and want any and all mousedowns, not just HTML link clicks and the like, simply use the event’s capture phase:

htmlLoaderContainer.addEventListener(MouseEvent.MOUSE_DOWN,myHandler,true)

Bam, problem solved. I read some posts online about this issue and no good solutions, so here you have it :-)

Thoughts on Sonic the Hedgehog

I have a long lasting relationship of frustrated ambivalence when it comes to Sonic. As a kid I borrowed a friend’s Master System to play that system’s port of the first title, and I absolutely, truly enjoyed it. In retrospect I enjoyed it much more than the “real” 16-bit title, and I still feel the Master System port, having less tempo-fueling processing horsepower to rely on, became a better platformer. There was certainly a bit of running about, but nothing as blisteringly bananas as what the Mega Drive was pulling off.

My chief complaint about Sonic 16 was simply that the pleasure derived from it was directly proportional to the speed and momentum you were able to build up, and the game adored taking that momentum away from you with enemies coming at you too fast for you to realistically react.

Sonic 16 was the R-Type of platformers, rewarding memorization and trial and error with a sense of exhilarating flow that wasn’t really available elsewhere. That said, when he wasn’t running like a madman, Sonic was, by any standard, a very boring character to play; If you weren’t playing Sonic “right”, I felt, you weren’t playing a very fun game. Continue reading →

Thoughts on Inception

I went to see Inception tonight, and given the amount of hype surrounding that film and my own fairly divergent experience, I feel compelled to write about it.

I won’t waste your time describing the concept of the film beyond the basics; You have likely already been informed in full. It’s not that the idea of a heist movie infused with dream logic is in any way bad, and indeed Inception is a very entertaining, expertly made film that offers some very cool moments.

The trouble is, for most of its 148 minutes, I was simply not drawn in. Characters are introduced quickly and we are asked to accept their presence and never question their motives, which I assume is money. They simply are there, doing What Their Character Does. Even the protagonist remains an emotional blank slate for all but a single moment (DiCaprio cries in anguish better than any actor I can think of), and I simply could not make myself care about him or his wishes. This problem applies to every other character, some of which are given moments in which to be human, but are promptly relegated back to their duties as plot devices. This dichotomy of human being/movie character is a real weakness of the script that it never really recovers from, and this missing core of humanity really hurt my investment in the story. Cartoon nonsense like naming its labyrinth maker Ariadne and the bad bits of the protagonist’s subconscious Mal further ruins any character investment.

The biggest issue with a film about dreams for me, and especially one attempting to rigorously quantify dreaming the way Inception does it, is that I am a pretty serious dreamer. I’ve been writing dream logs and trying to understand my dreams for over a decade, and when a film attempts to drag me into its idea of  what dreams are and how they work, it’s set itself a mammoth task. I realize how subjective this is, and I can only really speak for myself. Dreams are as individual as fingerprints, and how we cope with them are hugely personal matters. With its humanity lost to a large cast I couldn’t really care about, Inception was relying on its high concept to pull me through, and in this regard, it simply didn’t work that well.

The dreams, the dreamers and the “dream ecosystem” of subconscious projections destroying intruders were altogether very silly to me. The dreams seemed incredibly mundane to me, and the way they were connected to the sleeping dreamer by trite mechanisms like shocks, splashes or water or whatever else seemed the path of least resistance. In one beautifully made scene, a character navigates a hotel in zero gravity, and even does combat in that state. The scene is impressively made and beautiful to look at, but the reasons for the lack of gravity are so mundane that it actually lessens the scene; If a person dreams in zero gravity, this apparently means she will be in dream zero gravity. It’s absolutely ludicrous.

The film attempts early on to create a cosmology for itself of history, rules, do’s and don’ts, and invents new whimsical rules as it’s needed to suit the plot. Early on, dream death is explained as a deus ex machina; an escape route. The film invents a ridiculous contrivance to release itself of this mechanism, I suppose to give dream death a sense of consequence, but uses this contrivance to further its plot, and as we are introduced to the workings of a sort of shared coma, all suspension of disbelief is lost to the winds.

As a sidenote, I have repeatedly shot myself in the head in dreams, and death in dreams does not have to be that catastrophic, more of a meaty physical thing. I also “lived” through an atomic bombing which literally turned me to shreds. I didn’t wake up. But I digress.

It’s a fine art, building a film on a ludicrous premise. Some action films are derided for their lack of brains, but their lack of brains is often what makes them tick. Predator, a real modern classic of stupidity, works because it doesn’t attempt to justify its existence. It survives to this day because its execution is front and center, and the reality it presents never attempts to explain itself. Inception spends over an hour setting up its own flawed internal logic, filled with Because I Said So’s, and then fails to take that logic anywhere interesting. As a result, it challenges us to keep up, but leaves us with a puzzle box where we can admire the clockwork, but there is nothing else to take from it. As a film about exploring dreams, I’m actually more inclined to recommend The Cell, and that feels ridiculous but it also feels true.

Technically the film is absolutely competent. It looks stunning. Until you remember you’re looking at dreams, and that this is not The Matrix. I was left struggling to reconcile my own dream experiences with the steely gray shooty-bang action film Inception repeatedly insisted was what people dreamt of. Paradoxically, the ordinariness of the dreams on display further dehumanized the characters; Who’d dream this boring nonsense? Even at my most mundane I’d experience more peril than a car chase. I mean come on. How boring are these people?

To sum it up though, Inception is in no way a bad film, but it asks a lot of faith from its viewer, faith that I couldn’t muster. When I left the theater, others were sat in groups as the credits rolled, discussing the intricacies of the plot and trying to make sense of it. To me, this just cemented the feeling that I had just seen another puzzle film. It’s an intricate, beautiful puzzle film, but it goes no further, and where it could have asked interesting questions about a fundamental part of our humanity, it is content to show faceless men shooting at each-other to do things that don’t really matter. I was disappointed.

Dangerous code geeks

I recently read through Peter Seibel’s excellent Coders at work, and if you’re a developer of any sort, I reckon you should too. Three interviews in the book stood out to me, though they are all excellent; Jamie Zawinski, Douglas Crockford and Brendan Eich.

Jamie’s interview cements the notion of a duct tape programmer; A developer who understands that in real life, the work is WORK, and problems need to be solved pragmatically for deadlines to be met, paychecks to be cashed in and children to be fed. He’s an autodidact, he has worked with people “smarter” and “dumber” than himself, but none of that fazes him. It’s work, and he does it well. The goal is to finish something that works according to expectations.

Reading this interview I personally felt a huge relief. I’ve worked with others from designers who can barely understand why curly braces exist to having my code reviewed (and panned) by university computer science graduates. On one end of the spectrum, I am a wizard, where I enable things others can’t even understand is possible. It feels fantastic. On the other, I’m a heathen. Why all these singletons? Why no dependency injection? Why not this? Why not that? “Over there”, I don’t know what’s what.

But, you know, for the most part, I simply do what is necessary to meet the demands within the alotted time frame, and to be able to adapt quickly when changes are inevitably requested. It makes for code that is often ad-hoc and cobbled together. I have never regretted this; My work can turn on a dime. I refuse to let someone geekier than me kill my personal joy in programming; Creating things.

Compared to Zawinski, Crockford and Eich are almost polar opposites, and their interviews, side by side, read like an argument and its rebuttal. Crockford is, from what I can tell, a programming “geek”. We should all know the geek-nerd-dork-dweeb venn diagram by now:

Continue reading →

A love letter to Prototype

In 2005 I was pleasantly surprised by The Incredible Hulk: Ultimate Destruction, an open-world free-roaming action game by Radical Entertainment. “Pleasantly surprised” is the wrong term. The game offered an unparalleled sense of freedom of movement. It was a game in which you could hold a trigger button and run freely in whatever direction, the camera trained on an enemy, with no fear of impairment; The Hulk would effortlessly run through cars, up buildings and in general never stop until you told him to or he was hit by some particularly nasty ordnance. Even then, upgrades to his powers gave him the ability to recover in mid-air and land smoothly, ready to leap back at the enemy. This complete freedom of uninterrupted movement coupled with a combat system that always asked you to take what the world was currently offering you that very split second and use it to your advantage made the game not only fun, but often frighteningly intense. This game would not let go of you. If your attention flinched, you’d get pummeled and brought to a stop; The worst sensation ever in a game where moving around is so rewarding. Ultimate Destruction was an incredible game.

You may remember Ang Lee’s underrated movie adaption, and the scenes showing The Hulk bounding through the sky, running along walls and throwing tanks into the horizon; This was a full game of that, with none of it on autopilot. Some games seem designed to make your palms sweaty within minutes, and Ultimate Destruction was spectacular at this. It even leveraged it with a control system where every single thing you did, from punching to jumping to throwing  and ripping at things, was chargeable; By holding down or tapping the button in question the effect of a given move would increase exponentially. This was a game where, if you wanted to hit the guy again, but harder, you could do just that.

When Radical’s next iteration on this style of gameplay hit us in 2009 in the form of Prototype, reviews were mixed. It arrived in close proximity to several other open world action games, some with tighter scope and higher polish, most notably Sucker Punch’s Infamous, a truly impressive open world action game. Perhaps worst of all, Prototype had an image problem, featuring one of the least photogenic protagonists in recent memory.

Seriously, what the hell

This game swaggered out of the gate featuring what would appear to be a cookie cutter anti-establishment story about a government coverup, a superpowered amnesiac urban guy-man-thing with Awesome Powers, set in boring old Manhattan. On first glance, for all intents and purposes, it was an embarassing tribal tattoo of a game.

And then I played it.

Continue reading →

What’s going on with Doomsday Console?

Considering this is my elevator pitch topic at Flash on the Beach this year; Seen this thing before?

If any of you have been following our googlecode repository, you have probably noticed a lack of significant updates . There is a simple reason for this; We are giving it a pretty serious overhaul, so much so we have decided to move development to a closed repository until we feel a publication of the new codebase is worthwhile. Central to 2.0 is a new emphasis on usability. I’ll use this as an excuse to effectively re-announce the Doomsday Console, and outline the strategy we are undertaking henceforth. Continue reading →

Going back to freelancing

I’ve quit my job. I want to play more, experiment more, do different things and increase the learning curve. I want to do things I haven’t done before, I want to play with more technologies in different arenas, and most of all I want to show how bad ass a developer I am. Last time I freelanced was a short stint, but I’m nervously excited to try it again. Nerves are good!

I’ll throw down some gratuitous self-promotional bullet points.

Primary skills

  • Flash animation and design since Flash 3.
  • Flash development specialist since 2003. AS2, strongly prefer pure AS3. Some but not extensive experience with Flex 4.
  • Familiar with AIR 1.5, currently reading up on 2.0.
  • Unity3D development (preferrably C#) since Unity3D 2.0.

Secondary skills

  • Basic 3D modelling, intermediate rigging, MEL scripting, animation and rendering in Maya
  • AfterEffects compositing and scripting.
  • Audio engineering. Recording, post-processing of VO. Field recording. General mastering.
  • Electronic musician; good with noise, industrial, techno, breakbeats and general darkness.
  • Hardware integration.
  • JavaScript (naturally).

Tertiary skills

  • The basic, “usual” Creative Suite skills.
  • Fluent spoken English.

Special interests, idiosyncrasies and other traits

  • Huge video-game nerd. Huge. Look at my tag cloud.
  • Special interest in real-time rendering and logic techniques, such as for games or dynamic visualization.
  • Interest in and some experience with digital signal processing.
  • Extensive experience with on-site deployment and maintenance for kiosk applications of varying complexity.
  • Special interest in designing and writing tools to aid the design and development pipeline.
  • Scrum is rad. Let’s Scrum.
  • Plays well with others.
  • Killer debugger of AS3 applications. Seriously. I’m absolutely fantastic at this.
  • Given a clear goal: deadly fast and precise. Ninja style!

I’m available for contract work from July 30th, and hope to hit the ground walking if not running. A site+folio will be up and about within the next couple of months.
If you’re interested in procuring my services or just ask some more questions, please send me a holler.

Snoopy Flying Ace. What on earth is going on?!

Since when was Snoopy relevant again? Was he ever relevant? The Peanuts rank up there with Garfield as the most boring comic strip I have ever had the displeasure of reading, and was inexplicably graced with its own animated TV show that was equally boring.

I mean.. I barely even know what The Peanuts was *about*. Let’s avoid Wikipedia for a moment. There were some kids I think.. And they were bored? Something about a ball. And a piano, and a mean girl. Just existentialist horror through and through. Never growing up through a torrent of mediocrity and boredom. Also there was a dog. The dog was so utterly and thoroughly depressed by his meaningless limited existence that he, if I recall correctly, dreamt up an alter ego for himself as a WWI fighter pilot. You know, to escape endless mediocrity as an slave to an idiot boy who doesn’t care.

Whatever.

So let’s say I don’t have a big place in my heart for Peanuts. I’d go so far as to say I’ll purposefully avoid anything to do with the strip, its annoying meaningless characters and endless repetitive tedium. So normally when a Snoopy game is announced, it simply doesn’t register with me.

But then this thing happened.

I am a hopeless sucker for arcade flight games. Ever since I stumbled on the first Ace Combat (Air Combat) in arcades in the 90s and was introduced to the basic mechanics of what has become the standards for arcade-style dogfighting. I just love the sense of speed, movement, the way the perspective moves.. I can’t explain it in other terms. It’s just deeply exhilarating to me. I’m an absolute die-hard fan of the Ace Combat series, who are banner bearers for the genre, but almost any game that taps into this sense of freedom in flight. Most recently I’ve played a lot of Warhawk on the PS3, and Innocent Aces on the Wii.

Snoopy Air Ace is the Mario Kart of arcade flight games. It is largely nonsensical, happy, colorful, and has planes doing things planes would never do. To man a turret on a map, you essentially barnstorm it, flying into a barn door on its side. The maps go from ice caves to Egyptian landscapes to the Paris skyline. Online game modes offer modes I’d never expect to see, such as a game of football (or Pigskin in game terms) having players pass a ball around trying to take it to the opponent’s goal. Crazy weapons, powerups, and a near constant sense of chaos. Everything blows up, all the time, and you’re spinning and rolling through it all in a gorgeously colorful game world that never slows down.

It’s an expertly produced game that has me absolutely and thoroughly engaged, and I can’t for the love of god figure out why a Snoopy game can be this enjoyable.
It’s not as though the game ignores Peanuts in any way. Rather it thoroughly embraces it. The soundtrack is jaunty piano jazz. The art style is subtly nostalgic. Hell, if you get a kill streak in multiplayer your plane turns into a dog house. It’s a beautifully innocent, gentle game. Shooting down an enemy plane results not in a death, but in a parachuting pilot. As the game is avatar-enabled, in my case this resulted in a mohawked skinny man hopping out whenever I “died”. It’s warm and fun and friendly.

There are problems of course. It has some issues with information. Picking up a powerup doesn’t tell you what it does, and it can be very hard to pick out friends from foes at times. But in the rampaging chaos of a match it never seems to actively hamper your enjoyment.

I heartily recommend it. Hell, it has a demo. You SHOULD check it out. I’ll be online hammering it the coming weeks.

Elevator pitchin’ at FOTB10

I’ll be doing a terrifying 3-minute elevator pitch at this year’s Flash On The Beach. I applied just for the heck of it, didn’t assume I’d get accepted, but weyheyhey. Tension rising!

My session will be about my ongoing Doomsday Console project, or more specifically the next iteration of it (which is under super secret development by TOP MEN). I’ve tried many debugging tools before but none have helped me as much as the DConsole has. It’s traditionally a very tough sell though. Hope to build some more interest and perhaps cause some thinkings about writing your own tools to enhance your workflow?

3 minutes.. My presentation will need TDSI.

Game pricing and the pre-played market

Dear video game publishing industry

I am not economically incapable of meeting your demands. In fact, I have met your demands time and time again, for close to 20 years of my life. Living in Norway, where almost every expense is a quarter again as expensive, your brutal pricing model consistently transcends reason and oversteps into the domain of prohibition.

The majority of high-profile games media is American, and as such, enthusiasts in Europe are pummeled with the $60 baseline. In Norwegian terms, where taxation adds 25%, $60 ends up being simply multiplied by 10: We are paying 600 Norwegian Kroner for a new title. That’s over $90. $90 for a 5 hour slice of man-shooting is a absolutely hilarious prospect, but that is what we are asked to pay.

In the states, a $30 game is considered a bargain. Half price! A bargain game in Norway costs us about 400 Norwegian Kroner. That’s $46. No matter which way you slice it, it is no longer a real bargain:  In Europe, this bargain price is twice again as costly as a DVD, and you are getting a budget game to boot. You are paying more for less.

I realize our taxation is not your problem, but that is not my message. The message is that the consequences of your prohibitively high pricing are consumers moving to the pre-played market, where pricing is comparatively reasonable. When I picked up a PlayStation 2 late in its run, I was immediately offered a wide selection of absolutely killer titles at a fraction of their original price. I have never spent more money on a console; so much so I had to abandon my rule of keeping the original box and move the DVDs to folders instead. And you never saw a single percent of that money. Doesn’t this drive you absolutely crazy? All this money invested and no gain?

Of course it does. That is why you are making strides to secure sales before your titles hit the pre-played market. Pack-ins, activation codes, pre-order exclusives, we’ve seen a wide range of desperate attempts at securing launch sales in the past year. Some ostensibly to prevent piracy (another topic altogether, but you are getting that wrong as well), but much is done to affect a sort of end-user lock-in.

You may remember another market segment where this was done unsuccessfully: PC gaming. Not only did you fail to affect lock-in, but you effectively caused the industrialization of high-end piracy,  CD-key generators and NOCD executables. You may even say the CD-key concept created modern piracy.

I’ll ask you plain; Couldn’t this be solved by making early adoption more economically viable? Unlike the music industry, still flailing desperately trying to secure sales through intimidation, control and subversion of consumer rights; shouldn’t you reassert market control by making buying the game new the more attractive option? I challenge you to take a hard look at what constitutes an attractive purchase in a shopping environment where every product in sight costs more than 2 weeks supply of food, and identify the actual competition you are up against.

You are fighting a pricing battle, and as it is you are not even putting up an effort. The pre-played market is not only winning, it is wiping the floor with you.

I’ve been playing games most of my life. I know hard workers in the industry, and I have always wanted to work in the industry myself. I have the utmost respect for the work being done on these titles, and as a game enthusiast I cherish the ability to pay full price for a new game and send as much money back to the developers as I can. I love a well-taken-care-of box, clean discs, even the pitiful excuses for manuals you currently put in there. I like games not just as playing experiences, but as slices of time in an industry I’ve been following since the moment I learned how to run by holding the B-button. They are history.

Currently, you are effectively denying people the ability to enjoy games on the same level as they enjoy films or books. You are barricading yourself off as an entirely abstract luxury, and wondering why people want to buy your product from a cheaper vendor.

The cost is not only prohibitively high even for regular gamers and enthusiasts, but the barrier of entry for the next generation of players is keeping the market from expanding; If you want a good look at the success of Nintendo, throwing out a motion controller and casual titles isn’t nearly as significant as the average cost of a third party Wii title, even in Norway.

You are eating yourselves alive, and you are causing me to have to reassess the value of games in my life.

Hello Pre-played market, I didn’t miss you, but here I am again.

The Void

Icepick Lodge made something again. It’s called “The Void“, it’s ostensibly a video game, but it feels odd describing it as such. It plunks you into a world with no real-world parallel, where the rules are obfuscated, nothing is intuitive, characters treat you in part as a worker, a slave, a lover or any mixture, and seemingly at random, and you are primarily tasked with simply performing according to their expectations. I’m reminded of the first time you sit down to play a board game you’ve never played with others who already know the rules. “Come over, sit down, we’ll teach you as you go along”. Except secretly, maybe your they are lying to you, manipulating your ignorance to further their own cause.. Who doesn’t want to win, right?

Continue reading →

Go watch Collapse. Seriously.

The ‘collapse’ of the title is the imminent collapse of the modern industrialized civilization as a result of ignorance about the implications of peak oil. The film is an hour plus of watching a man smoking in a dark room, supported by graphs and stock footage.

The difference that makes Collapse a standout in the conspiracy-theory genre most often populated by overly dramatic kooks is that Michael Ruppert is truly convincing, and a riveting man to watch. There is absolutely no confusion. He is clear, direct, consise, professional and most importantly thoroughly convinced of the truth of what he is saying, to the point of tears when he is overwhelmed by the enormity of his plight; This is a man saddled with overwhelming empirical evidence of a dark future for our children that we may even see in our lifetime, yet he is ignored and wrote off as just another kook time and time again, even though his credentials are stellar and his past predictions, such as the recent economic collapse, were spot on.

Collapse does not deal with theory. It systematically destroys the premise of an oil-powered near-future with a battery of absolutely terrifying yet irrefutable facts. It is not about cars or conveniences or getting less cell-phone coverage; it’s about the complete and utter disintegration of the fundamentals of human society. As Ruppert says, it’s about throwing everything away, sitting down with a blank page of paper and asking yourself ‘How do i solve this problem?’

This film is more important than any other i can think of. Like Burma VJ, its subject matter overrides any argument regarding the quality of the film itself. It is simply important, and you need to watch it. And when you’re done, you should hunt down The End of Suburbia as a nice dessert.

Interesting times.

Audiotool suggestions

I’ve been following the Audiotool project with great interest since it began, both because I’m a Flash developer and a musician. Now that Audiotool 1.0 has been released, with a very broad and interesting suite of devices, I’m both amazed and put off.

As a developer, I’m utterly blown away that this thing is running in the plugin as well as it is. It’s a massive feat in terms of engineering.

As a musician however, I find it absolutely infuriating to actually use, to the point where I literally can’t even grit my teeth and brute force my way through making something musical in it. I find it absurd that I am being offered such a suite of interesting and useful tools, yet interface choices and device design niggles consistently impede my progress.

I need to stress that I am a huge fan of the research and work being undertaken by these guys, and I think what they’re doing is absolutely integral to the future development of the Flash platform.

Continue reading →

Off the Grid: Life on the Mesa

A friend pointed me to this documentary today, and so far I’ve watched it twice. It’s about a New Mexico community of war veterans, runaway kids, hippies and other outcasts living totally cut off from society. I expected it to be much, much darker than it actually is; These are some truly interesting characters with interesting stories and interesting things to say. In an odd way, it reinvigorates the magic of America, something that has disappeared for me at least over the past 15 or so years. It also succeeds in showing American patriotism in a way that is in no way shape or form jingoistic. These are people profoundly and deeply in love with the constitution, several of which have gone to war for it, only to return home and discover they have been misinformed.

There’s a very strong undercurrent of humanity throughout the film, and I’m not ashamed to say it drew tears from both me and my girlfriend. Stan the pig farmer in particular is an incredibly powerful presence, with a meditation late in the film on life and death that is hard to just walk away from.

You can watch it here, though the site hilariously often interrupts this powerful film with sponsor ads for fabric softener and other such crap. Ironically, the ads almost empower the film through their vacuousness.

Writing tools for designers

Now this is fun. A while back, a Flash kiosk app I wrote had a screensaver that was basically just a bunch of particles spinning on the Y axis. The designer wondered if we couldn’t animate the particles to form the icons used elsewhere in the app, and it got me thinking; Sure, they CAN form those icons, but what data would I base that on? Additionally, I sure as hell am not going to sit there on the receiving end of some Illustrator files and attempt to match the designer’s vision. Instead, I wrote a tool for the designer that uses cubic splines and a bunch of Keith Peters’ minimalcomps to preview and design the effect. The editor application was written in less than a day, and here’s the result.

Click to run app


To erase a curve, select it and hit backspace. Additionally, this particular iteration has the particle count slider hacked to allow for much, much more particles than what is safe for real-time (designer’s request), so be wary of that slider.

This is obviously not a tool for public consumption: The designer was sitting across the table from me and could ask questions and get support/new features whenever. The point is, we met our goal, the designer was happy with the result, and the effect was exactly what we hoped for.

Taking the time to throw down a tool like this is a real boon to us as developers, allowing designers to get intimate control over aspects they might otherwise consider too technical. And getting them off of our backs as a bonus.

Synesthesia experiment 1

I always want to play more with generative art, but I always find it’s more fun to play around with synesthesia; senses combining to create something more. So I might start out wanting to make a paint tool to make art, but it always ends up being a toy instead. But maybe that’s art enough?

Here’s a modest attempt. Max Richter’s ‘Autumn Music 2′ set to a swarm of particles, with the music swell and rhythm driving emission and color.
Continue reading →

Painting with time

Something I always enjoyed conceptually was painting with a video frame buffer. It doesn’t actually WORK for anything particularly useful, but here’s an experiment anyway. Beware, video autoplays and has awesome Italo disco music. Unless you have a webcam. In which case you’re the star of the show.
Continue reading →

Another 3D Particle Thing

An older thing this, but I still think it’s kinda neat. Click-drag to rotate the camera, WSAD keys to move around. When you move, particles are moved from the pool to the point the camera is currently at (offset a little), so you can draw lines and curves by moving around. Always wanted to do more work on this.
Continue reading →

Video pixels to particles

Another ongoing experiment. Performance ranges from decent to abysmal depending on your hardware, but I reckon it’s fun partytimes anyway. Sampling pixel values from a video and mapping them to 3D particles. ZOOOoooooOom!
Continue reading →

A 3D tunnel effect or something

Hey check this thing out. It’s part of a prototype for a game project, but I thought it came out pretty neat on its own! WHoooOsh!
Continue reading →

Video games can never be art [sic]

I commented the following on this post. Figured I’d blog it as well, since I put in such an effort.

Hi Roger

I wrote you an e-mail a while back (which you printed) lamenting, in nicer words, how someone so in love with one form of art can be so ready to cast stones at another.
This article saddens me. A lot of the comments too.

I’ve had a few evenings now with my dad — a teacher of art for as long as I’ve lived — trying to show him why i value games as much as i do. It is proving incredibly difficult. Games often stand strongly *in memory* rather than in the moment, and a game’s duration is in several, perhaps dozens of hours; Not something you digest quickly and easily. To sit a person down with a trailer and assume he or she will “get” any of it is astonishingly arrogant, which unfortunately is true for a lot of gamers; We simply can’t fathom how someone can not understand how fantastic this is, and why they should spend hours upon hours of their lives experiencing it. We don’t get it.

Games saturate you in their subject matter, letting you wander and observe from any angle, whereas films, ironically, often adopt a tell don’t show method in this regard. James Cameron gets a lot of credit for creating worlds with his films. This is what (the better) video games have been doing for the past 20-something years. I reckon world-building is an art.

A game itself, presented as a technical design of successes and failures, may not be immediately identifiable as art. But there can be no denial of the amount of art that goes into the production of a game; Music, cinematography, writing, 2D and 3D artwork, not to mention programming; Engineering is certainly an art.

I suggest you look at games as sort of a themed museum. Perhaps it will give your soul some rest on this matter.

Ps. I’ll go out on a limb and say Braid has some horrible writing, and Flower is the dullest pretentious makeover Pacman has ever seen. Art for arts sake is always a doomed endeavor.

Simple AIR Directory->XML utility

This is no biggy, and I’m sure most of y’all have tools for this already, but I figured I’d share mine anyway. It’s just a quick-and-dirty Flex/AIR app for taking a directory listing and generating an XML document of file paths.

Not pretty, but here’s how it works:

  • Choose the node name of your root node (“data” is typically it though)
  • Choose the node name for file nodes (for instance, “sound” or “movie” or whatever)
  • Choose whether you want the path/filename to be placed in a “path” attribute or in the node innertext
  • Choose if you want the file path to be Absolute, relative to the starting directory, or just include the filename
  • Enter the file extensions you want included, separated with spaces (“mp3 jpg avi”), or just leave it as a wildcard
  • Select the starting directory for the crawl
  • Check whether you want to include subdirectories, meaning a recursive search. Included subdirectories will be placed under nodes with the directory name.
  • Click “Generate”

I threw this together to quickly build a list of sound files for a project where I had no CMS to help me out. Maybe you’ll have use for it too? I am never fucking ever copy pasting file info into XML again. Ever.
You can grab the air package here

Stop trying to make the Internet boring!

Preface. There’s a weird energy to this planet right now. Maybe it’s just me, but I can’t shake the feeling that the current zeitgeist is one of living under the hammer. The post apocalypse has returned to the media in a big way, with a thematic resurgence in films, video games and literature. There’s climate catastrophe looming ahead, there’s economic catastrophe looming ahead, there’s the coming energy crisis, peak oil, war, overpopulation, religious conflict. So much focus on the negative.

With that mindset, the current religious war in the web development community (though commonly propagated mainly by Angry Internet Men of unclear merit) about the relative merits of HTML5 vs Flash has grown tremendously in scope with the launch of the iPad and Apple’s latest changes to the iPhone 4 SDK agreement.

Suddenly, it’s no longer about Steve Jobs’ hissy fits and Apple/Adobe’s past. It’s now about what it means to be a developer, the tools you choose, the platform you wish to work on. It’s another apocalypse then; The corporations are taking away our anarchistic developer rights to go anywhere, do anything! Time to wave banners, and while we’re at it, choose sides. You know, good/html5/css/js, evil/plugins, or any combination thereof. Whatever.

Holy hell guys! Isn’t this the most BORING shit ever?

Continue reading →

A quick Doomsday Console example

Today I sat down to do a few performance tests of copyPixels with a variety of configurations of an alpha bitmap and the mergeAlpha flag, all in Release mode. This is a very typical situation where the Doomsday Console is useful, and I thought I’d share the source and swf. It’s modest, but a classic use case.
Continue reading →

Poll: Sound integration in Flash

Something that always seems to end up last in mind when budgeting and designing Flash projects is sound and sound integration. This appears by far to be the least discussed topic of Flash development, and I can’t help but wonder why, when projects like AudioTool still garner such a loving response. The notion appears to be that either you go all out synthesis, or you might as well not do sound at all. It boggles the mind.

If i can wax poetical for a bit, we are giving up a big slice of our humanity if we’re willing to lose our ears. Mobile multitouch devices are the hot new thang, but I’ve always felt removing the sense of tactile response from the user experience is a huge loss. In the same way, sound is a fantastic way of conveying meaning and space to the end user, and designers appear to be more than willing to give all that power up. What a Pavlovian nightmare to be conditioned into accepting a lack of sound and feeling.

End digression.

I’m curious, workmates, as to how you integrate sound in your Flash projects, or even if you do so at all. Let’s not get overly technical. Let’s keep it a question of basic development philosophy and methodology. I’ve prepared a simplistic poll, which I know probably isn’t granular enough. I’d love it if you added your response, and I would be thrilled if you left some further thoughts in a comment.

Why did you want to get into web development?

View Results

Loading ... Loading ...

20 hours into Just Cause 2…

…and i have 10% game completion. This is logical; I have literally not tried to progress. The game’s story is nonsensical gibberish. No tool is locked away. I feel absolutely no need to apply any effort to gain ground playing the actual game. So what the hell is going on here?

This is what the game is like at any time you want it to be.

Continue reading →

Quick and dirty Flash dialogs

Something I’ve had to do a few times now is implement dialog windows in an application. You know, the kind that shows you a text prompt and a few user response options – Typically OK and Cancel, but sometimes text input fields, dropdowns or other GUI widgets. After a few goes at it, I reckon I’ve got a decent way to quickly implement the baseline functionality in a way that’s easily extended and customized.

Continue reading →

The future of PC gaming and DRM

Recently, publishers of PC games – Ubisoft being the vanguard – have been experimenting with various forms of DRM dependent on persistent internet connectivity, and have been met with what appears to be universal backlash, and for good reason. Titles like Command & Conquer 4, which are dependent on serverside functionality for its persistent character building; If you’re offline, you won’t be gaining experience points used to unlock game progression. Other games, like Silent Hunter 4, attempt to further “leverage” online functionality by leaving pirates, or indeed players without an internet connection, with a campaign void of missions to complete.

It’s obvious that these DRM implementations are experimental at best, with every game appearing to try a new approach. While Assassins Creed 2 simply dumps you out of the game should your connection go down, C&C4 and SH4 both withhold game progress until a connection can be restored; a relatively lenient approach, but still absolutely draconic compared to past DRM.

DRM has always been a problem with PC gaming, but conspicuously reserved for the paying customer. While piracy is an enormous problem, pirates have always found a way to circumvent new DRM, and as such the short end of the stick is handed candidly to the paying customer while pirates are free to play games without shackles. I will freely admit to buying games in the past only to download no-cd patches/cracks simply so I won’t have to keep the disc around. DRM of this sort stands a better chance of making someone a lawbreaker rather than prevent lawbreakers from access.

This issue is entirely relegated to single-player games. If you are playing an online game, you’ll obviously need to be online, and most publishers have their own proprietary online service to double as DRM, such as Games For Windows Live or Steamworks. For these games, piracy is a deeply remote option. The latest DRM developments are fundamentally flawed in their assessment of the people who play single-player games and the internet connections they have; If your access is down, what kind of game would you want to play?
Continue reading →