Portugal, Traveling

5 Life Lessons from a few Surf Waves in Sagres

Surf Buddies

Great adventures build great friendships! (photo by some dude)

Was I always this scared? I remember roller skating down a massive hill in my home town and dodging cars when I was a kid. I remember falling off a high speed sleigh with my cousin, being dragged a few meters down from the impact and then laughing at each other with our noses filled with dirt and snow. When did I become so comfortable, that I found being safe is better than being alive? I’m not talking about putting yourself into dangerous situations, but about getting out of your comfort zone, pushing at your own boundaries a little at a time.

I’ve wanted to try surfing since watching Stoked on Cartoon Network as a kid. The Black Sea in Romania was always a great escape as a child, but it didn’t have surfing. Also, we could only afford to spend two weeks per year in its presence. After moving to England even swimming in the ocean became a challenge, since the water was so cold. I remember a freezing and tiring surf class in Bournemouth a few years back. It did, however, plant a seed of joy that I wanted to return to one day. This summer, that seed finally came out of the ground. I decided to change my strategy and go to a warmer climate to properly try out this seemingly unattainable sport.

Tonel Beach

Tonel Beach, Sagres, Portugal

I chose Sagres in the wild Algarve region of Portugal, at the recommendation of a friend (thanks Ingrid!). I went alone, not knowing what to expect except a lot of paddling, falling in the waves and hopefully standing on the board. The surf camp I went to was Wavesensations, with chief surf dude Nelson Silva. All the instructors there seemed super chilled, with a few teaching surfing as a passion summer job. They even had a surf dog that hates water, named Joao, but who is great at giving energy cuddles!

Bordeira Beach

Bordeira Beach, north of Sagres

Surfing Buddies

Surfing buddies from France, Switzerland, Spain and England.

The Longboard Van

Nelson getting the boards down from the rockin’ surf van.

Margaux and Joao

Joao giving Margaux (surfing buddy) an energy cuddle (photo by Ian)

I could talk about the beautiful beaches, the hippie town of Sagres, the friendships I’ve made, the freedom (and fear!) I felt in the ocean or even the joy of listening to rock songs on our way to the beach. I decided to choose 5 life lessons that all of those experiences taught me about being human. Surfing is not only beautiful due to its apparent simplicity, but because it is a metaphor for life. So here goes.

 

1. At the root we just want to be kids again

Kids are fearless because they don’t know they have boundaries. They walk full speed ahead in front of a monster wave and smile. They get their first pair of arm floats and paddle to the deepest part of the pool. As we grow older, society teaches us to be cautious and we lose some of that childlike courage. Surfing is a sport that revives our fearless inner child. It teaches letting go and enjoying the ride on the back of a friendly giant, the wave. It also makes us curious about the ocean, its rhythms, tides and winds. So I can say I experienced ocean science hands on and was a child of the waves for a little while.

Surf Babies

Surf babies at Tonel beach braving the waves.

 

2. Great adventures build great friendships

Being vulnerable with someone is the best bonding experience you can have on your adventures. Sure, at the beginning, everyone tries to seem cool and in control, but the ocean is so unpredictable that you have no choice but to be honest. ‘The waves look scary.’, ‘I hope we don’t hit those rocks.’ and ‘It feels like I’m in a washing machine.’ were things me and my surfing buddies passed around. These words and our shared experience of battling the waves and sometimes standing on their crests, spurred friendships that will be remembered forever.

Fun times with my surf buddies

Don’t forget to chill with your new friends in the evening! (Photo by some dude)

 

3. How you deal with the waves is how you deal with life

After 5 years of doctorate I must admit my confidence has decreased more than it has increased. And since our outwards behaviour is deeply linked with what’s going on inside, this was the first observation I got from my instructor, ‘Be a bit more confident about what you want.’ Wow, he nailed it on the head there! I realized I had no idea of what I was looking at when seeing a wave. I was also passive, saying, ‘Nah, maybe the next one.’ But this is exactly how we treat opportunities in life! They come in waves and we don’t even try to pursue them!

Once I managed to stand on the board, the next pointer was, ‘Why do you jump so soon?’. Instead of doing my best to balance on the board and take the bumpy ride, I preferred jumping off, just in case it doesn’t work out. This is so much like the fear of failure we experience in life! The scary thing is not taking the opportunity, but sticking with it for as long as the ride lasts.

Vehicles for Opportunities

Wavesensations 8 foot longboards or vehicles for opportunities!

 

4. Hesitation makes you sink

Surfing is about the (technical) details more than it is about your strength. Every wave is different, your weight will never be in the exact same place and even the tiniest forward tilt in your board can result in a nose dive. A split second of hesitation is very likely to result in just another wipeout. But if that moment is used to rebalance, to move forward with confidence, you’ll be standing in no time!

This is a metaphor for so many life experiences! Just like Peter, when he hesitated while walking on the water towards Christ, we find ourselves sinking in our doubts. In improv theatre if your body wants to move it means you should have moved already! If you don’t jump on stage, the moment passes and a new scene needs to be built. In life, we let moments of hesitation deny us meaningful journeys. Have you never regretted not asking for that phone number from your crush before catching the bus?

Me acting cool

Make sure you don’t sink ūüėõ

 

5. Be a pillar of strength so that others may grow

I’ve always liked learning. A lot of my passion for knowledge came from inspiring teachers who love what they do. We were lucky enough to have one of those teachers for our surf classes. Nelson didn’t give us time to be afraid and reassured us when we looked anxious. ‘All good?’ he used to say to wake us up from our thoughts. He put us between himself and the waves, although it was risky for him, but safer for us. If you teach, be more like Nelson! If you don’t teach, love what you do and others will follow!

Nelson the man, the legend

Nelson, our very cool surf instructor.

So next time you’ve had too much office time, remember life should be more outdoors than indoors. Nature is our natural element as human beings. Travel, meet people, surf some waves if you get the chance! See what they teach you about your own life. Don’t forget to take it all in at your own pace and enjoy the ride, wherever it may take you!

Bye Bye Tonel Beach

Bye bye Tonel beach, you beauty!

Standard
My Little Adventures, Poetry

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
Animation, Character Essences, Research & Coding

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
Chasing the Light, Chasing the Light Poetry, Poetry

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
Chasing the Light Poetry, Poetry

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
Acting & Improv, Research & Coding, Research & Play

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!

MinivacuumShoesFlowerShapedFlowerpotBadAirSmasherSmartRopeEDangeredSnifferFreshLifeBalancerBoaCleaner

Standard
Character Essences, Research & Coding

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.

RobinComponents

Robin geometric prototype model

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.

  • The Head
    • 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
RobinCTRL

RobinCTRL circle is at the base of the character. These are its attributes.

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:

Where R is the rotation angle, A is the amplitude, S is the speed and 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

RobinGUI

Plugin GUI

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
    • Head controls the shaking and nodding of the head
    • 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
def createNodHeadAnimation():
    robinCtrl = cmds.select('RobinCTRL', r=True)
    getAnimationStart()
    getAnimationEnd()
    getNodHeadFrames()
    getNodHeadAmplitude()  
    getNodHeadSpeed()     
    flip = 1
            
    for i in range(animationStart, animationEnd, nodHeadFrames):
        if mirrorNodHead:
            flip = -flip    
        
        for j in range(0, nodHeadFrames, 1):
            if (i+j < animationEnd):
                teta = j*pi/nodHeadFrames            
                headRotation = flip * nodHeadAmplitude * math.sin(nodHeadSpeed * teta) 
                        
                if headRotation > 90.0:
                    headRotation = 90.0
                cmds.setAttr('RobinCTRL.NodHead', headRotation)
                cmds.setKeyframe('RobinCTRL', attribute='NodHead', t=i+j )  
            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¬†¬†angle, which controls the point on the sine wave we’re currently at, goes from 0 to ¬†in¬†nodHeadFrames¬†steps. This is the parameter set by the¬†getNodHeadFrames() method.¬†The 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