我目前有一个游戏,大约有1500个非玩家角色,目前正在运行一些AI脚本的变体。现在这个AI非常简单。 NPC只是随机地从一个地方走到另一个地方。这一切都发生在游戏循环中,当前游戏时间为3秒,因为游戏以3秒的间隔播出。
现在我的人工智能似乎没有锁定用户界面,但我想更复杂甚至更多的NPC,它可能会开始在用户界面中造成打嗝。这对网络工作者来说是一个很好的用例吗?我最初的研究告诉我,我不应该创建太多的网络工作者,所以类似的人工智能可能会聚集在一个自己的网络工作者中。
对于任何对实际查看代码感兴趣的人来说,这段代码可以让你很好地了解我正在做的事情,尽管此时已经重写了很多内容。 https://github.com/caimen/subfaction
答案 0 :(得分:0)
所以我做了一些测试,网络工作者似乎是大量NPC AI的一个很好的用例。您确实可以通过Web工作人员在后台进行大量处理来对DOM进行更改。不仅如此,它们确实是线程,实际上至少在Chrome中使用处理器核心。还有其他一些考虑因素,例如实际产生了多少网络工作者,为此我发现了一个漂亮的核心估算器https://github.com/oftn-oswg/core-estimator
有一个很好的工具可能有点过时但仍然有效。它可以衡量有多少网络工作者是您的计算机的理想选择,并提供有关权力的有趣想法。
http://pmav.eu/stuff/javascript-webworkers/
当然,如果你的AI非常简单并且你没有在DOM中遇到延迟,那么就没有必要过度使用它了。