Evolving Zombies: Thoughts
‘Evolving Zombies’ is a project where I explored how objects within a system can change and develop automatically over time. I wanted to create an environment where two types of creatures, People and Zombies, compete against each other and evolve as a result. Each creature had nine variables that made up its DNA. The DNA of each new organism was an average of the surviving organisms with a bit of error. My hope was that this would lead to unexpected solutions, just like in nature.
I found that the creatures do in fact evolve over time but because the DNA is an average of the population’s DNA, there is a lack of diversity and it results in situations where the system ceases to evolve as the People and Zombies converge on certain solutions. It is also difficult to spot any new and unique solutions among the myriad of creatures in the ecosystem. Another issue that arises due to averaging the DNA is that it leads to a system where if a certain flaw is propagated, it is very difficult to remove and leads to odd behaviors (shown below).
I experimented with different starting populations and found that certain ratios leads to an unstable system where one type of creature quickly dominates. In more balanced systems, the populations fluctuated in a more regular pattern. Ideally, I will design a system that balances itself irrespective of the starting parameters are. I would also love to graph the population and the DNA as it changes overtime to look for trends.
Although a good starting point, there are many improvements that can be made to the program. Instead of averaging the population’s DNA, I want reproduction to take place between two creatures, which will potentially lead to more diversity. I also want each variable to affect a visual property, so it is easy to identify creatures with different traits. Eventually I would love to add more layers of complexity to the system so creatures can occupy a niche within the environment and begin to take on personalities of their own.
Leave a Reply