gpt4 book ai didi

node.js - nodejs 游戏循环和外部脚本文件

转载 作者:搜寻专家 更新时间:2023-10-31 23:49:38 26 4
gpt4 key购买 nike

首先,我是 nodejs 的新手,它对我来说看起来很棒!

我真的很想在 nodejs 中与机器人玩家一起构建游戏。这个想法是让机器人玩一些游戏(例如跳棋)。

第一个问题是:

  • nodejs 适合这个目的吗?请注意,主要想法不是构建游戏,而是获得异步编程尤其是 nodejs 的经验(好吧,因为 node 很酷而且很棒!)。

然后又遇到了一个问题。虽然在 nodejs 中编写 Web 服务器很简单(网上有数百万个示例),但几乎没有如何在不阻塞事件循环的情况下编写无限循环的示例,所以问题二:

  • 如何在不阻塞主偶数循环的情况下编写无限游戏循环?在 C/C++ 中,我会做类似 while(gIsRunning) {doStuff(); gIsRunning = gameEnded(); sleep (毫秒)/延迟(毫秒);

当然在我的情况下游戏是无限的(因为玩家是机器人)并且应该在我没有手动终止 Node 进程时运行。

由于游戏是面向机器人的,我希望能够用 JS 编写机器人并将它们包含到主游戏引擎中。所以第三

  • 是否可以将机器人编写为独立的 JS 脚本,然后加载到在某种有限环境(沙盒)中由 Node 运行的主游戏引擎中? future 的想法是为 bot 开发提供一些基本的 API,我不想运行具有完整功能(fs、sockets 等)的第三方 bot。我也不想手动检查每个第三方机器人的代码。

将此挑战视为所谓的“Google AI 挑战”。 Google 开发了一些引擎并提供 SDK 来开发将由引擎加载并“播放”的机器人。我想做同样的事情,但在 nodejs 中,为机器人开发编写游戏引擎和 SDK。

很抱歉让这个问题对 SO 来说可能过于笼统,并且受限于个人意见( Node 是否合适,可能是个人喜好)。

非常感谢您的帮助!

最佳答案

为了让您开始回答第一个问题,您可能对 mozilla 的名为 BrowserQuest 的 HTML5/Node.js 游戏感兴趣 http://browserquest.mozilla.org/

源代码在这里https://github.com/mozilla/BrowserQuest

实现沙盒效果的一种方法是,您可以为机器人逻辑运行多个 node.js 进程并使用 RPC 库,如 https://github.com/substack/dnode您的主游戏循环进程使用什么来获取机器人操作?

关于node.js - nodejs 游戏循环和外部脚本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10411902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com