Stuff I made

Things I’ve made – music I’ve composed, photos I’ve taken, animation I’ve made, stories I’ve written, etc.

You spin me right round, AAAAA, right round…

Welcome to what was 18 to 24 June 2017. Scene 2 has begun in earnest. This scene establishes level of general silliness.

AAAAA runs past a mild-mannered cube with such force that the cube gets violently lathed into a pyramid. The pyramid is roused from its dizziness by a pyramid worshipper that’s arrived from nowhere. The pyramid does not know what to think about this.

Here’s the first attempt:

This pyramid has so many questions…

It’s a beginning, but there’s definitely room for improvement. (Mainly I’m thinking “How would this scene unfold if Terry Gilliam were directing it?”)

The little worshipper doesn’t instantly read as a worshipper. The audience needs to be able to recognise the character instantly for the shot to work because everything happens so quickly. I showed it to a workmate and they confused the worshipper for AAAAA himself!

To fix this, I’m going to switch the stick figure out for a small group of monk-like characters instead. Monks are obviously there to worship something, moreso if they have little pyramids on their robes and if they’re wearing pyramid hats so it’s obvious that they’re pyramid monks. Sound will definitely help with making the gag work too.

Meanwhile, the day job is ramping up again for an emergency project and I just took delivery of four DIY synthesiser kits from Befaco which I’m itching to put together. If I still deliver this shot despite all that, I’d consider that quite the win!

If you’ve got any other feedback on this shot, please do me the honour of leaving a comment. 🙂

The rules of the game

It’s been 11 to 17 June 2017. It’s been a soldering-heavy week! In fact, I burnt my finger doing some soldering last night so typing is an annoyance.

But here all the same is shot 1 of the new short in all its goofy glory.

There he goes. A high-powered prototype never intended for mass production.

Here’s my draft “constitution” for this project:

The basics

  • The goal is to produce a comedic narrative animated short.
  • The narrative commences with a vaguely A-shaped creature (the AAAAA) going AAAAAAAAAAAAAAAA while running.
  • The narrative shall be constructed of reactions and consequences of AAAAA running around going AAAAAAAAAAAAAAA.
    • AAAAA’s running/going AAAAAAAAAAAAA should not be explained or rationalised. It is not something mundane like a prickle in his foot. AAAAA does not stop running or going AAAAAAAAAAAAAA because it is AAAAA’s intent to do it as long as AAAAA can. Think of it as an endurance exercise that AAAAA is the champion of the universe at.
  • The project begins on the weekend of WA Day and ends on the Queens Birthday weekend (2 October).
  • The expected running time is.. not very long. Three minutes would probably be pushing it considering someone will be going AAAAAAAAAA although who knows what that could precipitate.
  • This project is intended as a learning experience and ultimately a stepping stone towards finishing larger more complex projects.

Production stipulations

  • The film is to be produced from start to finish in running order, aside from titles which are fine to put in during post-production.
  • Music and sound can also be retouched in post-production.
  • The narrative shall be entirely improvised during production:
    • Planning ahead before the current scene is completed is forbidden.
    • Planning ahead further than one scene is utterly forbidden.
  • Any attempt to brainstorm in advance how the movie ends before the actual final scene begins its planning phase will result in the instant forfeit and blacklist of that idea.
    • The blacklisted conclusions currently include a resolution where the AAAAA trips over, notices their group of followers, encourages them to continue after him like some sort of single file AAAAArmy.
  • Absolutely no 2D animatics – this is explicitly not that kind of project.
  • Limit the use of planning tools like storyboards except where they do double-duty as character and scenery design.
  • Going back and redoing footage is forbidden except to fix technical errors which cannot be fixed at composite time (animation glitches, etc).
  • Scenes should be simple enough to complete in two weeks alongside rest and relaxation, etc.
    • Time spent should be logged.
    • Late nights are strongly discouraged even on weekends.
    • Production pace can be slowed in case of mitigating factors like injury, fatigue, day job being extra-demanding, etc.

Scene guidelines

  • Scenes should contain no more than three shots – action, reaction, another reaction. Hopfrog‘s minimalism is a good guide here.
  • As per all narrative movies, scenes should continue on from one another logically. Scenes may refer to previous scenes.
  • Each new scene should introduce a new place, character and/or action.
  • Any single scene should present a single idea or gag. Scenes can carry ideas and gags from previous scenes but only secondary to the scene’s own gag.
  • Each scene should also contain a surprise.
  • The film will contain no dialogue or written material. Where words are expected to appear visually, e.g. the title of a book, a nonsense script should be substituted. Where dialogue would be expected, substitute lively gibberish or suitable sound effects.

Design and tone guidelines

  • The general tone should be giddy and fun, for kids of all ages. This is a happy place.
  • Given that this is a sweet and merry little refuge, it’s fine for characters to disapprove of AAAAA but it’s not fine for them to get furiously angry or terribly sad or agonisingly hurt. The standard-issue supporting character is friendly and calm and approachable.
    • Sad characters are ok but cheer them up!
  • It’s fine for the humour to be a little bit naughty but not outright rude. Again, consult Hopfrog.
  • Characters/scenery should be unlikely in some way or another.
  • Keep the designs colourful and fun to look at, and don’t make them too detailed. Go easy on stuff like greebles and cracks.
  • No need to do everything in geo! Non-pixellated textures are fine but keep the surfaces simple.
  • At least one character has to have fur at some point.
  • Design-wise, sharp angles are fine this time but tend towards roundness. Try for a general stumpiness, stockiness and broadness in the proportions of the designs. Allow for some contrast too.

Technical guidelines

 

  • If Eevee gets production-ready, use Eevee. Otherwise, use Cycles.
  • Using DASYRAC for the sound and music is strongly encouraged. There is no explicit budget for extra Eurorack modules though.
  • Use of third party time-and-effort saving plug-ins (e.g. automatic rigging systems) and other resources is absolutely mandatory. Use them! They good!

That’s it for now, so thanks for reading and I hope to see you with something new next week!

 

With the cold comes a small green shouty thing

It’s been 4 to 10 June 2017. Things have turned chilly here. We were forecast for 9 degrees overnight on Friday morning and got 1.6C instead because the rain we were expecting didn’t pan out. Brrr! Still, Perth winters are pretty bearable once the overnight cold goes away. Like the sound of 25 degree fine winter days? Perth has you covered.[1]

Perth: Where winter typically only happens at night. (Source: bom.gov.au)

Meanwhile, the new movie project has something to look at. Last weekend was a three dayer so I rigged the title character and sketched out some animation. Here’s “Take 1” of shot 01, featuring the central anarchist of the piece:

 

Best title shot ever?

It’s promising but a long way from where I want it to be. I wonder if it all goes by a little bit too quick, not letting the character’s weird/cheeky nature shine through enough. There’s some undeniably good stuff in there too – the goofy run at the end feels spot on. Then there’s points of ambivalence – maybe the zippier pacing is what I should aim for? And should I stick with the snappy stepped animation?

I’ve got some of my own notes to work through and I’ll see where I end up by the end of next week. But what do YOU think, dear reader? 🙂

[1] Of course the flipside of this year-round sunny weather is being short on water. The Water Corporation both desalinates the Indian Ocean and recycles our sewage into drinkable water because there’s nowhere near enough rain to fill our dams anymore. Yay.

AAAAAAAAAAAAAAAAAAAAAAA

It’s been to 28 May to 3 June 2017.

Gag writing AMITS over the week has given me a bit of fun material to work with, but it feels too much like I’m stalled again. I’ve given the project a month and it’s in a far better place now, but I’m getting bored with it again and I want to work on something a bit more spontaneous.

So I’m starting another interim project this weekend and giving myself until the first weekend of October to finish it off. It’s another step along from the abstract freeform happy times of RYGCBMK◯ towards the more structured story of AMITS.

Just like RYGCBMK◯ there’s a set of rules for me to follow, key among which is that I am to make all of it up as I go along, scene by scene. No planning ahead is allowed. If I try to work out an ending in advance, I’m instantly barred from actually using it.

Felix Colgrave wrote “straight ahead” and got the amazing short Double King, so I figure it’s worth a try.

Happy Pointy saves the day

It’s been 21 to 27 May 2017. National Reconciliation Week has just begun here in Australia. Most of my week was taken up with synthesiser-building. The last three nights I’ve been burning the midnight oil building and troubleshooting a Bastl Instruments Noise Squared. It’s all working now and I feel very accomplished. 🙂

http://www.dzsc.com/icstock/uploadfile/200913102222986.jpg

A pin diagram of the MCP6002 linear op amp. Not shown: capriciousness.

AMITS is showing signs of life too! It’s helping a lot that I’m much less uptight about whether it’s going to turn out “good” anymore. RYGCBMK◯ has been useful for that: there hasn’t been much in the way of interest and that takes the mental pressure off. The positive reactions I got from RYGCBMK◯ have encouraged me to tap some of that same merry energy for AMITS. I feel like it’s better for me to just have fun with this and get that fun up on screen.

I drafted a new story pass in note form last Sunday and it’s looking promising! Pointy’s upbeat personality is so much nicer to work with than his previous stupid/mean incarnations. His new attitude means the story flows more straightforwardly, the pace is swifter, the energy level is higher, the humour is spread across both action and dialogue… it’s a good start!

The middle section of the movie sees Pointy meeting a “laser robot”. Pointy’s nerdy excitement for all things laserly and robotic becomes disappointment as the robot turns out to be a malfunctioning dud. Accordingly, I’ve been coming up with unimpressive stuff for the robot to do all week. The ideas so far are unusable, but that’s ok – experience has taught me that usable ideas come from unusable ideas and I just have to keep pushing through it patiently without falling in love with any single gag too much.

The goal here is to create a large pool of ideas then select the ideas which fit together the best while maintaining the tone I want. Having a solid grasp of the movie’s tone removes a major source of indecision for me, and indecision is a big part of why this isn’t done yet.

https://3.bp.blogspot.com/-7gEBJ61HvAA/UT5MiCcB6qI/AAAAAAAAAjw/-I79_poRUis/s1600/DSC_0168.JPG

Here is the metaphorical pool of ideas I am trying to create. Starfish pattern optional.

That’s all for now. Time to catch up on the last of the soldering before the next salvo of Eurorack kits get here…

Same Sun, different Pointy

It’s been 30 April to 6 May 2017 and A moment in the Sun: Robot is back in development again.

I drafted a new synopsis this week with a fresh take on Pointy as an utter geek for robots as long as they have lasers. I like this new arrangement of two upbeat characters in a situation as opposed to an upbeat character versus a grumpy character.

If Pointy’s seeking out Gronky for his cool robots, as opposed to wandering through the desert aimlessly, there’s much less to introduce and set up, which means the pace is sped up considerably and there’s less movie to make. It also fits together more organically as a story – Gronky’s job of burying stuff in the desert stays the same and even has some relevance to why Pointy meets up with him.

Not much else to cover this week – the day job has been super-draining – so please enjoy this Australian comedy sketch featuring cult favourite Milo Kerrigan (played by Shaun Micallef) attempting to cook a chicken and destroying both the set and the script in the process.

How now, RYGCBMK◯w?

It’s been 16 to 22 April 2017.

I spent Sunday doing the last chunks of animation, including the new snake intro,  and Monday was almost all sound mixing trying to get things at a nice level. Then it was done: RYGCBMK◯ appeared on the Internet around 5:35pm Western Australian time (11:30 UTC) on Easter Monday.

Well, sort of done. Now I make an effort to at least try to connect RYGCBMK◯ to its potential audience with a bit of promotion. It would help if I knew where that audience was and to have a clearer idea of who they are (some of them are probably stoners if I’m honest), but this is something I made for myself. I didn’t start out with an audience in mind, just a yen for something happy and playful. Any broader audience was an afterthought.

Ringsnek says hi.

This stage of the creative process – promotion, marketing, etc – is where I’ve got the most to learn, and it’s where my own projects often grind to a halt. Truth is, I’m beyond my comfort zone tapping a series of people on the shoulder to say “excuse me but I made a thing and could you well um watch it perhaps?”. It brings up all these artistic insecurities and related questions. Does it show that it’s newbie work, or will people enjoy it for its happy simplicity and not care? Do I stay matter-of-fact with the write-ups on the project or do something more playful? Should I re-render it and get a DCP done and try for something like MIAF or Punto Y Raya, or should I wait until I’ve created something more polished? Should I use the shots as Animation Nodes tutorials in order to build up some creator awareness, and if so what can I cover that hasn’t already been covered by someone else?

Lots of questions, then. But what about the elephant in the room? When will I be back on the Pointy and Gronky short?

The closest answer I can manage is “probably soon”. I’m midway through a break from my day job until the beginning of May. I’ve finally got the opportunity to relax and unwind and recharge and even creatively potter around for a bit instead of focussing my efforts on a bigger project which is many months away from being completed. So yeah, “probably soon” is the most certain I can be about AMITS right now. 🙂

RYGCBMK◯ is released!

My little two-minute serve of abstract rhythmic procedural animation is available for all to see! Yay!

You can watch it above on YouTube, download it off Vimeo (CC-BY licence) or listen to the soundtrack on SoundCloud.

If you’ve got Blender 2.78 (even the current 2.78 nightly at the time of writing) with the Animation Nodes plugin, you can download this zip file full of shots to play with. There are even some shots in there which didn’t make the cut.

The final shot running order is as follows:

  • quollism ident: combination of 050, 264 and 452
  • morse code: 120
  • ball snake: 471
  • ring snake: 472
  • doughnut wave: 454
  • braille fireflies: 431
  • bouncy dot: 450
  • do-si-do spheres: 020
  • infinity looper: 470
  • purple attractor: 453
  • rainbow sine balls: 070
  • flippy pink doughnuts: 051
  • grooving amoeba: 060
  • splitting rainbow ball: 170
  • hexagonal echoed rings: 140
  • metaball pipe: 160
  • cool abstract bubbles: 181
  • weird stripy thing: 171
  • grooving bubble tank: 180
  • ring with lasers: 200
  • keke spheres: 220
  • happy bubble snake: 210
  • multicoloured ring explosions: 250
  • spinning mandala: 260
  • travelling mandala: 261
  • receding mandala: 263
  • approaching mandala: 262
  • fake oscilloscope: 264
  • alchemical symbols: 280
  • scribble ball: 270
  • rainbow ring: 290
  • rave curves: 320
  • heartbeat: 300
  • balls on wires: 330
  • random object sine: 331
  • migrating acid eggs: 371
  • jelly boomerangs: 380
  • galaxy: 350
  • ballswarm argument: 370
  • three pulsing objects: 400
  • ball and stick creature: 410
  • colour morphing sinewave: 402
  • neon cell: 473
  • folded circle: 420
  • line swoop: 401
  • travelling mandala: 451
  • reverse flashing rings: 430

I’m not sure what else to add at this point other than I hope my colourful little dancing spheres and toruses brighten your day. 🙂

Time can also be space

It’s been 9 to 15 April 2017. Happy Easter and if you’re in Australia, remember: bilbies not bunnies.

Squishy Mandala says “Save the bilby!”

It’s just a couple of days until RYGCBMK◯ comes out and I have just a few shots to go. Looking back at some of the earliest shots I made, they jar badly with the overall “round shapes on black” aesthetic I ended up adopting. The hand-drawn shots also jarred a bit. With the extra time afforded me by the Easter break, I’ve started replacing the most out-of-place crappy shots with nicer updated shots. The replacements often retain the original idea but re-execute it in a way that feels like it belongs with the rest of the reel.

Stills really don’t do these shots justice.

But enough about that. Let’s talk about how to do interpolation between two values in Animation Nodes.

Here’s a shot that I did last night.

Pretty sure I had one of those balls in the 1990s..

As the purple rainbow ball moves across the screen, the small ball move towards it and grow larger. The node setup that places the nodes looks like this.

Kind of went crazy with the animate nodes for Scale there..

The key to controlling movement and size is in the Animate nodes. I’m feeding the Time input of the Animate Vector node with a Distance value instead. Instead of changing a value according to how much time has gone by, I’m changing it according to  how far the “attractor” object is to a position which is pre-calculated for each ball.

If the ball is closer to (before) the calculated position than the “duration” (a minimum influence distance), the Animate node interpolates towards the “Start” input – the rainbow ball’s position, or a larger size. If the distance is greater than (after) the “duration”, the node interpolates all the way to the “End” position – the small ball’s calculated position, or a resting size.

I used the same interpolation trick to send little pulses of light down these wires, even though the start and end points are constantly moving.

Animate nodes: not just for animating!

That’s all for this week. I’ll post a mini-update on Monday with the details of where you can see the finished reel, but that’s all for now. Back to it!

Sine functions to the left of me, matrices to the right..

It’s been 2 to 8 April 2017. I got a new semi-modular synthesiser this week so I lost a couple of evenings to playing with the new toy adding to the RYG-O soundtrack.

Music is never as exciting to look at, is it?

For this week’s shots I moved away from procedural meshes and back to working with lots of duplicated objects. I made a spiral galaxy, swarms of weird little swimming eggs, swarms of psychedelic kidneys and swarms of little balls having arguments with one another.

They are strangely individual swarms of balls.

One of the useful discoveries I made this week was figuring out that I could parent objects to other objects as part of Animation Nodes. The node setup for parenting is even pretty simple.

It’s as easy as setting “parent” in the Object Attribute Output node.

I used parenting to create the galaxy shot. I started with a spiral-making loop I made on Sunday. I created three sets of spiral objects with different colours of spiral and different sizes of blob. I parented each spiral to a different empty and set the empties spinning, then parented those empties to a master empty which moved them across the screen. Initially all three spiral bits were parented to one empty, but everything rotating at the same rate was dull to look at. It helped a lot to experiment with the rotation using empties as a guide instead of having to maths it.

It’s been too long between OpenGL renders…

Also this week I found out that constant updating can be switched off. This is useful when working with thousands of duplicated objects at once. The spiral was slowing my computer down pretty badly.

Over to the swimmy eggs now. Each of the eggs swims towards the top of the screen at a randomised rate which is peculiar to that egg. Of course, when certain aquatic animals like jellyfish or octopodes propel themselves through the water, there’s a push forward then a lag as the “water” absorbs its momentum.

This is an early version of the eggs which looked a little too much like an LSD hallucination of a thousand screaming mouths.

To mimic this, I added a couple of sine functions to make things more interesting – one controls the compression and expansion of the eggs’ shape, and the other offsets to the position to make the motion speed up and slow down. The two sine functions are out of phase – they both have a period of 12 frames, but they reach their respective extremes at different points. The actual node structure that makes this possible is a bit hard to follow, but this is the node setup I used to figure out how to tweak it so that it not only fit the swimming action but the beat of the soundtrack.

This is me hiding my mess.

Here the complexity of the maths and node tree is kept away from where I have to think about it, and that’s how it should be.

Good factoring also means putting messes in their own separate node tree to make it easy to reuse them in another file.

The psychedelic kidney swarm was made possible thanks to Omar Ahmad’s excellent write-up on transformation matrices in AN. I’d wanted to get the eggs swimming in different directions, and that meant having them turn to whichever direction they were headed in. I was getting nowhere with that on Thursday night, but finding Omar’s tutorials inspired me to give it another try on Friday night. Even though I couldn’t get the kidneys to change rotation/direction mid-swim, I did manage to get them turned to face the direction that they’re swimming in a straight line.

At least they’re not screaming mouths.

Here’s a more presentable version of the swimming trick, where timeOffset (can be positive or negative) is added to the Time input of “Animate Vector” to move the kidney from A to B.

Sinewaves – is there anything they can’t do?

Finally a word about materials! I have been using randomised colours a lot in RYG-O and that means using the Object Info node’s Random output a lot. The problem is that Random only outputs a single random number and I need three (hue, saturation and value) to make an entire colour.

To turn a random number into an entire random vector, I follow the Random output with multiply, modulo and add nodes before they hit Combine HSV. Multiply stretches the incoming range by an arbitrary amount to introduce a little bit more randomness. Modulo clamps the output of multiply to a particular upper limit, effectively setting a range from 0 to the modulo amount. Add offsets that output upward and sets a minimum.

For instance, in the following node setup, my random colours will have saturation between 0.6 (add 0.6) and 0.8 (modulo 0.2 + add 0.6), and values between 0.5 (add 0.5) and 0.8 (modulo 0.3 + add 0.5).

Three random numbers from one – bargain!

The quantiseHue group does a modulo, multiply, round and divide operation to quantise any random number input to 0.0 (red), 0.166 (yellow), 0.333 (green), 0.5 (cyan), 0.667 (blue), 0.833 (magenta) or 1 (red again). That’s how I’m sticking to my assigned colours. 🙂

That’s all for this week. See you at Easter!