Questions tagged «ai»

游戏中实体如何做出有关其行为的决策的设计和/或逻辑。

3
如何为文字游戏模拟有限的AI词汇?
我正在进行一些竞争性的文字游戏,尽管偏爱与其他人类对手进行游戏(大多数是异步的),但我想为玩家提供对抗AI的选择。我有我的字典,可以在播放过程中轻松地向AI提供完整的字典知识,但是我担心的是,让AI定期播放他们不熟悉的单词会给玩家带来沮丧的体验:“我会赢得这场比赛如果只是用我知道的话!-即使AI的整体技能水平被调低了。 我宁愿通过(未)调整的游戏参数和较弱的词汇组合来创建较弱的AI,但我不确定如何将词汇限制为“常用”单词。我看过几个单词出现频率列表(例如,出现在古腾堡计划书中的所有单词的列表,按出现的次数排序),但它们都有很多假否定词:每个人都知道的单词根本不会t以任何实际频率显示(例如,CHEETAH在PG文本中的显示频率低于VOCATIVE或SUTTEE)。我尝试使用搜索结果来估算单词的受欢迎程度,但它们也往往容易出现虚假的错误估算,当然, 是否有人对确定单词使用频率粗略的其他好方法或限制玩家觉得自然的其他限制文字游戏AI的方法提出建议?
14 ai 

4
RTS游戏AI线程
我有一个从头开始制作实时策略游戏的项目。我仍处于早期计划阶段,但是我已经进行了一些编程以了解其机制。 我知道如何编程。我对如何构造游戏类和面向计算机玩家的基于规则的(状态机)AI也有很好的想法。 我想开发一种教义,它会赋予特定单位特定的行为(但可以同时在多个单位上使用),例如侦察兵,跟随任务路线,保持位置(攻击不速之客或退缩)等 该学说仅适用于单位,因此它将具有单位的观点,而对整个地图的状况并不了解。 计算机AI将分析整个可见图,并根据另一套规则决定分配哪个单元的学说。 我正在C#和OpenGL中执行此操作。 就目前而言,在我开始主要构想之前,我还没有太多东西在测试中。我有一个游戏循环,所有游戏处理(我将其依次称为更新运动,战斗,渲染等)将发生,如果发生Application.Idle事件,则经常调用该循环。 现在,我在想。由于游戏循环中有很多事情要处理,因此计算机AI和单位应该在该循环中选择其动作还是会太慢? 如果我希望所有事物都同时存在,是否应该为计算机AI创建单独的线程?甚至每个单元都有单独的线程? 我在多线程方面没有太多经验。最好的方法是什么?
14 c#  ai  multithreading 

1
何时使用混合树与状态机进行动画制作
我是一位经验丰富的游戏开发者,最喜欢用3d动画角色制作游戏(在Unity中),并且努力弄清楚何时使用混合树与动画状态机。我从概念上理解了两者,但是在Unity和其他来源的大量教程中都看到了混合树和用于角色动画的动画状态机。我不确定何时/为什么一个人比另一个人更好,希望有人能指出我正确的方向。 我的游戏是第三人称角色扮演游戏rpg a'la WoW或KOTOR或Mass Effect(我知道不同的系统,但视角和战斗风格在较高水平上是相近的)。我有无数动画来制作攻击,格挡,假装,死亡,行走,奔跑,跳跃,射击等,但是我不清楚如何自然地将它们排序。 我已经看到用于运动的混合树在尝试保持角色运动流畅性时对我来说很有意义,但是我不明白如何从该混合树进入攻击状态,到目前为止,我还没有看到任何东西超出运动范围(没有攻击等等)。我需要从运动状态到攻击/死亡/闪避状态制作混合树吗?我是否仅使用状态机就拥有更多控制权?我对状态机有点谨慎,因为它们非常常见,而且我怀疑在不混合的情况下,变态动画排序的潜力更大。 我打算使用Unity字符控制器并编写自己的逻辑脚本来驱动它。对于AI,我将使用内置的导航网格物体代理。角色控制器动画的处理方式是否与AI动画不同? 任何见解都将受到欢迎! 谢谢

1
给Bomberman AI智能炸弹放置
我正在尝试为Bomberman实现AI算法。目前,我有一个可行但不是很聪明的基本实现(当前的AI在放置炸弹方面过于狂热)。 这是我尝试实现的第一个AI,我有点受困。我想到的更复杂的算法(我希望做出更好决策的算法)过于复杂,无法成为好的解决方案。 您对实施Bomberman AI有哪些一般提示?是否有根本不同的方法使机器人更具防御性或进攻性? 编辑: 当前算法 我当前的算法是这样的(伪代码): 1)尝试放置一颗炸弹,然后从所有炸弹中找到一个安全的牢房,包括刚刚放置的炸弹。要找到该单元,请在四个方向上进行迭代。如果您可以找到任何安全的发散单元并及时到达(例如,如果方向是向上或向下,则在此路径的左侧或右侧找到一个单元),那么放下炸弹并移动是安全的在那个方向上。 2)如果找不到并确保发散细胞的安全,请不要放置炸弹,然后再看一次。这次,您只需要在一个方向上寻找一个安全的牢房即可(您无需与之分离)。 3)如果您仍然找不到安全的牢房,请不要做任何事情。 for $(direction) in (up, down, left, right): place bomb at current location if (can find and reach divergent safe cell in current $(direction)): bomb = true move = $(direction) return for $(direction) in (up, down, left, right): do not place …
13 algorithm  ai 

2
如何在射击游戏中实施聪明的敌人?
想象一下一个非常简单的射击游戏,众所周知: 您是玩家(绿色)。您的运动仅限于X轴。我们的一个或多个敌人位于屏幕的顶部,他的移动也仅限于X轴心。玩家向敌人发射子弹(黄色)。 我想为敌人实施一种AI,该AI应该真正擅长避免玩家的子弹。我的第一个想法是将屏幕分成多个独立的部分,并为其分配权重: 有两种重量:“子弹重量”(灰色)是子弹施加的危险。子弹离敌人越近,“子弹重量”(0..1,其中1是最高危险)越高。没有子弹的车道的权重为0。第二权重是“距离权重”(灰绿色)。对于每条车道,我都会增加0.2移动成本(此值现在是任意的,可以调整)。 然后,我简单地添加权重(白色)并转到权重最低的通道(红色)。但是这种方法有一个明显的缺陷,因为它很容易错过局部最小值,因为最佳的去处只是在两个传入的子弹之间(如白色箭头所示)。 所以这就是我要寻找的: 即使在没有没有施加子弹威胁的地方的情况下,也应该找到解决方法。 敌人可以通过选择最佳(或几乎最佳)解决方案来可靠地躲避子弹。 算法应该能够考虑子弹的移动速度(因为它们可能以不同的速度移动)。 调整算法的方法,以便可以应用不同级别的难度(对超级智能敌人是愚蠢的)。 算法应该允许不同的目标,因为敌人不仅想躲避子弹,还应该能够射击玩家。这意味着在躲避子弹时,应该优先选择敌人可以向玩家射击的位置。 那么您将如何解决呢?与这种类型的其他游戏相反,我只希望有几个但非常“熟练”的敌人,而不是愚蠢的敌人。

7
象棋一样的AI真的不适用于回合制策略游戏吗?
显然,尝试将最小-最大算法应用于完整的动作树仅适用于小型游戏(我向所有国际象棋爱好者表示歉意,“小”并不表示“简单化”)。对于典型的回合制策略游戏,其中棋盘通常宽于100块并且一侧的所有棋子都可以同时移动,因此,最小-最大算法不适用。 我想知道是否将局部最小-最大算法限制为每个深度的N个板配置还不够好?使用遗传算法,可能有可能找到许多对评估功能有用的电路板配置。希望这些配置也可以很好地实现长期目标。 如果以前没有想到并尝试过,我会感到惊讶。有吗 它是如何工作的?
13 ai  turn-based 

5
射击游戏中的敌人进化
有没有射击游戏中的敌人实际上在进化,以回应他们对玩家的相对成功? 通过进化,我的意思是每个敌人都有一些编码其行为的遗传信息。持续时间更长或造成更大伤害的敌人可以混合它们的基因来制造新的敌人。这样,敌人将变得更好地适应特定玩家。

2
预测敌人的位置,以使物体领先于目标
在我的2D游戏中,我有AI炮塔,应该通过自动向敌人射击来辅助玩家。我想让他们明智地开火并领导目标,而不仅仅是瞄准敌人的当前位置。因此,给定敌人和炮塔的弹丸的(始终是恒定的)速度和位置矢量,我如何找到一个代表炮塔必须相交的实际位置的矢量,以使弹丸与敌人相交(并命中)? 任何描述数学,算法等文章的链接将不胜感激!
13 algorithm  ai  aiming 

1
是否有可以处理不同运动类型的寻路算法?
我正在为BattleTech桌游模拟器http://en.wikipedia.org/wiki/BattleTech开发一个机器人,它是回合制的。 木板分为六边形,每个都有不同的地形类型和标高。您驾驶一个在它们上方移动的机器人,以摧毁其他机器人。 我只知道Dijkstra和A *寻路算法,但是问题是有3种类型的运动:步行,奔跑和跳跃几个六角形(每个都有自己的规则)。走路和跑步几乎相同。 最佳路径可以是组合,也可以是每种运动类型。这是地图的示例http://megamek.info/sites/default/files/isometric_view.png 您是否知道用于这种复杂寻路的好算法,或者为每种运动类型组合A *结果的方法?

4
回合制游戏中的战略性AI?
我对战略性AI引擎的工作方式感兴趣,例如,如何评估在回合制战略游戏中的部队部署位置等。 我确实了解了基于目标的AI的工作原理,我想这是决定在《文明》这样的游戏中构建或研究内容的一种好方法。 但是部队/部队的战术/战略定位。哪些算法/策略用于评估那些东西?有参考文件/文章吗?

2
如何在大型网络世界中处理实体寻路和运动?
考虑到上面的图像将瓷砖分成32x32的框,我有一个实体被标记为“ aggro”附近的玩家。我希望这个怪物理想地追逐玩家(并继续追逐玩家一段时间)。目前,我的唯一动作是使用一个用于远程实体的简单插补器完成的,这是可行的,因为动作更新之间的差距很小。 我不能成功地仅仅告诉客户怪物想要移动到他/她所处的位置,因为这将导致实体移动得比其应该快得多(这可以通过对插值函数使用一些数学运算来解决) -有效),但更重要的是,它看起来不太现实,可能会夹住墙壁!如果可以避免,我不想在服务器上模拟整个运动……虽然我想我可以,但是仍然不能解决裁剪问题。我怀疑该解决方案涉及一些寻路,并向客户端发送定期的节点更新,并让它们模拟运动,但是我不确定。 谢谢!

1
预先计算的寻路是否仍然有意义?
语境 老卢卡斯艺术公司(ScummVM时代)使用预先计算的寻路来点击图形冒险游戏。这是该技术的粗略概述。 第1步 每个房间的地板都被划分为所谓的“步行箱”,它们几乎等同于导航网格中的节点,但仅限于梯形形状。例如: ______ _____ _________ _____ \ A | B | C | D \ \_____| | |_______\ |_____| | |_________| 第2步 离线算法(例如Dijkstra或A *)将计算每对节点之间的最短路径,并将路径的第一步存储在2D矩阵中,并在每个维度中由使用的起始节点和结束节点进行索引。例如,使用上面的步行框: ___ ___ ___ ___ | A | B | C | D | <- Start Node ___|___|___|___|___| | A | A | A | …

4
我的角色会在哪里停下来?
许多年前,我为预算伪3D游戏编写了一些AI。我从来没有真正计算出最好的方法,这是计算一次,如果敌人现在停下来了,那敌人会去哪里。例如: 敌人目前位于X = 540.0。 敌人以每帧10像素向右移动。 当敌人想要停止时,它的速度将每帧降低1像素,直到达到零。 有没有一个简单的公式可以让我知道敌人完全停止时其最终位置?我最终对可以满足我的需求的偏移量进行了预先计算和硬编码,但对于速度不同的敌人,则必须分别计算。

3
四处移动/避免障碍
我想写一个“游戏”,在其中可以放置一个障碍物(红色),然后黑点尝试避开它,并到达绿色目标。 我正在使用一种非常简单的方法来避免这种情况,如果黑点接近红色,它会改变方向,移动一会儿,然后向前移动到绿点。 如何为计算机控制的“玩家”创建“平滑”路径? 编辑:不是光滑度是主要重点,而是要避免红色阻塞“墙”,而不是撞向它,然后再避免它。 如果我只有3分,我该如何实施某种寻路算法? (如果您可以设置多个障碍,这会使事情变得更加复杂吗?)
12 ai  path-finding 

3
我应该如何实现单位的​​敌人“意识”?
我正在使用Unity3d开发RTS / TD混合原型游戏。在单位与敌人之间进行“意识”的最佳方法是什么?让每个单位检查到每个敌人的距离并在范围内交战是否明智? 我现在要采用的方法是在每个单元上都有一个触发范围。如果有敌人进入扳机,则部队会察觉到敌人并开始距离检查。这样可以节省一些不必要的检查吗? 最佳做法是什么?
12 ai  unity  rts 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.