How are massive cellular automata modeled?

Take the red stone from Minecraft as an example - these are basically 15 states of cellular automata with the following basic rule:

Redstone -> Redstone, powered of level Max(neighbours)-1

and additional rules for various related items

Repeater, inactive -> Repeater, active, level 2 if its input is powered
Repeater, active, level 2 -> Repeater, active, level 1
Repeater, active, level 1 -> Repeater, inactive
Redstone, unpowered -> Redstone, powered if there is a neighbouring Repeater, level 1 or another source

(I wrote more about how Minecraft material can be implemented using CA: http://madflame991.blogspot.com/2011/10/cellular-automata-in-minecraft.html )

Now, my questions are: how would the game manage to update the HUGE refractory devices? What data structure is used? Is it really implemented as a cellular automaton? If not, what do you think?

PS I do not ask anyone to look into the source code, but just to talk about how this technical thing is achieved. ... and I post it here on SO, not on gamedev, because this is a CA question, not a gamedev related question.

+3
source share
3 answers

Another possible approach to modeling reasonably massive cellular automata (e.g., Game of Life in Game of Life ) is to detect patterns (glider, glider generator, etc.) and predict their future evolution and calculate unknown parts (glider evolution).

+1
source

- (, Minecraft !) . , , .

, , , . , , O (n ^ 2), O (n).

, , , , , , , .

0

Hashlife ( 1 ) may be what you are looking for, speeding up computations over really huge spaces.

0
source

All Articles