Let's take a little inventory of all the little building blocks we had here in the computer simulation that we just played with. First of all, we had agents that are important. That's why it's called Agent-based modeling. You model agents building societies from the bottom up. That's actually the subtitle of this book. So it says "Growing Artificial Societies, Social Sciences from the Bottom Up." So with agent-based models, we start modeling these agents. In our case, the individuals could be something else. But in our case, the individuals and their existence, if they are alive or if they're dead, depends on the available resources. So they are or not depending on the available resources which already starts giving them trait, so they have traits. They have some fixed traits. Traits that do not change. So they are fixed. For example, their resource storage capacity, the amount of sugar they can store, that's given. It's not equal for everybody, but it's given. Might not be equal for everybody. The research uses capacity, the metabolism, there are some that have a very strong metabolism and that certainly is not equal for everybody and some that have a very slower, weaker metabolism and that is distributed such as these things are distributed in society and we see with this diversity, we see some interesting behavior. There's not like one average and modeling diversity is very important. Other than research detection capacity, basic in their vision. So they can see three straight units ahead and that's also distributed differently amongst society. The vision, how many straight units they can see or cannot see, and these are fixed. These are not equal for everybody. So there's a distribution of these, but they don't change. They're also variable traits. Traits that change over time. For example, the amount of resources stored. So like the ticker and you use them on a resources up. So we also have to make sure we keep track of that. We have to program that in our agent, to program how much resources there are, and that's changing. That's a variable trait. That changes that each tick of time, it changes. There are also rules. So that traits in their rules. Rules they're also fixed rules, move to the closest unoccupied patch with the most sugar. That's a rule that does not change. There are no variable rules in this game, could be, but we've only this fixed rules for example. Then we have the environment. So we have agents and we have environment, and we have this interaction between the two of them. The environment also has traits and has rules. So the environment in our case is a sugar lattice. It's on a torus. Basically on a doughnut, right? So that's the design that we have. You could have other designs but ours is on a torus, it's on a doughnut, that's what it looks like, and traits says I'm fixed traits. For example, the research storage capacity, that does not change. So each patch, each pixel in the background and the environment has a capacitor doesn't change, which then leads to these mountains, right? We have two mountains of sugars and they're variable traits. So that's the amount of resources store. So again, we have to program in that we track how much resources actually are in there. If you consume all, if an agent consumes all the resources, they are gone. So you have to track that and there are rules. For example, grow back sugar, grow back sugar immediately and that's one rule that we had. Now we can change these rules and some of the characteristics that some of the traits, try to make it more realistic and that leads to different models, maybe more sophisticated models with different outcomes. So let's change this last rule. The sugar grow back rule, which leads us to Sugarscape number two.