2010 has already bought me many new friends, clients and collaborators. Fitting into all three of those categories are FutureDeluxe, a forward thinking design studio who have recently relocated to Brighton.
The first zenbullets/FutureDeluxe collaboration has just gone live – an ident for the forthcoming SCI-FI-LONDON festival. Created using Processing, QuickTime and After Effects.
There’s also been a lot of extra-curricular (i.e. non-Flash) work this year, mostly Processing/Generative Art related. I’ve written a little about the “creative coding” book I’m currently writing (to be published in Summer 2010), but for fuller details of my Generative Art, my writing, and other more experimental work, you should visit my (award winning) personal blog here. Which is where, amongst other things, you can see a video of my work projected onto a Brighton church.
Well, when I say “speaking”, I mean I’ve got three minutes! Which should be just enough time to get on stage, get my laptop hooked up to the projector, make sure it’s got sound, introduce myself, apologise for having no time left and get off.
I’ve been selected to present one of the Flash On The BeachElevator Pitches, twenty micro-sessions showcasing “hot new talent”. On first hearing of the idea I thought it would be impossible to fit anything meaningful into so short a time – when I spoke at Flash Brighton earlier in the year it ran to more like three hours. But, as Seb reminded me, this is more of a teaser trailer rather than a full feature, so I’ve now got something in mind (something new and previously unseen) which I hope will do the trick. I don’t think there’ll be time for questions though.
To get an idea of what you might expect, see my recent postings over at zenbullets.com. And if you’re at the conference please come and see me. You will be allowed 3.5 seconds in which to applaud.
There are two things I have had on my to-do list for a few years – 1. do a Generative Art project, and 2. do an Open Source project, so this month I have ticked off two boxes at once with my new 100 Abandoned Artworks site.
A year ago I saw Robert Hodgin speak at FOTB07, which introduced me to Processing, an Open Source Java-based programming language. It is always good to teach yourself a new language every few years, just to keep things fresh, and to give you new perspectives on your work. And while ActionScript is still great, as the language has evolved from the hacky AS1 to the strict, ordered, enterprise-focussed AS3, it has lost a lot of its sense of fun and experimentation; the thing that attracted me to the language in the first place.
So, while I can still use AS3 to make my clients happy, Processing can be my playground. Which is the idea behind 100 Abandoned Artworks (http://www.abandonedart.org). I don’t have the time, or the sympathetic business partners, to be able to emulate Hodgin’s sophisticated works, so instead I am intending to do a high-volume, fast turn-around project (the only thing I can do with a wife, child and 20odd clients to keep happy).
Over the next 100 weeks I will produce an experiment a week and throw it out there, in whatever state I have got it to before one of my dependents puts a stop to my playtime. But I will also post the source code, so if anyone wants to take these works and run with them, or adapt them for another medium, they are welcome to.
I’m hoping it’ll produce some good stuff, and you’ll be able to see a upward curve in the quality of the work over the two years. Make sure you subscribe to the feed, because the more subscribers I have, the harder it is for me to bow out and quietly abandon the project.
This is going to take longer to explain than it did to build (literally 10 minutes, and 8 of those were spent googling for the image). Click above to see it in action.
Richard Lord was guest speaker at our Flash Brighton user group last night, presenting his Flint particle system. I think every creative coder has found themselves toying with particle effects at some point (do check out my generative stuff) but Rich’s system takes all the heavy lifting from the coding and just leaves the fun part. And it can create some really authentic looking smoke, in very few lines of code.
The movie above is my riff on a very old David Lynch photograph from his “Nudes and Smoke” collection (see here). A lot of Lynch’s “still” art work involves incorporating moving parts into paintings and sculpture, so I hope he would approve of this subtle animation.
Rich will be introducing Flint to a wider audience at FOTB08 next month.
There’s lots of fun to be had with Moo mini-cards, and I’ve been getting good feedback on the batch of fractal cards I made recently, which were created by taking snapshots of one of my flash experiments. The magic behind this was so simple I may as well share it with you. All you need to create your own set is the Flex/AIR app I created, which you can download here, and a Flickr account. This is how it works:
You give the app the path to your swf, and hit enter. It then runs a function to start a timed loop, as follows:
private var _saveDir:File;
private var _timer:Timer;
private var _counter:int;
private function startSnapshot(url:String, time:Number = 5):void {
// loadedSwf is the name of the mx:Image that
// will contain the swf
loadedSwf.source = url;
// create a directory to store our snapshots
var dirName:String = "snapshots";
_saveDir = File.desktopDirectory.resolvePath(dirName);
var x:Number = 1;
while (_saveDir.exists) {
_saveDir =
File.desktopDirectory.resolvePath(dirName + String(x++));
}
_saveDir.createDirectory();
// start loop
_counter = 1;
_timer = new Timer(time * 1000);
_timer.addEventListener(TimerEvent.TIMER, snapLoop);
_timer.start();
}
Then, while the swf plays, the timer loop fires this function every few seconds to take a snapshot:
private function snapLoop(e:TimerEvent):void {
// create a new BitmapData object based on the
// size of the loaded swf
var BMPData:BitmapData = new BitmapData(loadedSwf.width,
loadedSwf.height, true, 0xFFFFFF);
// take a snapshot of the swf, and store it in
// the BitmapData object
BMPData.draw(loadedSwf);
// encode it as a jpg
var jpgEncoder:JPEGEncoder = new JPEGEncoder(80);
var jpgBytes:ByteArray = jpgEncoder.encode(BMPData);
// save it
var ourFile:File = _saveDir.resolvePath("snap" +
_counter++ + ".jpg");
var fileStream:FileStream = new FileStream();
fileStream.open(ourFile, FileMode.WRITE);
fileStream.writeBytes(jpgBytes, 0, jpgBytes.length);
fileStream.close();
}
Note that the BitmapData snap may give unexpected results with transparent swfs, so it is best used with swfs that have a solid background.
To turn these into mini-cards, the final step is to use Moo’s Flickr import option. Point it at the Flickr set you have created, pay your money, and in 10 days or so a pack of groovy cards pop through the postbox. Simple.
I’ve been getting very into the work of Jared Tarbell after seeing him at FOTB week before last. There were no shortage of generative artists working in Flash at that conference, wowing us with animations, but Jared goes one better than most of his contemporaries by open-sourcing all of his stuff. His throwaway Flash experiments can become a launching platform for another coders exploration.
2. Just about everyone seems to think we should be rediscovering the play in our work.
Even Keith Peters was suggesting we quit our jobs and start making casual games for a living. (Next year the theme will be “Flash – not just a toy”)
3. There is a revolution in Flash audio just around the corner.
4. 99% of what we do as developers is shit, but we need to do shit to make that 1% of masterpiece. (Andy Polaine paraphrasing Hemmingway)
5. Flex is not exciting any more, it just IS.
(Same goes for everything else we were excited about following FOTB06 – Papervision, AIR, etc)
6. Flash is so last week. We should all be learning Processing instead.
7. The Dead Sea is dead because nothing flows out of it. This is why we should be giving away at least 10% of our stuff. (Chris Orwig) Preferably 10% of the shit, not the masterpiece I presume. (Personally, I advocate giving it all away).
It would have been so easy to go for yet another generative artist for the pick of FOTB07 Day 3, but good though Jared Tarbell was, today the thing that blew me away was the first session to go so far over my head it made me feel like a junior again (which was a nice feeling).
Flash is absolutely crap at playing with sound. All you can do is shift the pan and the volume of imported sounds really. Unless you get in and start hacking around with the byte code that is, then you can actually start generating sound. This is what Andre Michelle has been doing recently. Once you have tricked Flash into generating sound, if you know what you’re doing, you can start playing with the wave and, next thing you know, you’ve got a synthesiser.
My Pick of FOTB07 Day 2 – Robert Hodgin. His message was simple: forget Flash, try processing (a great message for a Flash conference, cheers). Processing is an open source animation API built on Java, which, as Robert demonstrated, can produce stuff like this:
My clear highlight of Flash On The Beach 2007 Day One was seeing the work of Joshua Davies. His abstracts are incredible, but they get even more interesting when you delve into the process behind their creation.
I love 70’s childhood pictures. It’s as if everyone’s childhood had the same washed out colour palette.
This was a little AS3 experiment I did earlier in the year, back when I used to have time for coding. It draws in random photos from flickr and applies a few filters to try and recreate that 70’s childhood pics vibe.
There’s not much to it but I was rather pleased with it. If you like it too, you might also like some of the other stuff on my generative flash page.