# The Little Surfer

Waves crash against my heart
With the strength of a hundred voices
From the deepest ocean part
Giving me strength to make bold choices.

My nimble limbs hang onto thee,
Oh smallest of all ships of man
And though you bruise and twist my knee
You take me safely to dry land.

A wave is like a thousand tales,
With many plots and twists and turns
Some raised with offshore veils,
Others bold from ground swell storms.

The captain of the ships stands strong,
With the whole sea against his chest
‘Don’t be afraid to get it wrong.’
He gives us courage when we rest.

Why do we ride the waves?
Are we worthy of their strength?
We can’t tame them, only gaze
How our spirits bind at length.

Now I sit here, on this train,
Filled with bruises, cuts and burns
But the biggest wound of all
Is leaving heaven at Sagres.

Standard

# Character Essences Begins

After a few years of improv theatre, animation research and coding I think it’s time to begin my dream project. Character Essences will combine theatre techniques of character creation with traditional and procedural animation. Drawing on character archetypes from Commedia dell’arte and the physical theatre methods of Jacque le Coque and Rudolf Laban, the main focus is to find movement parameters (constants and variables) that define well established characters.

Once the parameters of movement have been identified, they can be manipulated to create a large variety of characters procedurally. The uses include video game automated character generation, extra characters in films and autonomous robot movements. One of the goals is also to simplify movement patterns without the need for large data sets like in machine learning. My belief is that by focusing on the intrinsics, rather than the extrinsics of character movement one can better identify the corresponding building blocks.

Characters can range from simple primitive models to animals and humans. Early experiments included Expressing Emotions Through Mathematical Functions (see description HERE) for primitive models. I found that combinations of fast, sinusoidal movements can create the illusion of joy in spheres and cubes, for example. These observations are linked more to psychology and to the Heider-Simmel experiment. If human emotion can be identified in such simple entities, surely adding a recognizable shape to the character (eg. biped, quadruped) will produce more relatable experiences with the observer. Let the adventure begin!

Keywords: Archetypes, procedural animation, psychology, biomechanics, equations, theatre, characters

Standard

# The Invisible King

Light, light of the heavens above,
Where shinest thou, we are bare of love.
Light that fillest the earth,
Invisible king of wisdom, give birth
To hearts that will lead us on the path
Which shows a calling we had before wrath,

Darkness approaches but we are aflame,
Hiding our voices in the howlin rain,
Our minds bring words to search for your face,
But our hearts sculpt your likeness in the hidden place
You are forever silent but we know how you speak,
Holding the keys to the kingdom we seek.

(From Voice Mountain and Chasing the Light)

Standard

# They Speak of Truth

Christ my Lord, my love, my truth,
In my heart you are forever king,
But people try to lock your voice
In endless chains of suffering.

They speak of virtue, art and meaning,
But are afraid to speak Your name
They seek the light and softly mould their words,
And drown Thy presence in names of fame.

I ache, for I have been transformed,
Through crafts of men that seek the truth,
My friend, it is not you that brightens up the day
But thy eternal Father, who brings you youth.

So I must speak…Christ, Christ, Christ!
The sweetest Word in all the world,
I need not movement nor technique
To weep in silence at Your feet.

Standard

# World Problems: Ep.1 – Global Warming and the Magic Box Designs

“Scientists have recently determined that it takes approximately 400 repetitions to create a new synapse in the brain – unless it is done with play, in which case, it takes between 10 – 20 repetitions.” (Dr Karin Purvis)

### Motivation of World Problems Series

I’m starting Ana’s Research and Play with Episode 1 of the World Problems (WP) series. WP will have longer episodes (~15 mins) that combine ideation, design, prototyping and testing of sometimes crazy inventions. It is intended to experiment with possible solutions to help “save” the world. The approach is a playful one, rather than a worried and tense one. The reasoning is my belief that people achieve their best when fear of failure is out of the way.

The inventions that result from this series might or might not be viable. In this sense, WP presents a humble method to saving the world. My ambition is not to come up with precise inventions that will give accurate results (although they are very welcome). In my experience, having such pressures, under the constraint of limited time, leads to mediocre solutions and headaches. What I am trying to do is follow my curiosity and allowing myself to both innovate and fail (first attempt at learning).

In the best case scenario, the world will benefit from an invention. Worse case scenario, I will have brainstormed some ideas that fill people with such indignation at my nerve, that they’ll just go and make their own creations. Empathy also motivates me and it is necessary to prevent an attitude of carelessness and lack of responsibility. It is important, however, to use empathy as a driving energy rather than an energy draining one. We should all make a contribution to saving the world we live in, but it mustn’t destroy us in the process – unless it’s a sacrifice of love, but that’s a different story. Let’s begin!

### Episode 1 Summary

In this episode I come up with a few crazy designs to help save the world from global warming, by using random household items. It all starts with choosing the problem out of a list of possible world problems. I then have a warm up (of my mind, not the world) by finding different uses for household items via lateral thinking.

The Magic Box, which is often seen in clowning exercises comes into play. This leads to shotfire brainstorms from Experimental Ana, who gives up grammar for creativity. It all ends with a set of crazy invention designs (see below). One of them or a combination of up to three of them could be prototyped in the future.

### The Research

Episode 1 is linked more to brainstorming ideas, but research elements also find their way through. Please see the video description for the references used. Here are some research inspired elements from the video.

• Choosing the problem
• Motivation of play based approach
• Review of a few accidental discoveries
• Background on Lateral Thinking
• Ideation of designs
• Designing possible prototypes

### The Play

The structure of Episode 1 is linked to an improv game called Fix it MacGyver! In this game, a character called MacGyver is given a problem and three random items. He or she has to come up with a solution to fix the problem by utilizing the given items.

For example, let’s say someone’s house is on fire. MacGyver has a cat, a sandwich and a chainsaw. One solution is of course to use the cat as a scout to check if there are any survivors. The chainsaw can be used to cut through the fallen parts of the house, so that the trapped victims can be reached. Once they are out, a sandwich is provided for nutrition, while waiting for the firemen.

The idea of the game is not to “get it right”, since there are “no mistakes, just opportunities in improv” (Tina Fey). Letting your thoughts imagine the wildest solutions is very liberating because it cuts out inner criticism. What improvisers experience with this game is also linked to Julia Cameron’s theory, described in her book The Artist’s Way. She recommends evading the inner critic by free writing three pages of whatever comes to mind every morning.

My Experimental Ana from the video uses this technique of free and spontaneous thought. Censoring of ideas is kept to a minimum, giving priority to the joy of discovering where my own thoughts take me. In the paraphrased words of Keith Johnstone, one of the pillars of improv, “You must trust that your mind, God or the giant moose will tell you what to say.”

The elements of play in Episode 1 are the following:

• Defining the game guidelines (box of objects + find different uses for them)
• Magic box game linked to clowning exercise
• Lateral thinking solutions to a problem breaks patterns of thinking
• Experimental Ana uses free and spontaneous thought
• Experimental Ana uses jump and justify improv technique (say the word first and then justify its meaning)
• Creating designs with commitment

### Designs

After the research and play collaboration, seven designs emerged. These are not necessarily viable designs, but they open up a world of possibilities! Please have a look and tell me which of these designs you would like prototyped in the future!

Standard

# Robin Animator V1.0

The Robin Animator V1.0 is a Maya plugin written in python for animation prototyping. It can be used to generate basic procedural animations of little bird characters. These animations can then be exported for your games, rendered in your films or can serve as reference for more complex animations.

Motivation

The question behind this project was to see whether we can create complex bird animations using simple movement components. This can be linked to emergence theory and subsumption architecture. The former talks about how a complex system is greater than the sum of its parts, while the latter shows how apparently intelligent looking behaviour can arise from a set of simple, separate component behaviours. In other words, complex character animation CAN be the result of simple movements working together!  In our case, the component behaviours link to the way each body part moves and tend to act independently from each other.

I chose to focus on little bird characters, robins, to be more precise. The reason behind this is that I’m fascinated by how these little creatures move. Their speed seems to be in a different time frame from ours, due to their minute proportions.  After looking at robins in the real world for a while, I decided to approximate their movement with a geometric prototype model.

Geometry and Movement

The geometric body parts link to the movement components that our robin displays. The following list shows the link between the two.

• Geometry: Sphere and cone
• Movement: Shake (Rotate Y), Nod (Rotate Z)
• The Torso
• Geometry: Sphere scaled along Y axis
• Movement: Bend (Rotate Z) – Moves with Feet
• Wings
• Geometry: Flattened spheres
• Movement: Lift (Rotate X)
• Tail
• Geometry: Extruded cube
• Movement: Wag (Rotate Y), Lift (Rotate Z)
• Feet
• Geometry: Modified cubes
• Movement: Bend (Rotate Z) – Moves with Torso

The robin’s movement is controlled by the RobinCTRL, a circle at the base of the character. The added attributes inside of it (eg. Lift Tail, Wag Tail etc.) are connected to the corresponding rotation fields for each geometric component of the character. These rotation fields usually have a minimum and maximum rotation limit to avoid self-intersections.

The main rule behind the rotation of any character component is a sine wave:

$R&space;=&space;A&space;*&space;sin(S&space;*&space;\Theta)$

Where R is the rotation angle, A is the amplitude, S is the speed and $\Theta$ is the angle linked to the current frame. The amplitude and speed can be set from the graphical user interface for each character component. The current frame is usually the one being considered for the addition of a key. To better understand the process, let us have a look at the GUI and the python code behind it.

The GUI and the Code Behind It

The GUI has the following components:

• Reset Robin button
• Clears all the key frames of the animation
• Animation Start Frame
• Sets the start frame for any animation component
• Animation End Frame
• Sets the end frame for any animation component
• Component tabs
• Feet control the hopping movement
• Torso controls the bending of the torso
• Wings controls the flapping of the wings
• Tail controls the wagging and lifting of the tail

Each tab usually has fields for setting up the frames per movement, the amplitude and speed. The frames per movement refers to the number of frames necessary to perform that action once. A hop taking place over 10 frames is faster than a hop over 20 frames for example. Speed can be used to tweak this effect of course.

In the case of the Feet tab, once these settings are typed into the fields, the user can press the Hop button, which calls the following method.

#Head nodding animation
robinCtrl = cmds.select('RobinCTRL', r=True)
getAnimationStart()
getAnimationEnd()
flip = 1

for i in range(animationStart, animationEnd, nodHeadFrames):
flip = -flip

for j in range(0, nodHeadFrames, 1):
if (i+j < animationEnd):

else:
break


The RobinCTRL circle is first selected. Then the animation start and end frame values are extracted from the GUI.  Next getNodHeadFrames(), getNodHeadAmplitude(), getNodHeadSpeed() extract the frames per hop, amplitude and speed values from the GUI. The flip parameter is a boolean which decides whether the movement should be symmetric or not (ie. hopping up and down, rather than hopping up and then jumping to a down pose briskly).

The two for loops that follow travel through the frames of animation and set a keyframe at every step. The inner loop is the one that creates the individual hopping movement, while the outer loop makes sure all the frames between the start and end frames are covered. The $\Theta$ angle, which controls the point on the sine wave we’re currently at, goes from 0 to $\pi$ in nodHeadFrames steps. This is the parameter set by the getNodHeadFrames() methodThe last two lines from the inner for loop set the calculated headRotation in the NodHead field of the RobinCTRL circle controller and add a keyframe to this new value.

Similar steps can be seen in the remaining movement component tabs. Individual methods were written for each tab, but I believe they can be reduced considerably as the current code is repetitive. For future work, it would be nice to introduce techniques for creating animation sequences (eg. hop for 30 frames, stop, look around etc.). Also, saving parameter settings would be useful for recreating popular animations like flying or whatever the user enjoyed doing.

The code and Maya file are available on GitHub.

Please have a play and tell me what you think! Thank you!

Standard

# Murmur

A writing exercise done during a Bath Writers: Beyond the Margins meeting…

Someone let the cat out in the rain. Or did it leave by itself? Doing what most people at the Broken Institute could not do. The cat stepped reluctantly onto the wet grass. Its white persian fur was covered in hard dents of rain. It shivered, but stepped forward.

Soon the windows of the building were filled with faces. Porcelain faces of people wrung with regret. Their hands flattened against the glass. One red haired lady mouthed the word ‘Murmur’. She was dressed in her lavender nightgown at four in the afternoon. ‘Come back!’ she whispered.

Her eyes were swollen from the tears she had cried in the morning. But Murmur had comforted her then. The cat would come to each room, to be stroked. It would start with her, Lorelei, and then walk to each of her neighbours. From morning till dusk Murmur was the sole comforter. It would hear each sigh, and wipe even the smallest tear away. It would listen to stories of woe, of lost children, of burnt down houses or harsh words, spoken at a wrong time.

At night, Murmur would rest by the fireplace, where it could lay aside the worries of the day. But now someone had let the cat out. Or maybe it left by itself. Maybe it thought people could comfort each other. Or at least step out into the rain.

Standard