cam*_*cam 30 c++ artificial-intelligence
我一直想知道的东西,尤其是因为它让我在小时候开始编程,这是视频游戏机器人的工作原理吗?我确信有很多不同的方法,但是MMORPG的自动化呢?甚至是FPS型机器人?
我在谈论玩家制造的自动化机器人.
bta*_*bta 49
要"游戏"游戏,您需要能够以编程方式执行两项操作:检测游戏中正在发生的事情,并为游戏提供输入.
检测游戏中发生的事情往往是两者中最难的.执行此操作的一些方法是:
将输入事件生成回游戏通常是更容易的任务.一些方法包括:
请注意,在游戏中运行"僵尸程序"通常违反游戏的使用条款,可能会导致您被暂停,禁止或更糟.在某些司法管辖区,这可能会受到刑事处罚.这是使用游戏内置脚本功能的另一个好处; 如果它被设计成游戏软件的一部分,那么游戏发行商很可能不会禁止你使用它.
Mei*_*bur 12
有一次我自己写了一个简单的MMORPG机器人.我用过AutoHotkey.
所以我所做的就是在屏幕上搜索敌人的名字(存储为带有游戏字体的图片),脚本点击它下方的几个像素进行攻击.如果它太低,它还会跟踪健康栏和盆.
非常琐事.但我知道一个使用AutoHotkey制作的WoW机器人.而且我看到很多其他人都有同样的想法(我的不是魔兽,但也可能是非法的).
更高级的技术不会捕获屏幕,而是直接读取游戏的内存.你必须做很多逆向工程才能完成这项工作.它会在游戏更新时停止工作.
个人如何日常工作?
这是游戏中的AI解决的问题.
您希望您的实体做什么?编码您的实体来做到这一点.如果你想让你的怪物追逐玩家的化身,怪物只需要面对化身然后向它移动.当该怪物进入合适的距离时,它可以选择咬住玩家头像,并且这种选择可以简单AmICloseEnough(monster, player);或更复杂甚至随机.
FPS中的机器人很难做到正确,因为它很容易让它们变得完美但却不那么容易让它们变得有趣.例如,他们总是知道玩家的确切位置(gPlayer.GetPosition()),因此每次都可以轻松地将玩家击中.让机器人像人类一样移动需要一些"艺术".