Photoshop Tool : stripToLayers.jsx

This tool complements my layersToStrip.jsx.  StripToLayers.jsx takes an existing strip and copy shifts each frame into a single series of layers.  The default number of frames is estimated by dividing width/height.  This works perfectly for frames with uniform aspect ratio.  But will need to be adjusted manually if frame aspect are non-uniform.

Code is available at :

3D Animations : Ike The Kid

Built this little animation out of three key thumbnails, and good old fashion brute force key tweaking.  I recall how exciting it was to exceed the boundaries of what I could reliably produce animation wise, at that point. 

This was suitable enough to use as one of my animation sequences to profile different compression settings.  Feet sliding was the most obvious artifact in more compressed versions.

Prototype : 2D Game

Over Christmas break, my brothers(one of which is in the industry) and nephew(who just turned 14) wanted to do some off the books game development.  The above video, steps through the features of our ripest prototype.

What's cool is how my nephew got to experience building something hacker style : Through pivoting and ad hoc problem solving. 

  And the highlights on that roadmap were:

  • Basic control and movement.  Started out with a ball and worked on getting good horizontal movement with acceleration and deceleration.  Then moved on to add jumps and fall along the y axis.
  • To fire bullets, you must first spawn them.  This lead us to discovering this prototypes funnest game element; spawning the satellite weapons.  Realizing this completely changed our mental model: Every object in the game bullets; floor and wall tiles are effectively static bullets that never move.  
  • Collision detection.  We've made many false starts with other development environments(HTML5, Game Salad, Unity..etc), and getting stuck in tiles, or completely missing tiles was always an issue with higher speed transform.  Managed to get good results by incorporating acceleration into the collision calculation, and that got us 90% of the way there.

My nephew was familiar with GameMaker, so that became the platform of choice.   And I was surprised at how articulate of a guide he was in getting me up to speed with GameMaker's inner working.  

We managed to complete about a feature per day.  So within a week and some custom code slinging, we had a fun prototype.

Mindmap : Elephant

The game development paths winds through the unknown on a continous basis.  And a core component for effectively handling the unknown requires updating one's mental model and pushing the edge of understanding. 

An old Indian parable describes how 3 blind men, holding each part of an elephant are convinced that they have 3 different animals. 

Mindmaps, in my experience, offer a holisitic and methodical approach for mapping out what's at the edge of one's understanding: They capture what you know, and perhaps more importantly, reveal the empty space of what you yet don't know.  

Below is an index to the current mental maps that guide me about the elephant:


Stop Motion : Christmas Vacation

I really loved learning things as a collective group.  

And a few years back, during Christmas break, my 10 year old nephew and brothers(software engineer and med student) spent time playing with stop motion animation.  

The best part was how my sister was genuinely stunned by what her little boy could produce(her expectations for the kid's uncles were already high<g>).  

The highs of game development, in my opinion, building more than what you think is possible as part of a collaborative effort.

TimeLapse : Hood Canal

A timelapse of a sunrise out at Hood Canal.  It was a weekend with a bunch of friends building a potato gun canon.  We manage to complete two variants:

Lazily firing potatos into the canal was fun. And I recall one of my buds managed to launch a spud out as far as 50 yards.  He pumped up the psi far beyond what the gun was specced for to manage that<g>.

Shaders : The dark side of lighting

IMHO, well crafted shaders address both how light reacts to the surface (diffuse and specular), as well as how the surface behaves absent of lighting (ambient).  Generally what happens when the ambient aspect is neglected, is that lighting flattens out to black.  

This can certainly be used as a great artistic effect, but more often than not it's unintentional.  As a result the spatial aspect of play spaces/environment becomes greatly diminished.  Players have to work harder to discern the play space, leading to visual fatigue.

WebGL Scratchpad : TriForce

Been checking out WebGL as part of my more recent Saturday Morning Project.  And as far as I can surmise, WebGL seems to be an interface that exposes GPU hardware buffers to the browser. And javascript in this context, is basically utilized to push floating-point values to vertex buffers, and shuttling them through the C(?) foreign-function interface into the GL library.

Here's the current code state of my fiddling  with a simple, bare bones WebGL context:

Here's a mindmap of my current understanding OpenGL functions and hardware registers:

There's a lot to love about the how graphics development on the web is trending.  It feels like a reset/re-invention of the industry ~10 years ago.