我目前正在计划一个基于 Google App Engine 的游戏,但在如何处理 AI 方面遇到了一些困难。我打算设置一些持久存在的 NPC,它们会在地图上移动。但除了编写一个程序来生成与我控制玩家动作相同的 XML 请求,然后在另一台服务器上运行之外,我不知道该如何实现。我已经研究过 Task Queue 功能,但由于 App Engine 不支持长时间运行的进程,我有点卡住了。
我计划运行多个服务器实例,并维护 200 多个持久存在的 NPC 实体,我需要不断更新它们。 大部分动作是基于玩家的移动/密集程度缓慢地漫游,以及攻击近距离玩家……(你可能猜到我正在开发的游戏类型了)
回答:
你的游戏是回合制还是实时制?
无论哪种方式,我认为你有两个选项可以考虑。一个是使用 Cron 功能,以便你可以定期安排 NPC 更新。另一个是每次人类玩家移动时,将一个“更新 NPC”的任务放入 Task Queue 中。