Webcam controlled motion

I starting playing around a little more with my webcam and extended my previous webcam motion detection example to control the camera of a virtual 3-D space from motion detected in the user’s webcam…

Trekking in the Lakes

Lake DistrictI recently went up to the Lake District with some friends and did a fair amount of trekking. Geez was it windy! Very pretty though, if a little overpriced.

But I guess that’s bank holiday weekend everywhere :(

Webcam Flames

I played around some more with my webcam today and knocked this out. I also found my webcam already has the IR filter missing (cheap webcam), so it can already see infrared… which will come in handy:

Wii Paint

After getting my Wii remote hooked up with the WiiFlash Server, I knocked up this quick Flash demo which draws the blobs of infrared light the Wii remote detects (it can track up to 4 blobs at once), just like the Wii console's sensitivity setting dialog does. I just gave each blob a different colour and clear the graphics on pressing the 'A' button.

Here's the code to get it working - requires WiiFlash Server:

import org.wiiflash.Wiimote;
import org.wiiflash.IR;
import org.wiiflash.events.ButtonEvent;
import org.wiiflash.events.WiimoteEvent;
import flash.events.*;

var myWiimote:Wiimote = new Wiimote();
myWiimote.connect();myWiimote.addEventListener(WiimoteEvent.UPDATE, onUpdated);
myWiimote.addEventListener(ButtonEvent.A_PRESS, onAPressed);

function onUpdated (pEvt:WiimoteEvent):void {
var ir:IR = pEvt.target.ir;
var irWidth:Number = 400;
var irHeight:Number = 400;
var irSize:Number = 4;
if (ir.p1) drawCircle(ir.x1*irWidth, ir.y1*irHeight, ir.size1*irSize, 0xff0000);
if (ir.p2) drawCircle(ir.x2*irWidth, ir.y2*irHeight, ir.size2*irSize, 0x00ff00);
if (ir.p3) drawCircle(ir.x3*irWidth, ir.y3*irHeight, ir.size3*irSize, 0x0000ff);
if (ir.p4) drawCircle(ir.x4*irWidth, ir.y4*irHeight, ir.size4*irSize, 0xffff00);
}

function onAPressed (pEvt:ButtonEvent):void {
graphics.clear();
pEvt.target.rumbleTimeout = 50;
}

function drawCircle (x:Number, y:Number, size:Number, colour:Number=0xffffff):void {
graphics.beginFill(colour, .2);
graphics.drawCircle(x,y,size);
}

The Power of Infrared

I started playing around with using the Wii remote as an infrared tracker to work with those cheap keychain lights you get - just like Johnny Lee suggested. I'm looking to start building interactive installations using novel forms of interaction, such as sound, webcam motion and perhaps 3-D techniques I'm thinking up.

The Power of Chi?

Gotta love this guy - he's proper Kung Fu mental he is...

Quick as a Flash?

I missed this when it was published, but Tinic Uro, an Adobe Flash Player engineer, published an interesting article on exactly why framerates in Flash Player are so damn unreliable - seems it's not just about our shoddy code :)

Prince Bandar bullies Tony Blair

Prince BandarThis dodgy git is Prince Bandar of Saudi Arabia, head of security, son of the Crown Prince and puppet master to hungry arms manufacturers, such as the UK's very own BAE Systems. He's the guy responsible for threatening poor old Tony Blair with 'another 7/7' if he didn't halt the Serious Fraud Office's investigation into his alleged corrupt dealings with BAE - involving a $1bn bribe. Small fry like Blair and Bush listen to Prince Bandar, he is a man not to be messed with. I also heard he said things about Bush's mum and nicked Tony's dinner money -  c'mon Brown, get him in a headlock and nick is hat!

Revenge of Dinky Bomb

Back in 2002 some colleagues and I built one of the web's most popular online multi-user Flash games, Dinky Bomb. It's since been acquired by Atari and I thought no footage of it existed, other than a bit of a TV show in which it was featured. YouTube to the rescue...

FreeYourBuddy.com launched

FreeYourBuddy.comI just finished developing this video-based viral game site thing at GT for Windows Mobile. It's a bit like Subservient Chicken, but you need to talk to Buddy and direct him to solve puzzles in order to escape the confines of the computer in which he's trapped.

You can tell him to do silly stuff too - or just swear at him like I do - whatever floats ya boat.