以Minecraft中的红石为例 - 它基本上是一个具有15种状态的元胞自动机,其基本规则如下:
我已经写了更多关于如何使用CAs实现Minecraft物品的内容:http://madflame991.blogspot.com/2011/10/cellular-automata-in-minecraft.html 现在,我的问题是:游戏如何管理更新庞大的红石装置?它使用什么数据结构?它是否真正作为细胞自动机实现?如果不是,那么你的最佳猜测是什么?
附言:我并不要求任何人窥探实际源代码,只是猜测这个技术问题是如何实现的。……而且我把这个问题发布在此处,而不是在gamedev上,因为这是一个CA问题,而不是一个gamedev相关的问题。
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
我已经写了更多关于如何使用CAs实现Minecraft物品的内容:http://madflame991.blogspot.com/2011/10/cellular-automata-in-minecraft.html 现在,我的问题是:游戏如何管理更新庞大的红石装置?它使用什么数据结构?它是否真正作为细胞自动机实现?如果不是,那么你的最佳猜测是什么?
附言:我并不要求任何人窥探实际源代码,只是猜测这个技术问题是如何实现的。……而且我把这个问题发布在此处,而不是在gamedev上,因为这是一个CA问题,而不是一个gamedev相关的问题。