好吧,首先我是 nodejs 的新手,它对我来说看起来很棒!
我真的很想在 nodejs 中与机器人玩家一起构建游戏。这个想法是让机器人玩一些游戏(例如跳棋)。
第一个问题是:
- nodejs 适合这个目的吗?请注意,主要想法不是构建游戏,而是获得异步编程的经验,尤其是 nodejs(因为 node 很酷而且很棒!)。
然后我遇到了另一个问题。虽然用 nodejs 编写 Web 服务器很简单(网上有数百万个示例),但几乎没有示例如何在不阻塞事件循环的情况下编写无限循环,所以问题二:
- 如何在不阻塞主偶数循环的情况下编写无限游戏循环?在 C/C++ 中,我会做类似 while(gIsRunning) {doStuff(); gIsRunning = gameEnded(); 睡眠(毫秒)/延迟(毫秒);}
当然,在我的情况下,游戏是无限的(因为玩家是机器人)并且应该在我没有手动杀死节点进程的情况下运行。
由于游戏是面向机器人的,我希望能够用 JS 编写机器人并将它们包含到主游戏引擎中。所以第三
- 是否可以将机器人编写为独立的 JS 脚本,然后在某种受限环境(沙盒)中加载到节点运行的主游戏引擎中?未来的想法是为机器人开发提供一些基本的 API,我不想运行具有完整功能(fs、套接字等)的第三方机器人。另外我不想手动检查每个第三方机器人的代码。
将此挑战视为所谓的“谷歌人工智能挑战”。Google 开发了一些引擎并提供 SDK 来开发将由引擎加载和“播放”的机器人。我想做同样的事情,但在 nodejs 中,为机器人开发编写游戏引擎和 SDK。
抱歉,这个问题对于 SO 来说可能过于笼统,并且受个人意见的限制(节点是否合适,可能是个人喜好)。
非常感谢您的帮助!