The Story of A Tree
Introduction
This project basically simulates the process of a tree’s growth throughout the year. I use some abstract shapes as well as some realistic outlines to present this tree by p5. It involves a lot of different objects, like green leaves, yellow leaves, flowers, fruits and some environmental elements. For the final video demo, I also add the background music to make this project more complete and strengthen the user experience.
Process
First of all, I sketched the timeline of different objects and movements. I decided to create the scenes one by one and finally combine them all together. And there are five periods in total.
- Spring: The Season of Growing
In this period, the tree and leaves start to grow. I created two kinds of leaves in order to enrich the scene, and the two kinds of leaves will also disappear in different ways later.
- Summer: The Season of Blooming
In this period, there will be flowers popping up, scaling in some frequency related to noise value. And the flower is consisted of several transparent long ellipses and a circle in the middle.
- Autumn: The Season of Bearing
This season has most transformations. Flowers turn into fruits and the majority of green leaves will shake and then “explode” out of the canvas. The remaining little leaves, as well as new leaves turn up later, gradually grow yellow. In the end, the fruits fall down the tree.
- Winter: The Season of Withering
In this period, yellow leaves fade away slowly. The whole scene gets darker as if the cold winter is approaching.
With some white particles falling into the scene, the scene will get brighter. Those white particles can be imagined as either snow flakes or simply some light, which represent the signal of recovering. Therefore, after the white particles fall, there will be a couple of new green leaves popping up on the branches, and that’s just another round of story.
As for the debugMode, I mostly used it to check the outlines and the movements of my objects. Since I have different objects in different periods, I tried to keep it simple and obvious. I also added the variable of array length to the controller so that the user can manipulate the number of objects in real-time. I think debugMode tool is really useful and I would like to spend more time on how to combine it with my project better.
Demo
For a better experience, I added background music to my demo. To clarify, I did not make any change to my original recording of my project. I just adjusted the music a little bit to make it fit my project better.
The user can feel the music changes with the scene. Specially in the recovering period, I also added some birds’ singing. And here is the demo.
*BGM: EpicMusicVn – Last Reunion
Further Development
- Firstly, I think there can be more vivid creatures like little animals or insects playing with the tree. In fact, I tried to implement another creature class, but the result was not so coherent with my whole project and I did not use them in the end. However, I would like to spend more time on this part in future.
- Secondly, since I want to focus on what we learned in the first half semester like vectors, forces and oscillations, I did not spend too much time on the recursive tree. For now, the branches just move in the same way all the time and I think there can be more variations.
- Lastly, I think there can be some interaction between each object as well. And they can all interact with the branches in some way.