Dustin G Dustin G

Dos Alas Studios GIFs

Procreate Dreams is king!

Animated a few gifs for our website’s sections. We are in fact working on building an arts education program for neurodivergent folx.

God bless Procreate Dreams 2.0 as it has beckon itself as GOD TIER amongst mortals as probably one of my favorite animation programs ever made. (Maybe we’ll make a tutorial video someday :) Enjoy!

Read More

Grandma's Room

Made a GIF for the design of the next room for the game. Wanted to maintain the zine aesthetic for our concept whilst coming up with interesting ways to invent an interactive room. I’ve already set in place the objects for programming, now we just need to put it all together. Hopefully it all works!

Read More
Dustin G Dustin G

7aX Jingle

Been doing a lot of practice with coding expressions on good ol’ After Effects. We originally made this strange abstract series of glyphs to brush up our graffiti inspired lettering to brush up on Illustrator.

Relatively straight forward to put together. That color palette tho…yeeyuh!

Here’s the final animated piece, we even added a little jingle you can listen to in full below!

7AX JINGLE
Zeenager

I always get giddy when I can make music for my visuals, especially when I can stack different synths together for additional atmosphere in the soundscape.

A gander at the original sketch. Lots of additional shapes and 3Dz. Penciling sharp keeps it fun and satisfying.

For those of you curious about how the “floaty” feel of the animation was built, here’s a peek at the exact After Effects expressions I used for each motion parameter scale, position, and rotation. You can open each section below to see the code that controls the bounce, ease, and drift in the design.

📈 Scale — Overshoot then settle

Paste on: Scale • Requires: 2 keyframes (0% → 100%)

// 120% overshoot, damped back to 100%
amp=0.20; freq=3; decay=4;
if (numKeys>1){
  t=time-key(2).time;
  if (t>0){
    delta=valueAtTime(key(2).time)-valueAtTime(key(1).time);
    value + delta*(amp*Math.sin(2*Math.PI*freq*t)/Math.exp(decay*t));
  } else value;
}else value;
🎯 Position — Rise & bounce into place

Paste on: Position • Requires: 2 keyframes (off-screen → final)

// Soft bounce settle
n=3; amp=.05; freq=4; decay=4;
t=time-key(2).time;
t>0
  ? value+(valueAtTime(key(2).time)-valueAtTime(key(1).time))
      *amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t)
  : value;
🌀 Rotation — 3 eased spins during scale-up

Paste on: Rotation (or Z Rotation) • Driven by: Scale keyframe window

// 3 smooth rotations while scaling up
s=transform.scale;
if (s.numKeys>=2){
  k1=s.key(1).time; k2=s.key(2).time;
  revs=3; start=valueAtTime(k1); end=start+revs*360;
  timek2 ? end : easeInOut(time,k1,k2,start,end);
}else value;
🌀 Rotation — Floaty loop after scale finishes

Paste on: Rotation (or Z Rotation) • Trigger: after last Scale key

// Gentle float after scaling completes
s=transform.scale;
if (s.numKeys>=2){
  end=s.key(s.numKeys).time; base=valueAtTime(end);
  if (time
Read More
animation, tucker toon Dustin G animation, tucker toon Dustin G

Tucker Animation

Been a while since we animated…

What better fella to cartoon to life than Tucker Toon?

Read More
animation, pais Dustin G animation, pais Dustin G

Paiz Animation

Another animation of an angry Cuban.

Read More
A lonely duck waits for your subscription
A lonely duck waits for your subscription. Get updates, and exclusive content on my newsletter!