Processing Critters



This browser does not have a Java Plug-in.


Get the latest Java Plug-in here.


Source code: sketch_080314a

I’ve been playing around some with Processing, this is the result. As I mentioned in my earlier article, Processing and NodeBox are quite similar. Processing has some more interactivity (better keyboard and mouse handling) built in, and it can do basic 3D. NodeBox has better color handling (gradients) and remarkable libraries (WordNet). But what it really comes down to is that NodeBox is Python (much easier to extend) and Processing is Java (still easier than straight Java, but a lot more code to do basic extensions). Now all we need is a quick-start programming environment like these for Flash (and before you tell me the Adobe Flash tools are for artists–I have used the Flash IDE and it is possibly the worst IDE I’ve ever experienced. Which is odd, because the Flex IDE is one of the best, better than XCode/Interface Builder in some ways).

All of which is the long way to say that I enjoyed making this little animation in Processing, but I’m ready to go back to working in Python now, thank you.

Back to the Drawing Board

Well, I’ve been promising this off and on here in my intermittent blog, but I’ve had the code up on Google code hosting for some time now, my kids have tested out the latest version, I’ve fixed some bugs introduced when PyObjC switched from distutils to setuptools. It is still pretty raw, unpolished, unoptimized, but I’m ready to let the world see it and let me know what they think.

Current features of Drawing Board:

  • Freehand sketching: This is the main point of the software
  • Onion-skinning: See previous frame dimmed behind current frame
  • Create new frames: Either blank, or containing a copy of the current frame. Copied frames include the entire undo stack for the frame, so you can copy, and then undo a portion of the frame
  • Change colours and line sizes
  • Change the opacity of the window (this is a hack to allow you to trace images until I get image backgrounds implemented)
  • Scale and translate the frame
  • Remove current frame (not undo-able)
  • Export as SVG
  • Export frame as PNG or JPEG (PNG includes alpha for any area not drawn)

There is basic file handling, which may be useful as example code for learning Cocoa programming using Python. I’m still working at adding drawing tools besides freehand drawing, and I have ideas for a lot of other things, but the main idea is to keep the program from getting in your way–to keep as close to possible as sketching with a pencil on paper, but to make the process of creating simple animations easier.

Two features that are pretty close, and are important to the goal of the project, are export as Flash and export as Quicktime. Those will be coming sooner, rather than later.

The project page is at http://livingcode.org/project/drawingboard and you can find links there to the binary download, the source repository, and the bug/feature tracker. I’ve also set up Google groups for the Living Code projects: http://groups.google.com/group/livingcode-users and http://groups.google.com/group/livingcode-developer for ongoing discussions.

A few people have seen me demo this program at the Vancouver Python Workshop and at Bar Camp Vancouver and expressed an interest, so I hope it can be of use, both in learning to program OS X with Python, and for creating animations. Please let me know what you find useful and what could be improved!

Declarative animation with SVG

One of the things which has been taking up my time from releasing Drawing Board is that I’ve been writing another guest edition of my friend David Mertz’s XML Matters column for IBM developerWorks. The latest, SVG and the Scriptless Script went live yesterday.

My last article, on using the DOM, was something I know well and have used for years. This one was on a subject I’ve wanted to learn more about, so getting the examples all working the way I wanted was challenging, but I’m really happy with the result.

Another reason I haven’t released Drawing Board yet is that I want to put up a screencast of it in use, but there doesn’t appear to be a good solution for creating screencasts on OS X. I think I’ve got a solution for that.

Slides up

After much delay, my slides are finally up from the VanPyZ talk last week.

Using Python and Cocoa on OS X

Again I’m using Eric Meyer’s S5 tool for HTML slides, but it still ends up being a large download because it includes a completely unneccesary quicktime movie. My daughter and I have been playing with iStopMotion and this was one of our first forays into claymation.

The reason it’s in the slideshow, is that movie making is now completely accessible to an eight-year-old, and I want to writing games and other programs equally accessible to her.

Still a ways to go…

google

google

asus