My Little Adventures, Poetry

Mouse in the House

Skirting boards creak at night

With scratches and nibbles aplenty,

We knock three times and hide in fright

Wondering if mice ever visit the gentry.

Tick, tock goes the clock

At one, three and four,

Tim hopes he has fit a lock

On each and every door.

With baggy eyes we fall asleep

As dawn begins to break,

When a dripping noise starts to creep,

The mouse has left us with a lake!

Flash Fiction, Short Stories, Stories

Flickering Light

Ivan sat on a wooden stool, his back curved, shivering under a wooly blanket. He stared at his reflection in the small metal box, on the desk in front of him. A microphone mimicked his posture, bending towards him. Next to it, a lightbulb waited in the shade of the room. On the other side of the box, a set of holes marked some rudimentary speakers, with a chunky red button under them saying ‘Listen’.  

A light knock made its way to Ivan’s desk, from the back of the room. Ivan half turned, his plump nose poking between the blanket rolls. 

‘Come in,’ he said in a muffled voice.

A little angel flapped in, his head hidden behind a stack of blankets. He dropped them on the floor with a joyful sigh. He resembled a child of about ten, yet was about as high as a footstool. 

‘Another cold day, sir, thought you could use a blanket. I made them myself!’ 

Feathers floated around the angel from dropping the blankets. He smiled a toothy smile. Ivan fully turned to watch the angel jumping around to catch the feathers. He let go of his own blanked and revealed a quiet grin.

‘No prayers today,’ Ivan finally said with a tint of sadness. ‘I don’t know why I volunteered for prayer duty again.’

‘Don’t be discouraged, it may take years for people to discover you.’

The angel stuffed his wings with the feathers in his hands. Ivan chuckled under his breath, then rose to get another blanket from the pile. His back bore the shape of a question mark as he shuffled towards the angel.

‘You know, you are always welcome to join us upstairs! It’s Moses’ turn to host the storytelling night. I hear he’s bringing his old staff, those two never really parted ways.’ 

‘Thank you Paulo, I’ll stay a bit longer, the reception is better on this cloud.’

  ‘As you wish, may it be blessed.’

Paulo picked up the rest of the blankets, smiled with all his might, then flapped clumsily out of the room. The door closed, while a chiming sound accompanied it. 

Ivan turned to his metal box, his expression between hope and sorrow. He stared at the lightbulb. Its deadness reminded him of his spiritual struggles on Earth. Ivan closed his eyes, remembering the grace that would fill him after such times. He prayed and waited. He wrapped the second blanket around his feeble body and sneezed from the fluff. 

Just before dozing off, his ears pricked at a buzzing sound. Ivan opened his eyes to see a slight flicker of light, pulsing against the bulb’s glass. His back straightened with anticipation. He pressed the button and listened. 

White noise, followed by dispersed words resounded through the speakers. 


The lightbulb flickered a few more times, then stopped. 

Ivan jumped out of his seat and ran out of the room. Outside, hundreds of other clouds with little wooden huts such as his, floated around a cumulonimbus. The latter shone bright with multicoloured lights and emanated a sweet fragrance in the crisp stratospheric air. Little angels were flying in and out of the cloud, delivering various items like scrolls, blankets and soup. 

‘Quick, someone is flying into a mountain, he needs help!’ Ivan shouted towards a group of angels. 

A brownian motion of cherubs fluttered and flapped into the grand cloud to deliver the message. Ivan returned to his desk. The lightbulb was now on, the flickering had disappeared.

Ivan listened.

‘St Ivan, please help my son fly his kite today. It’s our first outing in the mountains and he’s very excited. I told him he can ask you for help, but he’s still waiting for the wind to pick up. I’m not sure if his prayer got to you, so I’m sending mine just in case.’

Ivan smiled with all his heart. Someone had remembered he’s the saint of kites. 

*Thank you Timothy, for editing the piece.

Short Stories, Stories

A Swan Glides Past

3rd place at Writer’s Retreat Competition (October 2020)

Barry sat on a lichen ridden boulder on the shore of Dreamere lake. 

‘Another wasted day,’ he said to himself. 

He looked at his canvas bag, stained with acrylics and ink, round tipped brushes sticking out of it through tears in the fabric. 

‘No one buys paintings anymore. Or is it just my paintings?’ 

He stretched, his spine and legs cracking with relief all the way down to his blistered toes. Barry placed a greasy box of cod and chips gingerly in his lap. His stomach rumbled under his paisley shirt. His eyes squinted with the light of the setting sun as it descended behind blue mountain crests. Their cool hues sank into the depths of the lake as Barry’s thirsty gaze rolled over it.

He scooped some cod with a couple of groggy fingers. 

‘I should have asked for a fork,’ he thought. 

A duck glided past, with three ducklings close to her tail. Barry smiled and tried to remember if ducks liked fish. He was too hungry to share, however. 

‘Sorry mama duck,’ he pleaded, ‘this is for me.’ 

The ducklings nibbled at a small rock, covered in moss, at the brim of the lake. Their mother watched over them, keeping an eye on Barry as she swam around her babies.

‘What a gentle mother!’ Barry said with a teary eye. 

He remembered his own mother’s frown as his seven year old self stretched out a drawing of the neighbour’s cat. 

‘Anyone can draw a cat,’ she would say. ‘How is that going to get you any money?’ 

Barry bit a soggy chip. He sighed as if his whole body had been filled with air and was now deflating. It was quiet as the sun descended over the stillness of the lake. Contorted oak branches quenched their thirst on either side of the pebbled shore. 

Three yards away, a white swan glided past, as if pulled by a silk thread from one side of the lake to the other. Barry watched in awe as it swayed its neck with every gentle stroke of its webbed feet. 

‘Such beauty,’ Barry whispered, ‘look how it glides past, as life slips through my fingers.’ 

The swan stopped to look at the stars as dusk turned into night. Its eyes glistened with wonder. A pair of white wings stretched out to catch the moonlight as it seeped through the clouds. In haste, Barry wiped his oily fingers on his trousers. He rummaged through the bag, his eyes fixed on the swan. A spotted sketchbook and a soft tipped pencil emerged.

Barry managed a few strokes before the swan resumed its swim. It soon disappeared behind the oak tree branches on the side of the lake. Barry stretched to look beyond the trees, but only managed to knock over his dinner.

‘Oh no,’ he grumbled and jumped off the boulder to salvage what he could. The ducks came to the pebbly shore to investigate. 

‘It’s not for you,’ Barry dismissed them with a bitter grimace. Mama duck nibbled at the pencil, which was now oily like the hand holding it. Barry pushed the duck away.

‘Anyone can draw a duck,’ Barry scoffed. ‘You ducks all look the same anyway.’

The duck looked at Barry sideways, but didn’t seem to mind his comment. Her beak kept a subtle smile. She then waddled back towards the water, her ducklings close behind. The ducks sat in the lake, as small ripples rocked them from side to side. They watched Barry fumbling through the pebbles as he refilled his ‘Chippie’ box.

‘Come on,’ Barry sighed, ‘have some. It’s mostly muddy anyway.’ He then flung a chip in the water. The ducks rushed to peck at it. 

Barry sat on the pebbly stretch for the rest of the evening. He would fling a chip in the water from time to time and the ducks would nibble it joyfully. He looked up at the sky, his heart aflame with a silent, but desperate prayer. Doubt gnawed at him, but he kept his eyes towards the distant Heaven. The ducks came to rest at Barry’s feet as he laid a heavy head on the canvas bag. He remembered his trousers. ‘The stains will never come off,’ he grumbled. He closed his eyes and rest soon found him.

Barry dreamt the white swan had come to him. Its velvet feet pressed the pebbles into the earth as it stepped on land. It stretched out a pair of moonlit wings and flapped them with vigour. Barry felt the warmth of the swan’s breast against his cheeks. It then turned around to look at the sky, its wings still wide open. It bugled to the Heavens and other swans answered from across the lake. The waters trembled and the trees rustled with awe. With its body still facing the lake, the swan’s head turned to look at Barry. Starlight glimmered in its eyes. 

A strange hope grasped Barry’s heart as he awoke. The feeble light of the morning sun fought to open his glazed eyelids. Mama duck was just entering the water with her ducklings. Barry stretched his back and ruffled his hair, with a small smile. He then searched through his bag for the sketchbook and pencil.

‘The sunlight suits you,’ he smiled at the duck. ‘You really stayed here all night?’ The duck quaked soothingly. 

Barry lifted up the canvas bag to rummage through it better. A white feather lay on the pebbles underneath. He picked it up in wonder, but his heart was more composed than the night before. Barry sighed as if a burden had become lighter. 

‘One feather at a time,’ he whispered and started sketching the ducks. 

Formal and Polite, Poetry

Ten to Nine

To Lucy who always leaves Bath Improv drop ins at ten to nine.

Lucy, when thou art at your most fine,
You rush away at ten to nine
Bubbling baths of salts and wine,
Can’t be more tempting than the line
Which thou dost blurt out so divine
Leaving us for you to pine.

What lover awaits in the dead of night,
With palms unread for he keeps them tight
Art thou afeared you’ll cause a plight
And make him vanish from your sight?
Our ten minutes ache when your Zoom takes flight
As our once wise poems lose their might.

Research & Play, Thoughts About Life

My Teaching Philosophy

“The best way to learn is to teach.” (Richard Feynman)

I usually introduce myself as an animation researcher and storyteller. Animation is the field I am most passionate about, as it combines both art and science. Art manifests itself through drawing, sculpting, designing characters and worlds as well as storytelling, theatre and character arcs. Science combines mathematics, programming as well as elements of physics, like optics and mechanics. My teaching philosophy thus starts from a point of infinite curiosity for how the world is connected from both a rational (science) and a spiritual (art) perspective.

Arm waving

My current role is as unit leader for two units on the BSc Computer Animation and Visual Effects course at Manchester Metropolitan University. The units are 3D Character Development for Level 5 students and Character Animation Techniques for Level 6 students. Before this lecturing post, I undertook an Engineering Doctorate research role with the Centre for Digital Entertainment at The University of Bath. There my research in the field of computer animation was combined with lab tutoring in adjacent subjects. I also taught one year on the aforementioned units before becoming unit leader.

Teaching in Higher Education (HE)

To facilitate learning in higher education (HE) I believe the most important factors are to have a passion for the subjects being taught and to share knowledge adaptively, regarding students with empathy and respect for their individual traits. A passion for learning is essential for refreshing the material, encouraging multiple perspectives (Jonassen 1991) and increasing students’ retention though a plethora of resources (Black and William 2009).

Being able to adapt the information difficulty level to the audience members is a technique for improving learners’ retention (Campbell 2020). Learners’ retention can be further enhanced by the three tier model described in Sundqvist et. al (2019), where support is adapted to the students’ needs. Tier one represents general support, available to all students, followed by tier two of intensified support for smaller groups and finally tier three of special support for individuals that need more detailed explanations.

Also, by including a level of empathy in the delivery method, information becomes relevant to the individual, rather than a set of abstract concepts. This is linked to inclusive practice through understanding and getting to know students as individuals. This practice has been shown to create a sense of safety and belonging among groups of students (Hockings et al 2012). Furthermore, empathy allows the material to be made relevant to the learning orientation of each student (Entwistle and Peterson 2004), leading to a deeper understanding of the subject.

Learning Theories

An influential piece of reading for me was Illeris (2018) because it summarized the most popular learning theories from the past century. The learning theory proposed by the author also resonated well with my teaching methods. Considering content, incentive and interaction dimensions when designing and delivering a course allows me to offer a holistic learning experience. The incentive dimension has the highest priority in my opinion, followed by content and finally the interaction dimension.

Incentive comprises motivation, emotion and volition (Illeris 2018) and is linked to the “why” metaphor described by Simon Sinek (TED Talk 2010) and to the learning orientation described by Entwistle and Peterson (2004). I believe the reason why people learn is due to an inner drive, that ignites their curiosity both academically and vocationally (Entwistle and Peterson 2004). This can be linked to personal beliefs, innate talents or discovered passions and career goals. This “inner spark” then leads to content acquisition and the desire to meet learners with similar interests. Although useful to some extent, external motivators like marks and positive praise are used sparingly as this type of behaviourist approach to learning can lead to negative, competitive effects (Palmer 2005).

Regarding the content dimension, there are a few theories that influence my teaching. I relate to constructivism theories proposed by authors like Piaget (1926/1959), Jonassen (1991) and Palmer (2005) where knowledge is cumulated from previous experiences and is context, sometimes motivation driven. Before a student can reach mastery, however, cognitivism approaches (Ertmer and Newby 2013) help shape the introductory stages of knowledge (Jonassen 1991).

The method I use frequently to organize content is to find the building blocks that compose a complex piece of knowledge and to rebuild the latter using both logical scaffolding (Bruner 2002) and storytelling (narrative) methods. A data visualization pipeline, for example, can be explained through a story of a pirate using a map to look for treasure.

My teaching process usually starts with a holistic view (Pask 1988) of the broader picture, identifying patterns and analysing their component parts or building blocks. A serialist procedure (Pask 1988) then follows to further refine understanding of each component and how it fits into the overall structure of the piece of knowledge we wish to understand. Both theoretical and practical or experiential learning (Kolb 1984) are used to achieve this.

Afterwards, I like to bend the structures created by breaking and making new patterns (De Bono 1970), allowing students to view theory and practice from multiple angles (Jonassen 1991). Both lateral and vertical thinking (De Bono 1970) are thus employed to shape the knowledge concepts. The building blocks of knowledge can then be repeated in the design, delivery and assessment steps using constructive alignment techniques (Biggs and Tang, 2011) to consolidate the information.

It is important for me that students go beyond memorizing information and strive to analyse, create and find different applications for it (Bloom, 1956, Anderson 2000). Although previously learnt concepts influence the acquisition of new content (Hockings et al 2012), I also believe the brain can form new patterns due to its plasticity (Amen 2011), when employing a growth mindset.

Allowing students to reach beyond the facts and into a deeper understanding is a combination of individual motivation (Palmer 2005) and creating a safe and encouraging environment for learning. The latter implies interaction with peers and the teacher, who can influence each student’s experience, since learning is both an individual and a relational process (Murphy and Brown 2012).

Learning by Playing

A safe, inclusive environment for learning starts by viewing diversity of skills, knowledge and background as strengths (Thomas and May 2010). Each student should be given equal opportunities to express and share their opinions through diverse means (eg. text, speech, images). Some of the techniques I use to encourage students to collaborate are taken from improvised theatre (Johnstone 1999), where play is used for learning and connecting with others.

An example of an improv technique is endowment, or playing to each other’s strengths, which is great for group projects. To end, I would like to quote Dr Karin Purvis’ professional opinion on play, to show that accurate theoretical concepts, should always be combined with a fresh, personal and playful approach to knowledge:   

“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)


  • Amen, D. G. (2011). Change your brain, change your life. [Place of publication not identified], CMI/Premier Education Solutions.
  • Anderson, L W.; Krathwohl, D. R., eds. (2000). A taxonomy for learning, teaching, and assessing: A revision of Bloom’s taxonomy of educational objectives. Allyn and Bacon. 
  • Biggs, J. B., and Tang, C. S.-K. (2011). Teaching for quality learning at university: what the student does. [Philadelphia, Pa.], McGraw-Hill/Society for Research into Higher Education.
  • Black, P., Wiliam, D. (2009). Developing the theory of formative assessmentEduc Asse Eval Acc 21, 5
  • Bloom, B. S.; Engelhart, M. D.; Furst, E. J.; Hill, W. H.; Krathwohl, D. R. (1956). Taxonomy of educational objectives: The classification of educational goals. Handbook I: Cognitive domain. David McKay Company.
  • Bruner, J. (2002). Making stories: Law, literature, life. Farrar, Straus and Giroux.
  • Campbell, Anthony J. (2020). The Feynman Technique: The Best Way to Learn is to Teach. [Accessed 29/10/2020] [Link here]
  • De Bono, E. (1970). Lateral thinking: a textbook of creativity. London, Ward Lock Educational.
  • Entwistle, Noel & Peterson, Elizabeth. (2004). Conceptions of Learning and Knowledge in Higher Education: Relationships with Study Behaviour and Influences of Learning Environments. International Journal of Educational Research. 41. 407-428. 10.1016/j.ijer.2005.08.009.
  • Ertmer, P. A. and Newby, T. J. (2013). Behaviourism, cognitivism, constructivism: Comparing critical features from an instructional design perspective. Performance Improvement Quarterly, 26(2), 43-71.
  • Hadjianastasis, Marios. (2017). Learning outcomes in higher education: assumptions, positions and the views of early-career staff in the UK system. Studies in Higher Education, 42:12, 2250-2266.
  • Hockings, Christine & Brett, Paul & Terentjevs, Mat. (2012). Making a difference—inclusive learning and teaching in higher education through open educational resources. Distance Education – DISTANCE EDUC. 33. 237-252. 10.1080/01587919.2012.692066.
  • Illeris, Knud. (2018). An overview of the history of learning theory. European Journal of Education. Research, Development and Policy, 53 (2018), pp. 86-101
  • Johnstone, Keith. (1999). Impro for Storytellers, Theatresports and the Art of Making Things Happen. Published by Faber and Faber Limited.
  • Jonassen, D. H. (1991a). Evaluating constructivistic learning. Educational Technology, 31(9), 28-33.
  • Kolb, D. A. (1984). Experiential Learning: Experience as the Source of Learning and Development. Englewood Cliffs, NJ: Prentice Hall.
  • McLeod, S. A. (2020, March 20). Maslow’s hierarchy of needs. Simply Psychology.
  • Murphy, Mark. and Brown, Tony. (2012). Learning as relational: intersubjectivity and pedagogy in higher education. International Journal of Lifelong Education, 31:5, 643-654, DOI: 10.1080/02601370.2012.700648
  • Pask, G. (1988). Learning Strategies, teaching strategies and conceptual or learning style. In R. R. Schmeck (Ed.), Learning strategies and learning styles (pp. 83 – 100), New York: Plenum Press.
  • Palmer, D. (2005). A motivational view of constructivistinformed teaching. International Journal of Science Education, 27(15), 1853-1881. doi:10.1080/09500690500339654
  • Piaget, J. (1926/1959). The Psychology of Intelligence. London: Routledge & Kegan Paul.
  • Sundqvist, Christel & Björk-Åman, Camilla & Ström, K. (2019). The three-tiered support system and the special education teachers’ role in Swedish-speaking schools in Finland. European Journal of Special Needs Education. 34. 1-16. 10.1080/08856257.2019.1572094.
  • TED Talks. (2010). How Great Leaders Inspire Action | Simon Sinek. [Accessed 29/10/2020] [Link here]
  • The Harriet W. Sheridan Center for Teaching and Learning. (2019). Inclusive Teaching Through Active Learning. Brown University.
  • Thomas, L and May, H. (2010). Inclusive Learning and Teaching in Higher Education. The Higher Education Academy. 
Animation, Character Essences, Research & Coding, Research & Play

Le Quack Walker v1.0

“People’s movements can change your impression of them.” 

(Isao Takahata)




Code: This blog post is a piece of personal research and development, which is very close to my heart. I encourage you to read, experiment with the code and Maya file available on Github and reference this post if you use it in your own work.

Research: I believe academic findings should be shared beyond the borders of peer reviewed journals and this is a small attempt at achieving that. I do recognize, however, the importance of published work. The current post does not aim to replace the latter, but to supplement it with findings that stem from curiosity rather than academic rigour. 

Learn: If you wish to learn more about designing, modelling and procedurally animating simple characters, please have a look at my upcoming course, Little Creatures with a Personality on Thinkific. 



Patterns of movement, patterns of laughter, patterns of movement that make us laugh. There are many patterns that connect us, but the ones that truly matter speak the truth of our human nature. And if the truth is unique, otherwise it wouldn’t be called “the truth”, then it should have clear characteristics. There should be a code behind truthful behaviours that generate similar reactions in people, regardless of where they come from.

This project started as a question: What is it that makes ducks funny? Moreover, I wanted to know if there was a code behind the movement of a funny duck. After much thought, experimentation and scripting, I realized that the notion of funniness is too complex. Rather than attempting to understand everything at once, I chose a simple behaviour, walking, and investigated its “funny” potential. Since emotions are also seen among laughing people, they were chosen as nuances for the walking behaviour. This allowed a palette of walk cycles to be experimented with.

This report is part of the Character Essences project, which focuses on recreating believable actions using procedural animation. Actions are often hard to describe, but techniques like Laban Motion Analysis allow dividing complex behaviours into simple motions. Behaviours can thus be described and recreated as a cohesion of individual movements.

This observation is connected to emergence theory, where complex systems emerge from apparently simple rules. One example is Craig Reynolds’ flocking system (1987), where three simple rules govern the complexity of a moving flock of boids (ie. birds or fish). These rules are cohesion (boids must stick together), alignment (boids must travel in the same direction) and separation (boids mustn’t collide with each other).


Before delving into the complexity of human behaviour, I wanted to have a look at a simple creature, a duck. Ducks are funny little birds, with their wagging tails and wobbly walks. Everything about a duck feels like out of a cartoon, even its brilliantly coloured feathers and beak. So what is it that makes a duck funny? Also, can I find the simple motions which form the complex behaviour of a wobbly duck? If the answers to these questions are found, I can then recreate a duck as a procedurally animated character.

Moreover, the feeling a procedural character conveys could inspire a similar effect in an observer. In other words, if we consider a walking duck to be funny, a similar reconstruction done for a procedural duck should also be classified as funny. This could extend to more types of characteristics and behaviours, which can lead to applications in video games, films and psychology.

Procedural characters could be used in simulations and interactions with users to entertain and aid them. If the psychological effect and believability are controllable to some extent, characters can react according to the context of a scene. In a video game, for example, a procedural character can display an angry walk if a user breaks the rules or it can have a joyful jump if they haven’t seen the player in a long time. 


Firstly, let’s discuss the concept of “movement code”. I was introduced to this notion in Stephen Mottram’s puppeteering workshop, The Logic of Movement (2017). He spoke about every creature having a well defined method for moving, which is linked to their size, weight and emotion. As an example, the reason why a chicken thrusts its head forward when walking is to balance out the larger body weight left behind when taking a step.

The “movement code” is also linked to the more comprehensive Laban Motion Analysis (LMA) technique defined by Rudolf Laban and his students (2011). Laban was a movement theorist who studied and classified complex movement into a simple set of qualities. He looked at the shape of the body and space it moves in, as well as the conscious efforts humans make when performing an action.

The efforts described in LMA are weight, space, time and flow (Bishko 2014). Each effort varies between two movement qualities. Weight can vary between light and strong/heavy, space between indirect and direct, time between sudden and sustained, while flow varies between free and bound. Combinations of two qualities form states (awake, remote, stable, dream, rhythm and mobile) and three qualities form drives (action, passion, vision and spell).

By focusing on the four efforts, the question is whether these elements can form the basis of complex, emergent behaviour. In Melzer et. al (2019) basic emotions (Ekman 1992) like happiness, sadness and anger were recreated through sets of simple motions. The goal of the performing actors was to display core movements, without the knowledge of which emotion they were attempting to recreate. Participants then ranked the overall movement as emotions. The experiments showed not only that emotions can be recreated in the human body by simply repeating certain simple movements, but also that others recognise and empathize with such emotions.

The work I attempted relies on the aforementioned paper, but is not rigorous in its academic methodology. It is more of an early prototype, a hypothesis formed in the imagination, if you will. I wished to know whether similar techniques could be applied to a duck walk and whether people found the results funny. The duck walk was to be generated using mathematical functions, thus forming a repeatable movement code. 


The software used to create the Le Quack Walker V1.0 prototype was Autodesk Maya 2018. A simple 3D mesh was modelled, textured and rigged to approximate the look and mechanics of a duck’s walk. NURBS controllers parent constrained joints in the feet, spine and neck areas to allow movement of the skinned joints.


Simple duck mesh, texturing and rig prototype.

Instead of keyframing curves by hand, a Python script plugin was written to generate keyframes depending on the desired parameters (code available on Github). The GUI below shows the options the user has when running the Python script. First the Animation Start and End Frames are established, together with the Frames per Second (FPS). By default, these values are 0, 120 and 24 respectively. When generating the walk cycle, a keyframe is added automatically for all the controllers every 3 frames to help create a smooth animation.



The next values, Amplitude, Speed, Weight and Direction control the qualities of movement for the duck walk cycle. Weight and Direction are directly linked to the Laban efforts, mentioned in the Background section. Amplitude is the length of the stride, while Speed is how fast the duck goes. Unfortunately the latter parameter didn’t work out as expected and the default value of 5 that the plugin starts with is the best looking option.


Amplitude compensates for the issue with the Speed parameter, as a large stride coincides with a faster walk, since more ground is covered in the same amount of time as a smaller stride. The slider value varies between a low and a high Amplitude. This is mapped to the respective small and large step sizes. The forward translation is then calculated as a function of the amplitude and speed of the character. The side view images below show two frames from the Amplitude = 1 and Amplitude = 10 respectively. An amplitude of zero would result in no movement as the step size is 0.


Frames 1 (right) and 36 (left) of the generated walk at Amplitude = 1


Frames 1 (right) and 36 (left) of the generated walk at Amplitude = 10


A low Weight value on the available slider represents a light weight, while a high value is a strong/heavy weight. A light weight is similar to a feather floating through the air, while a heavy weight is like the sturdy step of an elephant. I added some additional bounce in the duck’s step for a lightweight animation. When the weight is heavy, the duck’s movement is closer to the ground, since it’s more affected by gravity. The side view images below show two frames from the minimum and maximum Weight values, 0 and 10 respectively. Notice the bounce in the step for the low weight value.


Two frames of the generated walk at Weight = 0


Two frames of the generated walk at Weight = 10


Direction is direct for low slider values and indirect for high values. A direct motion is converted into little or no body rotation around the vertical (Y) axis. An indirect motion has more rotation around the Y axis, as well as some supporting side to side X axis translation. The side view images below show two frames from the minimum and maximum Direction values, 0 and 10 respectively. Notice the exaggerated sway in the second image when the movement is indirect.


Two frames of the generated walk at Direction = 1


Two frames of the generated walk at Direction = 10


Once these parameters were established, the question was whether combinations of them would reveal complex behaviour. There are many ways to express behaviour and personality, but among the most common ones are emotions. Two out of the six basic emotions described by Paul Ekman (1992) were chosen, joy and sadness. Attempts were made to recreate these emotions on top of the neutral walk cycle of the duck. The neutral state was estimated at Amplitude = 5, Speed = 5, Weight = 5 and Direction = 0. 

The available parameters were mapped to the parameters suggested in Melzer et. al (2019) for recreating emotions in humans. For example, their paper mentions that joy was recognized by participants in their study when elements like lightness, jumping and rising movements were observed. These could be replicated easily with small weight value, specifically Weight = 1.

Sadness, on the other hand, was recognized in Melzer et. al (2019) as passive, sinking weight along with other parameters. A high value, Weight = 9, was used for recreating this effect. Amplitude and Direction were also experimented with, but did not offer significant results in expressing joy or sadness.

Animation Graphs and Code

Once the desired parameters are established, for example Amplitude = 5, Speed = 5, Weight = 1, Direction = 0 the Generate button is pressed in the GUI Python plugin. This activates a sequence of functions that reset controller values and extract values from the GUI fields. These values are then fed into the generateWalk() function. A snipped of this function is shown below. 

Notice that trigonometric functions like sine and cosine are used with an angle theta as a parameter. This angle increases depending on the current frame and frames per second. The Amplitude parameter influences the amplitude of the trigonometric functions, resulting in the step size. Looking at lines 4 and 5 below, the variables currentFootTranslationY and currentFootTranslationZ are the coordinates for a point moving along an ellipse.

The ellipse flattens when touching the ground, as conditioned in lines 8 to 11. The resulting curve is the trajectory for the left foot inverse kinematics (IK) handle. The joint angles for the rest of the leg are calculated automatically by Maya’s Rotate Plane IK Solver. An example of the left foot animation graphs can be seen in the first image below.

The spine translation along the Y axis factors in the inverse Weight parameter. The sine wave graph that results shifts between higher and lower average values depending on whether the Weight is low or high respectively. An example of the Translate Y animation graph for a low Weight value can be seen in the second image below.

Notice that the maximum value is 1.5, while the minimum value is -0.5. This translates visually to the character bouncing up more than it gravitates towards the ground. Finally, in the third image you can see the animation graph for the Rotate Z values for the spine, which is directly proportional to the Rotate Y variable. The latter is the side to side movement of the spine, given by a cosine function.    

rotationAmplitude = amplitude * extraAmpFactor
currentLeftFootTranslationX = (amplitude / 3.0) * weight * math.fabs(math.sin(0.5 * teta))
currentRightFootTranslationX = currentLeftFootTranslationX - amplitude                
currentFootTranslationY = -amplitude * math.sin(teta) / asq
currentFootTranslationZ = amplitude * math.cos(teta) / bsq
currentLeftFootRotationX = -rotationAmplitude * math.sin(teta) / 2.0

if (currentFootTranslationY < 0):
    currentFootTranslationY = 0
if (currentLeftFootRotationX < 0):
    currentLeftFootRotationX = 0  
currentLeftToeTranslationY = -currentFootTranslationY / asq
currentLeftFootTranslationZ = currentLeftToeTranslationY / asq                           
currentSpineTranslationX = currentLeftFootTranslationX - amplitude / 2.0                
currentSpineTranslationY = (weightCosValue / 2.0) + invWeight * math.sin(2 * teta) / asq 
currentSpineRotationY = -weight * rotationAmplitude * math.cos(teta)
currentSpineRotationZ = currentSpineRotationY / 3.0
currentTailRotationY = currentSpineRotationY / 2.0
#Assign values to controllers


Fourteen combinations of low and high parameter values for Amplitude, Weights and Direction were made. The resulting animations were playblasted out of Autodesk Maya and uploaded as private videos on Youtube. These videos were then inserted into a Google Forms survey with thirty questions.

At the start and end of the survey, participants were asked how happy they were. This was to check whether the duck animations had any effect on the overall state of the observers. At the start, 73.5% of the participants were above 5 on a scale from 1 (not happy) to 10 (super happy). At the end, 79.4% of the participants were above 5. Although the change is not significant, it does show a tendency towards a more cheerful disposition after watching procedurally animated ducks.   

For each of the fourteen videos, participants were asked to name the emotion they thought the video expressed, with Happy, Sad, Angry, Fearful, Disgusted, Neutral and Other as potential answers. They were then asked whether the duck in the video was funny.

Thirty four participants answered the questionnaire anonymously. The most successful question was the one for video four (Amplitude = 5, Speed = 5, Weight = 1, Direction = 0). Over 90% of the participants recognized the light Weight animation as a Happy movement. In the graph below Excited was classified as Happy.

94% of the participants also found this animation as funny, with a score of 5 or above, where 1 is not funny, while 10 is super funny. 61% of participants gave a score of 7 or above to the same question. This result repeated itself for both the emotion and the degree of funniness for duck 12 (Amplitude = 7, Speed = 5, Weight = 1, Direction = 5), but to a lesser degree. About 67% of participants found the duck Happy, while over 85% said the duck was funny.

Duck 4 walk cycle results

Sadness and fear were often found at similar percentages of influence. For example, video thirteen (Amplitude = 3, Speed = 5, Weight = 9, Direction = 0) was classified as Sad by 38% of the participants, while 41.2% classified it as Fear. This was triggered by a high weight while walking, with the respective parameter Weight = 9. This observation is backed up by the sinking motion described by Melzer et al (2019) when defining sadness.

It is worth noting that Amplitude has an influence in the results. Videos five and thirteen both had Weight = 9, but only the latter was classified as sad and fearful. Amplitude = 5 for video five, while Amplitude = 3 for video thirteen. This might be linked to the enclosing behaviour recognized in fear and passive weight specific to sadness (Melzer et. al 2019).

Discussion and Conclusion

This report illustrated the creation of a procedural walk cycle for a duck character with the option of varying the movement style through a set of parameters (Amplitude, Weight and Direction). Two of these parameters, Weight and Direction, are linked to Laban’s efforts of movement. In specific combinations, Laban’s efforts have been shown to convey emotions. Thus the duck walk cycles can be nuanced through such emotions.

The survey results were conclusive only for the expression of joy, with sadness coming second. The most indicative parameter of such emotions was Weight. Low weights have been found to illustrate happiness, while high weights are more representative of sadness. These results are similar to the characteristics given to such emotions in a study on human movement and the link to emotions (Melzer et. al 2019). Moreover, people were more prone to find a duck funny when it was displaying a happy walk cycle.

More work is needed, however, to further understand the mechanics of stylized walk cycles, the emergent theories behind emotions and what comprises a funny behaviour. In the future, comparisons can be done with similar techniques from the field of physics simulations or machine learning algorithms, rather than purely mathematical procedural animation.

It must be said, however, that this report shows how simple movements have the potential to convey complex behaviours. Along with emergent theories, procedural animation could unlock nature’s hidden patterns of movement using the simplest of tools. In other words, we are slightly closer to discovering the “movement code” of a duck, which opens possibilities for other, more complicated beings, maybe even humans.


  • Bishko, L. 2014. Animation Principles and Laban Movement Analysis: Movement Frameworks for Creating Empathic Character Performances. Research Showcase at Carnegie Mellon University: Nonverbal Communication in Virtual Worlds: Understanding and Designing Expressive Characters.
  • Ekman, P. (1992). An argument for basic emotionsCognition and Emotion, 6(3-4), 169–200. [Link here]
  • Laban, R., Ullmann, L. (2011). The Mastery of Movement, Fourth Edition. A Dance Books Publication.
  • Melzer Ayelet, Shafir Tal, Tsachor Rachelle Palnick. (2019). How Do We Recognize Emotion From Movement? Specific Motor Components Contribute to the Recognition of Each Emotion. Frontiers in Psychology, Volume 10, 2019, Pages 1389, DOI=10.3389/fpsyg.2019.01389, ISSN=1664-1078 [Link here]
  • Reynolds, Craig W. (1987). Flocks, herds and schools: A distributed behavioral model. SIGGRAPH Comput. Graph. 21, 4 (July 1987), 25–34. DOI:
  • Laughing Matters | Comedy Documentary  | Earful Comedy. (1985). Redistributed by Earful Comedy, narrated and starring Rowan Atkinson [Video] [Link here]
  • The Logic of Movement. Workshop by Stephen Mottram as part of the Pupeteering Festival, Bristol 2017.
Flash Fiction, Short Stories, Stories

Storm at Seascale


Dedicated to the lonely pony from Seascale

The wind howled. Mrs Bootle brewed her chamomile tea. She stared through her dusty kitchen window at Alfred, the house pony. He looked bored, or perhaps lonely. His mane was soaked, but he just stood there, blinking in a chewed up garden. Rain chipped at the glass, like sharp pebbles in a pool.

Mrs Bootle poured the tea in a flowery cup. The scented vapours steamed her round glasses. Alfred neighed in a low tone. The tide had come in. The pony turned his head to look at it flood the garden with a thirsty gurgle. He snorted, then climbed onto a boulder, unfazed. He turned his head towards the window to watch Mrs Bootle slurp her tea with visible noises.

A wave crashed over the small stone wall at the brim of the garden. The sea burst through the wooden gate. Alfred was knee deep in water. He watched a jellyfish swim past, as the wave retracted. Still he stood there in the rain, like a loyal rock. Mrs Bootle opened a newspaper. It had the picture of a seagull with a sea captain’s hat, eating an ice cream. A second wave curled over the wall, foaming at its tip.

Alfred frowned as water picked him up. He floated to the windowsill, his legs still stretched, as if standing. Fish swam around him, but he did not move a muscle. He kept staring at Mrs Bootle with a feeble twinkle in his eyes. Suddenly half of the stone cottage drifted off the sandy cliff like melting ice cream on a brownie. Salty rain drizzled the woman’s newspaper. Her flip flops soaked the intruding sea that was racing in through the opening.

Mrs Bootle reached to place her cup on its saucer, but found it had moved. She blinked audibly, waist deep in water. Furniture was floating around her, while she shuffled to the door. She opened it in time to see Alfred floating past. He neighed courteously as if tipping a hat.

‘Where are you off to Alfie?’ the lady creaked in a composed, upper class voice. She then grabbed her umbrella and sifted through the sea to reach her pony.

‘Come here boy!’ she rang, shaking a bag of wet toffees.

The house collapsed as she stepped off the porch. Alfred now stood on a little muddy hill, staring at the raging sea. Still he did not wince. Mrs Bootle gave a few strokes with one arm, her head erect, toffees in the other hand. She pierced the muddy hill with her flip flops as if escalating a mountain.

‘There you are my little lad!’ she puffed. ‘That is a pretty cloud, isn’t it Alfie?’

Alfred snorted and placed his snout on the bag of toffees. Mrs Bootle took out a lumpy piece and placed it into his mouth. His snout was foamy and grassy, leaving her hand sticky. She patted him with the sticky hand and giggled polite sounds. The swelling sea clambered onto the little hill. Past hooves and past flip flops it went. The sun sank behind the mount of water, as it swept over the sky and over Mrs Bootle and Alfred’s smiling faces.

Andy wailed, his chubby legs splayed onto the wet sands of Seascale. His yellow toy donkey was floating a couple of yards away.

‘Mommy!’ he cried and pointed.
‘Shush, I’ll get it!’ Anna shouted.

Andy looked at her with round, twinkly eyes. He then giggled as he watched his big sister splash through the water in her flip flops. He then resumed splatting the little hill the sea had made of their sand cottage.

Cufărul cu versuri, Poetry

Scrânciobul lui bunicu

Mărul din grădina bunicilor, noduros și cenușiu,
Șade-n umbra dealurilor de fân pline,
Florile cosite își dau suflarea de parfum sfios,
Noi ne dăm de-a tumba pe greblatele coline.

– Fă-ne scrânciob bunicule, chicotim îmbujorați
Bunicu lasă coasa grea și se pune pe urcat,
Mărul ascultă, îl cunoaște, își apleacă coama gri
Pădurețe sar pe pietre ca în jocuri de copii.

Brațul harnic și vânos învârte lanțul de o cracă
Și-ncet coboară parcă un pui de leagan dintr-o arcă 
Noi îl încoronăm cu scândurica de lemn moale și duios
Și ne-ntrecem cine poate să se așeze mai frumos.

Bunicu coboară lin precum vântul cald al verii
Limpede el ne privește cu lumina învierii,
Ia găleata și culege merele căzute-n iarbă
Oile behăie din poartă, sunând vesel din talangă.

-Hai la diresală, strigă bunica cocoțată în gireadă
Bunicu ia coasa pe umăr, nepoții grebluțele grămadă,
Numai eu rămân în scrânciob, privind mărul nostru în șoaptă,
Verii strigă, hai la fân, măi Anuți alună coaptă!

Flowers and People, Poetry

True Beauty

Morning dew on sweet rose petals,
Awake thy mouth to-a hearty song
Though my lips are coarse as nettles,
They are wise and not headstrong.

Fresh and scented is thy gaze,
In the light of rising suns
Though my eyes are dry with haze,
They avert from charming sons.

I hope we meet in time of trial,
The outside oft reflects the deep
Where the soul soars from defile,
The body’s climb is very steep.

Formal and Polite, Poetry

The Collector

Vincent sips his coffee in a French cafe
With a perfumed scarf and a creme brulee,
He watches people live their lives
With a pen in his hand and feverish eyes

A lady with the air of a delicate swan
Enters his gaze as she glides like a pawn,
To checkmate his heart, while his hand writes
And dashes three ticks on the page’s sides.

‘Dances ballet and plays the flute,
Can read for hours as an enchanted mute,
Her mind, as firm as her two bare toes,
But her heart is as wild as a mountain rose.’

Vincent smiles then strikes off the rows,
On her wild heart and hard boiled toes,
‘Interesting – but too hard to keep,
With a mind of her own that might take me too deep.’

He rips off the page with meticulous fingers
And folds it neatly as the feeling lingers,
With a shake of his head the paper slides loose,
In a box labelled simply “for future use”.