This simulation is based on the Wu Xing philosophy also known as the five elements theory. The narrative shows the evolution of energy (chi) over the course of time. The different types of energy are more dominating during the different phases of the cosmic cycle. The five elements are also known as the five planets so I have chosen use the solar system as the scene for the narrative.
When choosing the image to use, I went back to my source of inspiration for problem set two. I have created an image based on the ‘Rising Sun’ flag from Japan. This supports my narrative very well. A sun is created in the center of the canvas and the elements are scattered throughout the rest of the canvas as the rays of the sun.
The are six agents within the simulation. Five of agents each represent a different element of the Wu Xing philosophical theory. The other agent represents the Sun and it is located in the center of the canvas/solar system.
The sun is a static agent. It is not affected by its neighbours and it does not move or change size. However it does change colour depending on the current state of nature.
The size and speed settings are the key variables that can change the narrative. The faster an element is moving the quicker the narrative will unfold. The same applies to the speed setting. The elements actually move faster as their size increases so changing the size setting also affects the speed of the narrative.
The other variable that has a great effect on the narrative is the percentage value for the random change that an element will change its state during a phase. I found that if this was set too low it didn’t appear that the element was the dominating energy. If it was set too high then the element become too dominating.
### The Rules
The simulation is affected by five phases used to represent the current state of nature. Each step of the simulation represents one day and each of the phases has the following lengths:
* Wood/Spring (Green) – 72 days
* Fire/Summer (Red) – 72 days
* Metal/Autumn (Silver) – 72 days
* Water/Winter (Blue) – 72 days
* Earth (Brown) – 4 periods of 18 days, the earth phase occurs in between each of the other phases
The five elements are all dynamic agents, constantly compelled to travel around the sun. The Wu Xing consists of two interaction cycles, a generating cycle and a overcoming cycle. The rules of the simulation have been derived from these interaction cycles:
If an element is the same as the phase of the current state of nature then it will increase in size when it collides with a neighbour that it is generated by. The elements increase in size based on the following:
* metal is generated by earth
* water is generated by metal
* wood is generated by water
* fire is generated by wood
* earth is generated by fire
If an element collides with a neighbour that it is **overcome by** then it will either decrease in size or transform into the other element type:
* earth is overcome by wood
* metal is overcome by fire
* water is overcome by earth
* wood is overcome by metal
* fire is overcome by water
If an element is the same as the phase of the current state of nature it will decrease in size. Otherwise it transforms into the element it is overcome by.
There is one other rule that is very important for demonstrating which element type is the dominating energy during the current phase. Using a random number there is a small chance (a percentage based on the current glyph size) that any given element will be transformed into the phase that represents the current state of nature.
### Design Process
The simulation I have created have been driven a lot by the code provided during the different parts of the assignment. In parts two and three I created a farm based simulation which worked really well.
Part four introduced a new level of functionality which provided new inspiration so I decided to switch to a new idea. I think the narrative of my simulation is working great and I am very pleased with the final result.
I had the majority of the simulation finished by the commit for result3. However I didn’t think it looked as good as it could so I spent some time improving the design. I also made some code adjustments that greatly improved the motion of the elements and the narrative that is being expressed.