Modeling complex environments using an interconnected system of simulation layers
AssigneeSony Online Entertainment LLC
InventorsRobert L. Young, Jr., Raph Koster, Stone Perales, Alexander Raine
Life of this patent
Estimating the term…
Abstract
A method is provided for creating or evolving a virtual environment with a computer system. Steps of the method include: 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; operating on the data from the cells in the first layer with a function to yield target data; distributing the target data to corresponding cells in the second layer; and altering the data in at least one of the plurality of cells in each layer according to a rule.
Claims24
A method for modeling a virtual environment with a computer system, comprising:
- a. forming a plurality of layers of data using a computer system, including at least a first layer and a second layer, each of the first and second layers being configured to alternatively be either a source layer or a target layer, the source layer and target layer being the same or different sizes, each layer among the plurality of layers of data representing a distinct variable of the virtual environment being modeled and including a plurality of cells, each cell containing a first datum and a second datum, the first datum corresponding to a different variable than the second datum, the plurality of cells in the first layer corresponding to a plurality of cells in the second layer by a first function;
- b. connecting layers among the plurality of layers of data using one or more pipes, each of the one or more pipes being configured 1) for mapping a group of one or more cells in the source layer to a group of one or more cells in the target layer so that cell data is propagated between the source layer and target layer and 2) to identify orientation information describing an orientation of the source layer with respect to the target layer, the orientation information including at least one of integer offset in two dimensions and a scale factor, the integer offset being zero or non-zero and the scale factor being equal to, less than, or greater than unity;
- c. operating on at least one of the data from the cells in the first layer with a second function to yield respective target data, the operating including processing the at least one of the one or more pipes;
- d. basing a calculation at least partially on the target data, the calculation performed on a respective datum in a corresponding cell in the second layer;
- and
- e. altering at least one of the data in at least one of the plurality of cells in each layer according to a rule, wherein the altering includes:
- i. dividing at least one layer of the plurality into a plurality of overlapping sublayers, wherein certain cells are duplicated in more than one sublayer;
- ii. sending the data from each sublayer to separate slave processes along with the rule;
- iii. receiving the altered data from each sublayer back from the slave processes;
- and
- iv. combining the sublayers and discarding duplicate data to create one layer containing altered data.
A method for creating a virtual environment with a computer system, comprising:
- a. forming a plurality of layers of data using a computer system, including a first layer and a second layer, each layer including a plurality of cells, each cell containing a first datum and a second datum, the first datum corresponding to a different variable than the second datum, the plurality of cells in the first layer corresponding to a plurality of cells in the second layer;
- b. operating on at least one of the data from the cells in the first layer with a function to yield respective target data;
- c. basing a calculation at least partially on the target data, the calculation performed on a respective datum in a corresponding cell in the second layer;
- and
- d. altering at least one of the data in at least one of the plurality of cells in each layer according to a rule, wherein the altering includes:
- i. dividing at least one layer of the plurality into a plurality of overlapping sublayers, wherein certain cells are duplicated in more than one sublayer;
- ii. sending the data from each sublayer to separate slave processes along with the rule;
- iii. receiving the altered data from each sublayer back from the slave processes;
- and
- iv. combining the sublayers and discarding duplicate data to create one layer containing altered data;
- e. wherein the number of cells in the first layer is not equal to the number of cells in the second layer, and wherein a value of target data is used in a plurality of calculations on data in a plurality of corresponding cells in the second layer.
A method for creating a virtual environment with a computer system, comprising:
- a. forming a plurality of layers of data using a computer system, including a first layer and a second layer, each layer including a plurality of cells, each cell containing a first datum and a second datum, the first datum corresponding to a different variable than the second datum, the plurality of cells in the first layer corresponding to a plurality of cells in the second layer;
- b. operating on at least one of the data from the cells in the first layer with a function to yield respective target data;
- c. basing a calculation at least partially on the target data, the calculation performed on a respective datum in a corresponding cell in the second layer;
- and
- d. altering at least one of the data in at least one of the plurality of cells in each layer according to a rule, wherein the altering includes:
- i. dividing at least one layer of the plurality into a plurality of overlapping sublayers, wherein certain cells are duplicated in more than one sublayer;
- ii. sending the data from each sublayer to separate slave processors along with the rule;
- iii. receiving the altered data from each sublayer back from the slave processors;
- and
- iv. combining the sublayers and discarding duplicate data to create one layer containing altered data.
A method for modeling a virtual environment with a computer system, comprising:
- a. implementing the virtual environment on the computer system, the virtual environment having a plurality of layers of data including at least a first layer and a second layer, each of the first and second layers being configured to alternatively be either a source layer or a target layer, the source layer and target layer being the same or different sizes, each layer among the plurality of layers of data representing a distinct variable of the virtual environment being modeled and including a plurality of cells containing at least two data values, each value corresponding to a different variable, a variable in the first layer related to a respective variable in the second layer by a first function;
- b. connecting layers among the plurality of layers of data using one or more pipes, each of the one or more pipes being configured 1) for mapping a group of one or more cells in the source layer to a group of one or more cells in the target layer so that cell data is propagated between the source layer and target layer and 2) to identify orientation information describing an orientation of the source layer with respect to the target layer, the orientation information including at least one of integer offset in two dimensions and a scale factor, the integer offset being zero or non-zero and the scale factor being equal to, less than, or greater than unity;
- c. using the computer system, operating on at least one of the data from the cells in the first layer with a second function to yield respective target data;
- d. basing a calculation at least partially on the target data, the calculation on a respective datum in a corresponding cell in the second layer, the operating on the at least one of the data including processing the at least one of the one or more pipes;
- and
- e. altering at least one of the data in at least one of the plurality of cells in each layer according to a rule, wherein the altering includes:
- i. dividing at least one layer of the plurality into a plurality of overlapping sublayers, wherein certain cells are duplicated in more than one sublayer;
- ii. sending the data from each sublayer to separate slave processes along with the rule;
- iii. receiving the altered data from each sublayer back from the slave processes;
- and
- iv. combining the sublayers and discarding duplicate data to create one layer containing altered data.
A method for modeling a virtual environment with a computer system, comprising:
- a. forming a plurality of layers of data, including at least a first layer and a second layer, each of the first and second layers being configured to alternatively be either a source layer or a target layer, the source layer and target layer being the same or different sizes, each layer among the plurality of layers of data representing a distinct variable of the virtual environment being modeled and including a plurality of cells containing data corresponding to a variable;
- b. connecting layers among the plurality of layers of data using one or more pipes, each of the one or more pipes being configured 1) for mapping a group of one or more cells in the source layer to a group of one or more cells in the target layer so that cell data is propagated between the source layer and target layer and 2) to identify orientation information describing an orientation of the source layer with respect to the target layer, the orientation information including at least one of integer offset in two dimensions and a scale factor, the integer offset being zero or non-zero and the scale factor being equal to, less than, or greater than unity;
- c. using a computer system, operating on the data from the cells in the first layer with a function to yield target data, the operating including processing the at least one of the one or more pipes;
- d. distributing the target data to corresponding cells in the second layer;
- and
- e. altering at least one of the data in at least one of the plurality of cells in each layer according to a rule, wherein the altering includes:
- i. dividing at least one layer of the plurality into a plurality of overlapping sublayers, wherein certain cells are duplicated in more than one sublayer;
- ii. sending the data from each sublayer to separate slave processes along with the rule;
- iii. receiving the altered data from each sublayer back from the slave processes;
- and
- iv. combining the sublayers and discarding duplicate data to create one layer containing altered data;
- f. wherein the data in each cell includes a food value and a population value, and wherein the altering includes spreading population values to a nearest neighbor cell only if the total population and food in a cell is greater than in the nearest neighbor cell.
A method for creating a virtual environment with a computer system, comprising:
- a. forming a plurality of layers of data, including at least a first layer and a second layer, each of the first and second layers being configured to alternatively be either a source layer or a target layer, the source layer and target layer being the same or different sizes, each layer among the plurality of layers of data representing a distinct variable of the virtual environment being modeled and including a plurality of cells containing data corresponding to the variable;
- b. connecting layers among the plurality of layers of data using one or more pipes, each of the one or more pipes being configured 1) for mapping a group of one or more cells in the source layer to a group of one or more cells in the target layer so that cell data is propagated between the source layer and target layer and 2) to identify orientation information describing an orientation of the source layer with respect to the target layer, the orientation information including at least one of integer offset in two dimensions and a scale factor, the integer offset being zero or non-zero and the scale factor being equal to, less than, or greater than unity;
- c. using a computer system, operating on the data from the cells in the first layer with a function to yield target data, the operating including processing the at least one of the one or more pipes;
- d. distributing the target data to corresponding cells in the second layer;
- and
- e. altering at least one of the data in at least one of the plurality of cells in each layer according to a rule, wherein the altering includes:
- i. dividing at least one layer of the plurality into a plurality of overlapping sublayers, wherein certain cells are duplicated in more than one sublayer;
- ii. sending the data from each sublayer to separate slave processes along with the rule;
- iii. receiving the altered data from each sublayer back from the slave processes;
- and
- iv. combining the sublayers and discarding duplicate data to create one layer containing altered data;
- f. wherein the data in each cell includes a food value and a population value, and wherein the altering includes spreading population values to each of the nearest neighbor cells.
A method for modeling a virtual environment with a computer system, comprising:
- a. forming a plurality of layers of data using a computer system, including at least a first layer and a second layer, each of the first and second layers being configured to alternatively be either a source layer or a target layer, the source layer and target layer being substantially the same size, each layer among the plurality of layers of data representing a distinct variable of the virtual environment being modeled and including a plurality of cells, each cell containing a first datum and a second datum, the first datum corresponding to a different variable than the second datum, the plurality of cells in the first layer corresponding to a plurality of cells in the second layer;
- b. connecting layers among the plurality of layers of data using one or more pipes, each of the one or more pipes being configured for mapping a group of one or more cells in the source layer to a group of one or more cells in the target layer on a one-to-one basis so that cell data is propagated between the source layer and target layer;
- c. operating on at least one of the data from the cells in the first layer with a function to yield respective target data, the operating including processing the at least one of the one or more pipes;
- d. basing a calculation at least partially on the target data, the calculation performed on a respective datum in a corresponding cell in the second layer;
- and
- e. altering at least one of the data in at least one of the plurality of cells in each layer according to a rule, wherein the altering includes:
- i. dividing at least one layer of the plurality into a plurality of overlapping sublayers, wherein certain cells are duplicated in more than one sublayer;
- ii. sending the data from each sublayer to separate slave processes along with the rule;
- iii. receiving the altered data from each sublayer back from the slave processes;
- and
- iv. combining the sublayers and discarding duplicate data to create one layer containing altered data.
Dependencies are inferred from the claim text.