6

我正处于制作 3D“机器人编程”游戏的设计阶段。灵感来自 Colobot、Robot Odyssey、Cholo 等游戏。

我希望游戏中的每个机器人都拥有自己的隔离环境/操作系统/虚拟机,就像他们在现实生活中一样。每个环境都应该被沙盒化,这样就机器人与游戏其余部分的交互方式而言,它是机器人的本地环境。

最初我打算按照“计算系统的要素”一书中的描述实现 HACK VM,但后来好奇是否有更好的解决方案来解决这种游戏风格的性能问题。

所以我的问题是:是否已经存在可以很好地满足我的目的的虚拟机架构?

Ps 使用的语言和游戏引擎尚未确定,但可能是 C# 或 smalltalk。

4

1 回答 1

3

嗯..为每个机器人使用单独的图像有点矫枉过正。我不知道您项目的要求,但为什么不使用自己的流程在同一图像中运行所有机器人?(要知道smalltalk支持绿色线程模型)。

关于 HydraVM:最初它是一个概念验证项目。令人惊讶的是,它运行良好且相当稳定。但是对于进一步的开发,您需要一个真正需要这种架构的项目。坦率地说,当时 smalltalk 语言级基础设施还没有准备好(我不会说它今天已经准备好;)因为要利用它,您需要更好的工具,如远程调试、远程浏览、远程图像管理等等等

听到您能够并行运行 11 个图像,我真的很惊讶。棒极了。因为我从来没有尝试运行超过 2 个 :) 这么多图像的问题,你需要一个不同的内存管理系统。Hydra 中使用的一个是从 Squeak VM 继承的,并不真正适合这种设计。

于 2011-07-11T19:36:54.557 回答