The Cyclic Vacuum Cannon is a contraption that steals objects from elsewhere in time and space, then spits them out to propel itself forward and/or blast enemies. It's a concept from my sketchbook that I've been wanting to bring to life for a while, so I chose it as the inaugural project for my Code Journal.

In this episode I put the finishing touches on the Noun object by adding a hand-drawn 'puff' animation to its materialize/dematerialize sequences. Then I rig up that puff animation so that its playback and timing are controlled by the code-based tweens that are already in place. "Tween, meet your long-lost father, In-Between..."

Draw the puff animation frame-by-frame in Flash

Code up the puff animation and control its playback by piggybacking the tweens we're already using to materialize and dematerialize the Noun

Create a system that spawns and destroys Nouns automatically in a little cloud in the center of the screen

Load up Underscorejs because I'll be using the library extensively moving forward

In this episode I break a concept drawing of the cannon into its constituent parts, take a first crack at naming them, and think out loud about their responsibilities & relationships. Starting a project this way helps me get a better understanding of what I'm in for, and decide where to start building.

##Coming up next...##

In the next episode I'll draw a 'puff' animation and bind it directly to the materialize/dematerialize tweens. I'll also be creating a automated cloud of Nouns that are winking in and out of existence. Gonna be fun!

##About Presstube Code Journal##

I love watching people work. It's one of my favorite ways to learn. In case there's anyone out there who feels the same way I've decided to start a code journal where I step through the creation of projects from their pre-code planning phase, all the way through to their finished form.

I plan to release each journal entry as a short, 10-15 minute screencast, each of which will correspond to a git branch so you can follow along, and/or take off in your own direction.

I have several groups of people in mind while making this journal:

Like-minded curious folk, coders and non-coders alike, who might find it interesting to peer over someone else's shoulder while they make something weird and personal.

People who are a lot better at this stuff than I am who might get a chuckle or a sigh out of the clunky way I'm doing something and point me in the right direction on how to improve. Suggestions & critique will be incorporated into future entries. Pass that tasty knowledge juice on!

People who are new to programming and might like to be exposed to some fun, deliberately impractical, highly visual code.