Sunday, July 22, 2007

Processing Stuff

I've just been porting my Flash physics work into Processing. A demo with big chunks of source here.

Friends of Ed were nice enough to send me a copy of Ira's book to review. It's taken me some time to think of stuff to say because I'm busy working in Flash these days so it's hard to find some Processing time. To be fair - I've looked through it, but I haven't used it. I want to sit down and read the collision section of course because of the physics stuff I'm doing but I also have a day job, and I've just managed to hack around irregular surface collisions with a rather crazy implementation of the bresenham algorithm (yup - bounce it off a surface by detecting the level of penetration into a pixel map - with one particle it's unrealistic - with a spring box it's like the real deal).

The book is aimed fairly well at where I was when I started using Processing a few years ago. I had no idea how to program, some pretty concrete illusions about how everything was done and no knowledge of math. If I could have sent Ira's book down a wormhole back to me when I started to pick up this Processing lark I'd have had a much easier time of it (although the differences between Processing 68 and 120+ would have been a pain).

The book pretty much covers the basics of everything. Which is a very Processing way of going about stuff. You don't get into the complications of heavy Java which most advanced users get into. On the whole I find I pretty much understand everything explained to me in the book - which is a miracle for a book on programming. A lot of the examples look quite pretty and inviting and I can see myself thumbing through it if I hit a creative block.

If I had a criticism of it it would be the shotgun approach to learning that goes on in it. It's a great book for getting someone into Processing and I would recommend it to a student but I tried using it for reference purposes a few times and it cut me off before I could find the specialist information I needed. So either I'm a little above the target audience's level or I'm just too picky about what I want to find out. There's points where I'm looking through it thinking, "ayuh, there's a faster way of doing that," but you can't really confuse beginners with the speed stuff straight away I guess. Basically, it's a teaching book, not a reference manual - it won't revolutionise the way you code, just expand your horizons.

So if you've got an artist friend who wants to get into using Processing, I would recommend this book to them, it should help a lot. More advanced users might find it a strange book in terms of use for programming. I'm used to "get to the point" manuals, harrassing people on the web (sorry forum) and online tutorials. As programming books go, it is incredibly wordy, but artists (and I am the exception to the rule) are also wordy creatures, so this may go down well with the new breed of art-geek that has hit the world this century. In summary - if I was teaching Processing I would find this useful for shoving under my students noses, and I think they would find it useful too.

Colour of Munny exhibit
CAPTCHA being defeated by image analysis - PWNtcha
Dollar origami
Echodrome trailer - optical illusion game for PS3

InkScape: Open source vector graphics tool

Monday, July 09, 2007


We've released a new game at Nitrome for MTV that I've developed the game engine and levels for.


Go play it. Now. Go play it now. Now, now, now, now, now.

A few posts down on my blog you can see the intersection code I was working on to get the spider to snap to platforms. This combined with chaining springs together evolved into the final game. The control system without a doubt was the hardest part - there are dozens of little meters and switches behind the scenes trying to gauge mouse movement.

The next game is shaping up quite well. I'm taking all this physics engine and long scrolling level stuff to new heights. It should be a good little number.

Bloxorz - very well made block puzzle game
Astronomy wallpapers
Flash 8 3D racing game
Bat for Lashes - What's a Girl to Do - Promo
spike jonze - invisible skate boards
Dark Entries - Bauhaus - Live
Cube - open source Sauerbraten game
Diesels's Holograms on the catwalk
A I site
Falcon's Eye - Net Hack with graphics
Rat brained robot
Networked projectors
Al-Jazari - father of robotics
Sentient World, US Department of Defense World simulator

Laser tag how-to and source code