Hi. Welcome to this final video of Week 3. We are going to conclude a conversation of our ecosystem simulation, really looking at how could we expand this ecosystem? As you could imagine, some of the initial ideas of this ecosystem suggested that we would actually create also a carnivore class or a predator class, and we would have a whole series of behaviors. Well, we're going to leave it here and really allow you to continue expanding on this ecosystem project, because it really it's outside the scope of this class to teach, basically repeat the same concepts that we've been using to just expand it in the ecosystem. I think it's a fantastic exercise to really go through and continue in the projects that we start here. Let's discuss what you could be doing. The first thing as we've just discussed is introduce a new class to the ecosystem. You could have more species. We've called Wendy herbivore. But we could actually start including a carnivore or a predator. One that might not be feeding on our food, which is vegetable, but might be feeding on herbivores. That would yield a chase relationship, a sense of a different kind of population control of the herbivores through them becoming the food supply for a different species. Again, you could have a lot of circularity of predator prey relationships. You could also start thinking that there's multiple types of food, maybe different species of food. Some of them that grows slower, some of them that grow faster. The food system that we currently have if you start thinking of them as vegetables or trees or plants of different types, you could actually speciate that system altogether. Again, different ratios of growth just the way we've been doing it and maybe different kind of caloric interests. Maybe certain animals prefer certain vegetables or certain food supply. There's a lot to do in this domain. You could also start expanding the simulation of how do we introduce the food propagation or plant propagation? How you could start thinking of a system of pollination where maybe a new food entry, maybe within a certain time frame of the first one appearing, it would actually start flowering and perhaps spreading seeds. Then there would be new plants around a cluster of plants. Those would have their own kind of growth patterns. That might be quite interesting because you're not forced to think that you are seeding the system with food, but rather there's a logic of growth. That could be done. It's a little bit of an idea of recursion where you want a food entry can create another one over time, and then that one would actually create another one over time. The simulation would actually grow on its own. You have to be careful here, because if you do it too quickly, you will end up with a lot of plants. But again, we could also do the same thing or a principle of reproduction, where two herbivores or two kind of species of animals can actually create an offspring. Instead of mechanically as we are doing currently creating a new herbivore in the world, that new herbivore only happens when well fed, maybe two well fed herbivores have a state of mating and actually create an offspring. I love to think about how would the decision tree of our animals would look like perhaps. This is again a very small increment to the decision tree that we have. We have and maybe am I awake? Am I resting? Am I being chased? This could be a priority. It's like if you're being chased by a predator, perhaps you have a flee state. Its survival logic kicks in first before anything else. If I'm being chased, the first thing I want to be doing is probably fleeing the animal that is chasing me. Then we could ask the question, are you hungry? Well, perhaps it's time for seeking food, but if none of those are actually present, maybe there's a reproductive level or reproductive urge level that suggests that we could either wonder or mate, mating and finding a partner and so on. All these ideas that we have discussed in terms of adding new species, discussing forms of reproduction of a species within the ecosystem, those could also be fitted into a slightly more complex decision tree as you can see here. We're not going to be writing the code for all these. The invitation is that you use the knowledge of this week to continue expanding on these ideas, practice and really see if you can take it a bit further. But basically going through the same logic that we've written so far. It would be a lot of repetition to really build up some of these ideas. With this in mind, the next week we're going to see brand new projects. We have new concepts that we really want to introduce to you. I'll see you in next week's videos where we're going to start looking at path finding. I'll see you then.