LBP has been a roller coaster of excitement for us, ever since it was unveiled a little less than a year ago at GDC in March 07. Since then, the anticipation and excitement online took us all by surprise – but is the *best* kind of compliment you could ever by payed as a game developer. Pete, one of our producers at SCEE loves to say ‘it’s the best kind of problem to have!’ when he hears me stressing out over the pressure. And he’s right! But it does mean that whenever a show comes around – in this case, CES in Vegas, where Pete, Leo and Kyle from SCE[E|A] (amongst others) are valiantly demoing the latest LBP build – literally makes me want to hide in a corner, behind a sofa, and peek out at someone else’s internet browser from time to time.
It seems to be going over well, hurrah hurrah, what what, as Bertie Wooster would say (obviously all brits sound like him) and there are lots of little tidbits in the footage that is sure to trickle out that I’m sure longtime LBP fans will enjoy. I really enjoyed reading the posts on the recent kotaku posting – the level of enthusiasm and excitement is really cool and very motivating. Frightning, yes. Not always right. But awesome. Thanks people. Right, back to work…
We’ve been playing about with the Face Research averager – a neat bit of software that lets you upload faces then combine them. Apparently, if there was to be a big old Media Molecule love-in, then this is what our collective child would look like. (S)he’s so… weirdly smooth. mmmmmmmm. Buttery.
While the program seems to be most effective with a large number of samples, you can get some of the most freaky and ‘characterful’ results when the number of parents is low… behold our inbred Sackboy and sound departments (top-left and bottom-right respectively):
Clockwise, from top-left: Sackboy team, coders, sound team, artists.
The games industry is famously male-dominated. We’re not immune from that here at the molecule, but being a lovely fair and gender-agnostic place, we have a fair few ladies here on the dev team. Here’s what a female molecule looks like:
We’ve just noticed that Media Molecule is 2 years old today, we’re growing up fast! According to Baby Centre this means the team are at the stage where: “He starts to form images in his mind, organise categories and arrange things in order. His memory is also improving and a minority at this age will already know their basic colours. Some can even count up to five” So that sounds about right. And according to Jonny it’s also a couple months more than it takes an elephant to gestate – if only we’d impregnated an elephant back then, things would be so different now.
It also means its 2 years since we painted our office, here it is then:
And here’s the same wall now!
So many memories!
I even wore some special socks to celebrate.
3d scanning update! after a few more experiments, I uploaded some very ropey (and non-interactive) 3d scanner code to the david-lasercanning forum, along with some mugshots of Mm’s Dave Smith. And, bless him, a chap called Florian from The Internet posted a comment to my previous post here, with a running version of my code – complete with interactively rotatable 3d scan of Dave! OMG! I hope he’ll forgive me for reposting the link he put in the comment, in this post: you can get this file http://bezier.de/exchange/alex_3d_scanner_x02.zip and when you run it, you should see a 3d mugshot of Mm’s own dave that’s rotatable with mouse. If I had a little more skill with processing, I probably could have embedded the java applet version in this page, but, er, I don’t know how at this late point in the day :)
But how do you run it then, I hear you ask? it’s a port of my C++ code to processing, and processing runs on any platform with java. linux, mac, pc, etc. so get thee forthwith to http://www.processing.org, and download the right version for you. then, once you’ve sussed out the processing interface, load up Florian’s ‘.pde’ file, click ‘play’, and behold the awesome 3d scan-ness. All from 3 simple black and white photos… hurrah.
I’ve always had a passing interest in things like computer vision, 3d scanning and wot-not… but I don’t really know much about it. so one sunday a few weeks ago I spent a nice day sitting on the sofa, reading papers on 3d scanning. (I’m sad like that). I was looking for a ‘free-time project’ which I could play with in half-hour chunks – as a coder with lots to do, I don’t have the luxury of the immediacy of a sketchbook, nor do I have vast tracts of time to sit down and get stuck into a coding session on anything other than LBP. And, I have never got into processing for some reason…
Anyway, I stumbled upon a rather cool free laser scanning program, that lets you scan objects (that is, create 3d meshes in the computer that accurately represent a real object, for example, your face) using just a laser pointer, a computer and a webcam. It’s called the ‘david laserscanner’. Not posessing a laser pointer, a nosed around a bit more and decided that I might be able to program a structured light scanner. In this technique, you shine a pattern (or patterns) onto your object using a video projector, and photograph the results. by the same sort of triangulation that stereo-image-pair type techniques work (you know, red-green glasses and wot-not), you get a mesh out. only it’s more robust because one of the cameras is replaced by a projector and the pattern you project allows you to more clearly see the shape of the object. like this:
A week later I had a plan – see the david forum for the details!
Another week passed before I managed to snaffle rex’s HD video camera, and took those pictures of our very own Jonny Hopper (’J-Ho’). You can see that all is needed is a program that can measure the ‘bendyness’ of the stripes on his face.
This weekend I spent saturday afternoon trying out different ideas for this. I managed to compensate for the gamma curve of the projector/camera, which was step 1; then I was able to extract the ‘phase’ of the stripes, which was step 2. but then I hit a snag – my ‘phase unwrapping’ – which gives you your output depths, doesn’t work too well. never mind, I was trying a pretty dumb algorithm, but I’ve run out of time and it’ll have to be next week or so before I get a chance to try agian. still, massive noise aside, all of which comes from bugs in my unwrapper, the initial results are promising! the huge errors visible on the left are just due to errors in the phase-unwrap, and hopefully they can be completely got rid of. you can see quite a nice profile, where it works! yay!
A short documentary about the sculptor Ron Mueck. It’s a great introduction for the uninitiated, and a fascinating insight into his process for those who already know his work.