如何“添加”现有的JavaScript编程游戏的并发性

在jsrobots.com上为JavaScript编程游戏增加并发性的方法/方法是什么?

它本质上是一个古老的DOS游戏的JavaScript重写,它被称为CROBOTS,但有一个非常重要的省略 – 没有适当的并发性或机器人脚本的虚拟加工。 每个机器人用户脚本完全轮stream执行。

我在“怎么玩”页面的“机器人脚本注释”部分解释了这个限制的更多内容,但基本上它吸引并使得游戏对于原始的CROBOTS来说是不可玩的和不真实的。

我的问题是如何将机器人脚本的并发性引入游戏? 它看起来像一个NodeJS的更多的服务器端解决scheme或浏览器Web工作人员保持在浏览器中。 最初我主要是和networking工作者一起玩。 我应该让整个机器人对象成为networking工作者吗? 或者只是用户脚本? 当前的机器人对象负责绘制自己,但networking工作者不能做到这一点,因为没有访问canvas对象或DOM等。

你会怎么做?

基本的游戏devise就像http://tinypic.com/view.php?pic=1zoxnbq&s=5,但这基本上是一个自由/开源软件项目,所以可以随意使用View Source疯狂;-) [实际上有一个稍微老一点的版本GitHub https://github.com/danielrhodeswarp/JS-Robots ]

谢谢

Web Worker可以用来运行用户脚本,然后使用Webworker和主线程之间的消息API来返回主线程需要更新dom / draw的任何东西,一旦工人运行了它所需的所有东西。 这将允许你为每个你想要的机器人拥有一个工作者并行运行它们。

看看这个尤其是传递的数据部分。