AI也可以玩精灵宝可梦了!

相信很多人童年都玩过《宝可梦》游戏,在这个游戏里面,我们会扮演玩家一路闯关,打赢8个道馆并挑战四大天王,最后获得冠军的梦想。
image.png

游戏的主要玩法就是收服宝可梦,然后一路对战升级。小时候总使幻想着宝可梦能够根据对手,来进行自主战斗。

在这里插入图片描述

这不,有国外玩家在宝可梦游戏中花费5年训练AI。
花费5年时间训练AI玩宝可梦[中英文字幕].花费5年时间训练AI玩宝可梦[中英文字幕].1304947352[00_00_02--00_00_06].gif
并且AI在游戏中玩了两万多局游戏
image.png

在一开始的时候,这个AI只能够乱按各种按钮,并且不懂得如何捕捉宝可梦和进行有效的对战。

在经历了5年的时间,这个AI能够知道如何捕捉宝可梦,并且让他们进化,然后击败道馆馆长。
1.gif

它是如何训练出来的?

要训练这种AI,离不开强化学习的帮助。首先在游戏中设置了对应的奖励:

  • 捕捉宝可梦:1
  • 赢下战斗:3
  • 打赢道馆:5

image.png

除此之外,为了激活AI能够不断探索新的区域,游戏中会保存每一个画面,通过对比当前的画面与上一个画面,来判定AI是否正在学习新的知识。
image.png

如果判定是新的画面,则保存下来,并给AI进行奖励。
image.png

由于一个AI一开始会乱按,需要很久才能学习,因此一开始让多个角色同时玩游戏,2小时候让AI进行回顾,并根据奖励自我更新。
多AI学习[00_00_00 - 00_00_20].gif

AI好奇心过重

从上面的奖励设置来看,会导致AI通常偏向于去探索周边的风景,特别是对于游戏中多种不同的动态元素,AI很容易就学歪了。
AI好奇心过重[00_00_03--00_00_23].gif
AI会经常在某个地方驻足,而不会探索更多区域了。这是因为在刚刚设置的奖励中,只要画面有变化,则会进行奖励。

为了解决这个问题,在画面变化的同时,需要判定每个画面是否像素点变化很多。如果像素点变化较大,才进行奖励。这样会促使AI能够发现之前没有走过的地方。
image.png

经过学习后,发现AI已经开始能够不断探索新区域:
发现新区域[00_00_01--00_00_21].gif

如何训练AI进行战斗

在宝可梦对战的时候,会出现每个画面基本相似的情况,这样很难给予AI相应的奖励。
image.png
这样会使得AI避免更多的战斗,但是做想要通过游戏变得很困难。

因此作者设定了要精灵等级足够高,才有相应的奖励。
image.png

这时候AI就会懂得如何正确进行对战,并知道需要升级宝可梦,同时使得他进化。
image.png

道馆馆主战斗:意外收获技能

在宝可梦游戏中,玩家需要挑战8个道馆馆主,以此来获得徽章来挑战四大天王。

但是一开始,AI在战斗的时候,总是拼命按某一个技能,导致其不会使用其他技能进行攻击。

在训练了第100次左右的时候, 普通技能不能够使用,AI终于意识到自己能够使用水系技能攻击岩石系宝可梦(在宝可梦中存在技能相克,并且水系克制岩石系)
image.png

至此,AI已经能够成功的操作游戏角色进行简单的游玩了。并且作者已经把相应的代码放到github上。

https://github.com/PWhiddy/PokemonRedExperiments

image.png

感兴趣的小伙伴可以根据官网的步骤进行部署游玩。

以上就是本期的所有内容了,我是leo,我们下期再见。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛克-李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值