Articles of BOT

包围并计数网格中的对象数量

有一个正方形的网格,其中有空的和填充的块。 一些连续的块形成一个对象。 我的机器人可以找出它相邻的8个街区的状态(无论是否填满)。 如果在那里没有填充的块,它可以移动到邻近的位置。 我有2个问题 第一 : 我的代码适用于没有狭小空间的情况(即对象之间至less有两个空白块)。 但是,如果在两个块之间可能有一个单独的空间的情况下,由于我的机器人无法知道相邻的填充块是否属于相同或不同的对象,它不能包围对象。 有没有办法解决这个问题? 另一个问题: 什么是最好的search策略呢? 我一直在考虑在相邻的空间分配奖励,如果我访问这个相邻的空间,它将允许我访问多less个未访问的空间,但是一个更简单的策略似乎是:继续往右走直到你碰到墙,上升,继续向左,然后向上和向右….这种方法是否有一个捕获?

video游戏机器人和NPC是“人工智能”的程度如何?

维基百科说: 在电子游戏中,这通常意味着通过人工智能由计算机控制的角色。 〜https ://en.wikipedia.org/wiki/Non-player_character 在video游戏中,bot是一种弱的AI专家系统软件,对于程序的每一个实例来说, 〜https ://en.wikipedia.org/wiki/Video_game_bot 然而据我所知,这样的机器人和NPC太难以编码或者明确地编码以准确地称为“人工智能”。 主要是他们缺乏从玩家dynamic学习的能力。 亚瑟·塞缪尔(Arthur Samuel)把“人工智能”称为“ 使计算机没有明确程序地学习的能力的学习领域 ”(1959)。 那么,如果机器人和/或NPC被指定为“人工智能”(如果它们(或者它们的一个子集)),那么到什么程度呢?

如何从外部程序获取魔兽争霸3的游戏内数据?

我正在实施一个行为algorithm,并希望用我可爱的魔兽争霸III游戏来testing它,看看它将如何与真实玩家对抗。 我遇到的问题是我不知道如何从运行的WC3游戏中获取关于游戏内状态(单位,结构,环境等)的信息。 我的algorithm需要访问硬盘和可能的分布式计算,这就是为什么JASS(WC3的编辑语言)不合适; 我需要从一个单独的进程运行我的algorithm。 Direct3D挂钩是一种方法,但对于WC3还没有完成,而且这种方法的一个明显缺点是无法观看AI如何在线执行,因为它使用视口来发出命令。 我如何以最快,最简单的方式在不同的过程中读取WC3中的游戏数据? 正是我需要的魔兽争霸3存在的星际争霸: BWAPI 。

什么使得难以保护BF3和Quake Live中的黑客/机器人?

玩过这些游戏后,询问其他玩家/管理员,然后在网上阅读,我就相信Quake Live和Battlefield 3会被机器人经常光顾,并且有很多种类的黑客。 我很困惑这是怎么可能的,甚至很容易看到有多less玩家可以访问这些“工具”(原文如此)。 游戏作者是不是可以对游戏可执行文件进行数字签名,以便在运行时,服务器可以确保只有被允许的客户端发送命令,从而防止任何forms的滥用? 即每个玩家的命令将由私钥签名,或对称encryption(不知道哪个更有意义)。 我知道玩家可以查看正在运行的可执行文件的行为(内存等),但是如果游戏显然很容易被黑客入侵,那么大多数应用程序是不是应该被黑客入侵呢(例如,Skype,运行在Windows上的所有DRM等)?

如何写AI自动播放,可以自动播放拍摄他们的游戏?

在射击游戏中,我想要AI玩家可以占据玩家的位置并玩游戏(比如在这个video中 )。 但是,他们应该有不同的口味(不同的能力和玩法)。 问题是相关的math和AI编程对我来说是非常新的。 我应该从哪里开始? 现有示例代码/库/工具的建议,阅读材料或建筑/algorithm的建议都是受欢迎的。 提前致谢!

开源的AI Bot界面

什么是一些开源的AI Bot界面? 类似于Pogamut 3 GameBots2004用于定制虚幻竞技场的机器人或用于星际争霸机器人的Brood Wars API等。 如果你可以请每个答案张贴一个人工智能机器人接口(请确保提供一个链接),并给出一个简短的总结博客文章的内容。 请包括它是什么types的机器人接口结构,客户机/服务器,服务器/服务器等 例如BWAPI是模拟真实玩家的客户端/服务器

游戏机器人如何看待游戏世界和其他实体?

这个问题一直在我脑海中,主要是因为我看到像WoW和其他游戏的各种游戏的机器人。 我的问题是 机器人怎么知道屏幕上出现了什么? 我不玩WoW,所以我的例子可能是错的,但是如果有一个怪物,机器人怎么知道这个怪物在屏幕上的位置,以及它如何知道如何与它交互呢? 你可以将它应用于任何游戏吗?还是每个游戏都是特定的? 如果问题不清楚,我很抱歉…我不是在问如何制作一个机器人,更多地问他们如何检测屏幕上的东西,因为它相当吸引我! 提前致谢 :)