1. A method for creating a virtual environment with a computer system, comprising: a. forming a plurality of layers of data, including a first layer and a second layer, each layer including a plurality of cells containing data corresponding to a variable; b. operating on the data from the cells in the first layer with a function to yield target data; c. distributing the target data to corresponding cells in the second layer; and d. altering the data in at least one of the plurality of cells in each layer according to a rule.