zen*_*ess 6 smalltalk robot vm-implementation
我正处于制作3D"机器人编程"游戏的设计阶段.受到Colobot,Robot Odyssey,Cholo等游戏的启发.
我希望游戏中的每个机器人都拥有自己独立的环境/操作系统/虚拟机,就像在现实生活中一样.应该对每个环境进行沙盒处理,使其在机器人与游戏其余部分的交互方式方面是本地的.
最初我打算按照"计算系统元素"一书中的描述实现HACK VM,但后来对于这种游戏风格的性能方面是否有更好的解决方案感到好奇.
所以我的问题是:是否已经存在可以很好地满足我的目的的虚拟机架构?
Ps使用的语言和游戏引擎尚未确定,但可能是C#或smalltalk.
嗯..在我看来,为每个机器人使用单独的图像有点过分了。我不知道您的项目的要求,但为什么不使用自己的流程在同一图像中运行所有机器人呢?(你必须知道smalltalk支持绿色线程模型)。
关于 HydraVM:最初它是一个概念验证项目。令人惊讶的是它运行良好并且相当稳定。但为了进一步开发,您需要一个真正需要这种架构的项目。坦率地说,当时 Smalltalk 语言级基础设施还没有准备好(我不会说它今天就准备好了;)因为要利用它,您需要更好的工具,例如远程调试、远程浏览、远程图像管理等ETC。
听说您能够并行运行 11 个图像,我真的很惊讶。棒极了。因为我从来没有尝试过运行超过 2 个:) 如此多的图像的问题是,你需要一个不同的内存管理系统。而 Hydra 中使用的一种是继承自 Squeak VM 的,不太适合这样的设计。