问题标签 [game-ai]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 游戏编程新手——根据需要在游戏对象中
我过去曾在 LPC 中为 MUD 做过一些志愿者游戏编程,一切都很简单。如果我想要一个新项目,我会使用一个函数来加载(例如 NPC)任意多次。现在我想编写我自己的小游戏,我一生都无法确定我什至需要做什么。如果我得到的只是我想做的事情的名称,以便进行自己的进一步研究,那就足够了。在谈到所有这些之后,我的问题是:
我想制作游戏中对象(例如人)的动态实例,一些由计算机处理,另一些由玩家处理。我发现很多关于游戏编程的帮助都是关于让精灵移动和处理碰撞检测。这一切都很棒,但是我想编写一个策略游戏,因此我更感兴趣的是在我的游戏中创建一些沙盒灵活性并编写 AI 以提供兴趣,而不是嗖嗖的图形和令人敬畏的声音等。我想设置具有可变数量的随机生成的人供玩家互动的游戏。到目前为止,我已经创建了一个类来处理这些人,但我现在陷入困境,因为该类的每个实例都需要一个唯一的名称,而我在其中进行编程意味着数字中没有随机性。
我需要查找什么来实现我所追求的?它会叫什么?我什至用任何程度的雄辩来解释自己?
预先感谢您对我的任何潜在帮助。
马特。
ios - 如何在 2D 游戏地图上找到最安全/最佳点?
我正在构建一个原型无状态游戏 AI,如果有一种方法可以组合多个数据源并决定2D 方形网格游戏板中的“最佳”位置,我很感兴趣
示例输入:
- 一组玩家/威胁 (x,y) 坐标
- 本回合内可能的移动 (x,y) 坐标数组
- 一系列陷阱
- 一系列地形奖励/惩罚
- 一系列接近友方单位/治疗者
例如,这是我的方法,它计算与一组玩家的最远距离并将怪物移动到那里(如果严重受伤)。我想通过包含来自上述数组的数据来改进这一点。恐怕这会让这些方法变得臃肿——有没有更好的方法来分析我提到的数据?
algorithm - 在 2D 网格游戏板上的移动攻击区域内寻找攻击目标的空间的算法
我正在寻找一个算法名称或实现,它可以从我可以攻击给定目标的有效移动列表中为我提供有效位置。
我有一个 2D 瓷砖地图和一个可以移动一定数量的动作并在一定范围内攻击敌人的英雄。由于地图上的障碍物,英雄的移动区域会有所不同,并且可能会出现漏洞:
在这个问题中我学到了了如何将这个移动区域与攻击区域结合起来,以获得我的英雄在游戏板上施加的总“威胁”范围。在这种情况下,有 2 个敌人在威胁范围内并且可以被攻击:
我正在寻找一个通用算法的名称或信息,它将采用:
- 威胁区域(黄色)
- 有效动作(橙色)
- 目标位置(绿色)
并返回橙色区域内的所有单元格,我可以从中攻击给定目标。因为敌人会施加他们自己的威胁区域,所以我不一定需要最近的方格 - 我会检查可能的移动并选择对我的英雄威胁最小的移动进行攻击。
c# - 子弹不朝向目标
不知道为什么,我已经做了很多次这样的事情,但这给了我一些问题。为 Game AI 制作一个项目,我已经完成了一大堆东西,现在只制作一些炮塔,如果玩家在一定范围内就会开火,我已经这样做了。炮塔发射了子弹,然后由于某种原因它们开始自毁,并没有朝我的玩家前进。想知道这里有没有人可以帮忙,提前谢谢!
您可能需要了解的一些细节:我的炮塔有一个底座、一个枪头和一个枪。我的枪有一个 GunLook.cs 脚本,让它看着玩家(所以当他们射击时它应该朝向他们),我不确定这是否与我遇到这些问题的原因有关,但我我也会发布该代码以防万一
我的炮塔的层次结构是 Turret_AI (Base) Gun (Turret_AI 的子代) bulletSpawn (Gun 的子代) Gun_Nose (turret_AI 的子代)
bulletSpawn 是我创建的一个空游戏对象,希望能解决我的问题。我把它放在枪上,这样它就不会与枪相撞并摧毁自己(我认为它可能在做什么,但不正确)。
这应该是所需的所有信息,如果有人需要更多信息,我将每 2 秒检查一次,所以请告诉我,我会尽快回复您。
TurretScript.cs(在有人问之前,我确实在 Unity 中将 GameObject 设置为 Player)
GunLook.cs
子弹行为.cs
ios - SpriteKit 中敌人的 AI
一段时间以来,我一直在用 sprite kit 制作游戏。我添加了敌人,想知道如何使用 AI 在地图周围控制它们(就像在任何其他游戏中一样)。
我想要的是让敌人在 TMX 地图周围疑惑,根据随机数转弯。我试图这样做,但遇到了很多问题。有谁知道任何可以帮助我的文章?我做了一些研究。“PathFinding”和“A*”出现了,但是有关于如何做的解释或示例代码。任何帮助将不胜感激。
math - 速度调整计算
我正在开发一款 Android 2D“太空战士”游戏,我现在正在开发 AI。
AI(敌人)以一定的速度 V1(V1x,V1y)移动,它想要调整这个速度,以便它以最大速度匹配截距向量。
我知道拦截速度是可以实现的:
我正在寻找的是一种找到单一速度的方法v_correction
,当应用t
时间时,它将使敌人以正确的速度朝向玩家。
我想我正在寻找2个功能:
笔记:
质量和转向时间不相关。想象一下所有质量 = 1,转向某个方向的时间 = 0
此外,我将在 AI 的其他部分需要这些方法(例如,计算敌人将其速度与玩家的速度相匹配所需的时间),因此我需要它们是通用的,这意味着能够计算我给他们的任何速度的校正和时间。
提前致谢!
artificial-intelligence - Lode Runner 中的 AI 寻路
我正在实现 Lode Runner 的一个版本(这个版本),但我不确定如何重现小兵协同工作以使玩家陷入困境的效果,可以使用 A* 来完成,还是有更好的方法?是否有更好的小兵(例如boid)之间的协作算法,或者最好的解决方案是简单地为每个小兵单独应用一个算法?
c++ - 创建一个简单的 2D AI C++
我想了解如何制作一个可以在地图上顺畅行走的 AI(在窗口大小之间)。就像,如果人工智能到达了那个定义的地点,那么它就会走到另一个地点。这是我尝试过的,
首先,我得到一个从 0.0f 到 608.0f 的随机浮点数,因为我的窗口大小是 640,640。
然后,我将我的精灵的当前位置传递给这个函数
在我的消息循环中,这是我调用该方法的方式
精灵确实移动了,但只是向右下方移动。一旦它到达同一个特定的位置,它只会在那里停留并振动......如果我的解释不够清楚或没有提供足够的信息,请原谅。
javascript - 使敌人跟随移动玩家的问题
好的,所以我想制作一个 javascript/html 画布游戏,其中玩家被一些敌人跟踪,经过一点“研究”,她是我的怪物(敌人)类中最重要的部分:
所以我在这里的意思是计算从敌人到玩家的角度,然后使用andatan2()
计算我应该在 x 和 y 轴上移动多少,我计算的速度和角度,然后只是移动计算的像素。cos()
sin()
这一切似乎运作良好,直到我移动玩家,然后敌人开始向奇怪的方向移动。我不知道出了什么问题,如果有人能告诉我这是怎么做的,那就太棒了。:D
您可以在这里看到它的实际效果。*我已根据 PremierBromanov 的建议更新了代码。
c++ - C++ AI 轮换问题
对于我正在制作的游戏,我想要 3 艘船,它们都将按照一系列点在地图上竞速。它工作得非常好,除了地图上的一个点,船决定逆时针旋转几乎 360 度,即使顺时针只有 10 度就足够了。
计算旋转的代码:
我如何确保它不会在那里以错误的方向旋转?
感谢 Richard Byron(以下已接受答案),问题已解决。取点积比使用度数要好。
最终代码: