繁体   English   中英

使用Google App Engine的在线游戏中的人工智能

[英]Artificial Intelligence in online game using Google App Engine

我目前正处于针对Google App引擎的游戏的规划阶段,但是无法确定如何处理AI。 我打算让持久性NPC可以在地图上移动,但是没有编写一个程序来生成用于控制玩家动作的相同XML请求,而不是在另一个服务器上运行它,这使我陷入了困境。 我已经研究了任务队列功能,但是由于长时间运行的进程不是App引擎上的选项,因此我有些困惑。

我打算使用200多个持久性NPC实体运行多个服务器实例,这些实体需要更新。 大多数动作会根据玩家的动作/浓度慢慢漫游,并攻击近距离玩家……(您可能会猜出正在开发的游戏类型)

您的游戏是回合制还是实时型?

无论哪种方式,我都认为您有2种选择可供研究。 一种是使用Cron功能,以便您可以定期安排NPC更新,另一种是每次有人移动时将“ update NPC”任务粘贴到任务队列中。

如果游戏是回合制,那么最好避免执行Cron任务,并在每次玩家移动时更新NPC。 我不确定您打算在地图上放多少,但您甚至可以考虑让玩家对象找到靠近它的NPC并调用其AI例程。 这样,超出播放器范围的NPC完全不会移动,这可以节省资源。 不确定是否如此。

请记住,您还可以将更新分为多个请求(内部):做一些工作,重定向到同一处理程序但状态不同; 做更多的工作; 等等。(我无法以某种方式对Peter Recore的答案发表评论,这才是真正的答案。)

我看到免费服务每天仅允许10万个任务队列调用,因此1个任务/ NPC可能会以太快的速度耗尽您的资源。 Cron工作要做一些工作/创建任务队列以更新大小合适的组中的NPC?

无论如何,只是一些想法; 祝好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM