title: How are massive cellular automata simulated?
body: <p>Take the redstone from Minecraft as an example - it's basically a 15 state cellular automata with the following base rule:</p>
  
  <pre><code>Redstone -&gt; Redstone, powered of level Max(neighbours)-1
  </code></pre>
  
  <p>and additional rules for various connected elements</p>
  
  <pre><code>Repeater, inactive -&gt; Repeater, active, level 2 if its input is powered
  Repeater, active, level 2 -&gt; Repeater, active, level 1
  Repeater, active, level 1 -&gt; Repeater, inactive
  Redstone, unpowered -&gt; Redstone, powered if there is a neighbouring Repeater, level 1 or another source
  </code></pre>
  
  <p>(I've written more about how Minecraft stuff can be implemented using CAs: <a href="http://madflame991.blogspot.com/2011/10/cellular-automata-in-minecraft.html" rel="nofollow">http://madflame991.blogspot.com/2011/10/cellular-automata-in-minecraft.html</a>)</p>
  
  <p><strong>Now, my questions are: How would the game manage to update HUGE redstone contraptions? What data structure does it use? Is it really implemented as a cellular automata? If not, then what's your best guess?</strong></p>
  
  <p>P.S. I'm not asking anyone to take a peek at the actual source code, but just to speculate on how this technical thingie is achieved.
  ...and I'm posting this here, on SO, and not on gamedev because it's a CA question and not a gamedev related question.</p>