More selected projects


#andratuttobene is an interactive installation that conveys the resilience, solidarity and positivity of the Italian people in response to the COVID-19 pandemic danger. Through a playful interaction, my piece wants to encourage reflection and to remind that only through unity, cooperation and love for one’s neighbor can humankind overcome times of crisis.

The work consists of an ever-fluctuating Italian flag whose revolutions can be controlled through gyroscope data sent as OSC messages over Wi-Fi.

produced by: Mattia Spagnuolo


#andratuttobene was entirely conceived and developed during the period of lockdown that was introduced in Italy, among other nations, to combat the outbreak of the COVID-19 virus. During this difficult time, which I spent in my hometown of Turin, Italy, I often found myself staring out of the window in deep thought. What captured my attention and managed to infuse a feeling of serenity in me, were the mesmerizing movements of the many Italian flags that were hanging from the balconies of the building opposite to mine. Most of them bore the hashtag #andratuttobene, in children’s handwriting.

The hashtag, which translates to ‘everything will be alright’, was an initiative that swept across the country when children, stuck at home with no classes to attend and no friends to play with, started hand-drawing flags with messages of hope and reassurance to be hung from their balconies.

The hashtag was only one of the many supportive initiatives that originated among the Italians. Spontaneous balcony concerts, homemade face masks distributed for free and solidarity food baskets left to help those in need were fundamental to help alleviate the grief and endure the distress caused by the coronavirus outbreak. We remained distant physically, but emotionally more united than ever.

These simple and most sincere gestures made me extremely proud of our unmistakable cheerfulness, solidarity and friendliness and were what deeply inspired this work.

With the gentle and mesmerizing movements of the flag, I hope to encourage reflection and infuse serenity in the user’s mind, just like those waving flags of the building in front did for me.

Technical details

#andratuttobene was fully developed in openFrameworks. The interactivity was implemented through the use of the ofxOSC library and the TouchOSC iOS app.

Physics simulation
Obtaining a fluid and realistic result was by far the most crucial and challenging aspect of this work, given its interactive nature.

In order to achieve an adequate framerate, key for real-time interaction, I made use of timesteps and adopted the Verlet integration technique. Breaking the simulation time into manageable chunks, namely timesteps, is a compromise between simulation accuracy and framerate independence, often used in game development. By using Verlet integration to update each position, as opposed to the Euler method, I was able to obtain a stable, realistic and fast solution.

For a more tailored and optimized result, I have decided to implement the whole physics system from scratch, hence not resorting to any external add-on nor library.

The revolutions of the flag originate from the contrast between gravity and a wind-like force coming from the floor. The user can control the direction and intensity of this force through the TouchOSC application running on a smartphone. The direction of the wind is mapped 1:1 to the normal direction of the device screen, which I was able to compute using gyroscope data.

A simple UI on the phone - see image below - allows to control the wind’s intensity with a slider and to toggle between manual and autopilot mode. When in autopilot, the flag is subject to an autonomously varying wind force, so that the it keeps on moving even when no one is there to control it.

In order to constrain the movement of the flag so that it stays confined within camera range, I added constant forces on each side of the virtual environment, which are activated whenever the flag exceeds them.

That extra touch
Once the main skeleton was developed, I spent some time working on the details that would make the cloth simulation more pleasant and realistic.

Noise was added to the wind force’s intensity to create random whiffs and drops.

I shaded the cloth depending on the angle between each of its normals and the light position. Finally, I added a black projection of the cloth on the floor, which creates the shadow effect.

Further developments

I believe there is still room for improvement in the cloth’s appearance. The shading made it look much more realistic, but it still feels a little bit plasticky.

Although it is one of the most challenging tasks in physics-based animations, I intend to do further research self-collision detection to prevent the cloth from intersecting itself.

References and credits