首先,我是nodejs的新手,它看起来很棒!
我真的很想在nodejs中构建一个具有机器人玩家的游戏。想法是让机器人玩一些游戏(例如跳棋)。
第一个问题是:
- nodejs适合这个目的吗?请考虑到主要的想法不仅是构建游戏,而且还要获得异步编程和特别是nodejs的经验(因为node很酷很棒!)。
然后我遇到了另一个问题。在nodejs中编写Web服务器很简单(网络上有数百万个示例),但几乎没有例子说明如何编写无限循环而不阻塞事件循环,所以第二个问题:
- 如何编写无限游戏循环,而不会阻塞主事件循环?在C/C++中,我会做类似于while(gIsRunning) {doStuff(); gIsRunning = gameEnded(); sleep(ms)/delay(ms); }的事情。
当然,在我的情况下,游戏是无限的(因为玩家都是机器人),应该在我没有手动杀死node进程的情况下运行。
由于游戏是面向机器人的,我希望能够编写JS机器人并将它们包含到主游戏引擎中。所以第三个问题:
- 是否可以将机器人作为独立的JS脚本编写,并在一定程度上限制环境(沙盒)中的node运行的主游戏引擎中加载它们?未来的想法是为机器人开发提供一些基本API,并且我不想使用具有完整功能(fs、sockets等)的第三方机器人。此外,我也不想手动检查每个第三方机器人的代码。
将这个挑战视为“Google AI Challenge”。Google开发了一些引擎并提供SDK来开发将由引擎加载和“玩”的机器人。我想在nodejs中做同样的事情,编写游戏引擎和用于机器人开发的SDK。
对于可能让SO的问题过于泛化并与个人观点有关(无论node是否合适,可能是个人喜好),我感到很抱歉。
非常感谢任何帮助!