例として Minecraft のレッドストーンを取り上げます。これは基本的に、次の基本ルールを持つ 15 状態のセル オートマトンです。
Redstone -> Redstone, powered of level Max(neighbours)-1
およびさまざまな接続要素の追加ルール
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
(CA を使用して Minecraft を実装する方法について詳しく書いています: http://madflame991.blogspot.com/2011/10/cellular-automata-in-minecraft.html )
さて、私の質問は次のとおりです。ゲームはどのようにして巨大なレッドストーンの仕掛けを更新するのでしょうか? どのようなデータ構造を使用していますか? それは本当にセルオートマトンとして実装されていますか? そうでない場合、あなたの最良の推測は何ですか?
追伸: 実際のソース コードをのぞいてみてくださいと言っているわけではありませんが、この技術的なことがどのように実現されているかを推測するだけです。...そして、私はこれをSOに投稿していますが、gamedevには投稿していません。これは、CAの質問であり、gamedev関連の質問ではないためです。