暴雪游戏遭遇AI“实力”坑队友:四处游走,还不参与战斗

640?wx_fmt=gif

640?wx_fmt=gif

作者 | 琥珀

出品 | AI科技大本营(ID: rgznai100)

“打游戏 AI 将完胜人类!?”

抱歉,这个 Flag 还是不要立得太早,尤其是面对我们这种普通的游戏爱好者时。


640?wx_fmt=png

AI 再现智障行为


前不久,在暴雪娱乐的论坛上出现了这样一条帖子:“did-they-make-the-ai-worse?”

640?wx_fmt=jpeg

一位名为“Shady”的玩家指出,“整整 16 分钟,机器人助攻 10 次不到,英雄伤害 10 次不到,就结束了比赛。而且,同样的事情发生不止一次……”在他看来,新版本的《暴风英雄》让 AI 的表现更糟了,尽管它的表现就一直不尽如人意。简直让喜欢玩人机对战的玩家难受。

为了保留证据,这位玩家还专门保存了录播视频,等待官方的回应。

传送门:https://eu.forums.blizzard.com/en/heroes/t/did-they-make-the-ai-worse/1772

(感兴趣的玩家可自行下载尝试)

除了帖子中这位玩家遇到的 AI 四处游走、不参与战斗的情况外,电玩巴士 还总结了这个 AI ”坑友“的其他问题:

示意跟随后,AI 毫无反应或原地满血回城;不跟随情况下疯狂打野,单挑 Boss 自杀;机制触发前己方若人数少于敌方,直接放弃机制回到兵线上; 极度避免团战;漏兵线,不推塔……

据了解,这款出了“AI 乱子”的《风暴英雄》正值“毒蛇抵抗军”新皮肤的上线。

640?wx_fmt=png

尽管,随后涉事方暴雪娱乐表示:开发团队已经知晓该问题,并正进行修复,将于近期上线修正补丁,但显然以上问题并不足以平息接下来玩家对《风暴英雄》人机对战中 AI 的不满。

一个月前在《星际争霸 II》中轻松战胜人类职业选手的 AlphaStar(在 APM 限制为 180 的条件下,以总比分 2:0 分别战胜两位职业人类选手),正是来自与暴雪宣布合作的 DeepMind。早在 2016 年 11 月,DeepMind 就宣布与暴雪在《星际争霸 II》中合作开展机器学习的相关研究。

那么,为何在暴雪的另一款《风暴英雄》的人机游戏中,AI 的表现却可以形容为智障呢?


640?wx_fmt=png

对《风暴英雄》知之者,甚少


先让我们先来了解一件事:

去年年底,暴雪方面宣布,从 2019 年起,将停办《风暴英雄》全球锦标赛与北美宿舍英雄,并同时将部分游戏设计师转移到别的项目中。在此前玩家的口中,该游戏一直有个“风暴要火”的梗,而该消息宣布后直接导致许多战队解散、选手失业,“风暴第一人”韩国职业选手 rich 甚至在 Twitch 上直播了卸载《风暴英雄》的全过程。“风暴”就此凉凉?

640?wx_fmt=png

可能是因为《风暴》从来没火过,所以也不存在凉凉。

相比之下,除了《星际争霸II》,《魔兽世界》、《暗黑破坏神III》、《守望先锋》()等都可以称之为暴雪娱乐的经典之作。

640?wx_fmt=gif

而 2013 年内测、2015 年正式上市的《风暴英雄》从一开始就未能获得玩家的认可,不少媒体认为该游戏过于强调团队协作,让玩家很难拥有英雄个人的游戏体验。

甚至有人当时评论:

640?wx_fmt=png

《风暴英雄》已经进入打 AI 刷子时代,“玩法主要是组队打电脑 AI,不断送死,增加游戏时间(根据游戏时间奖励经验),通常时长 1 小时左右击败电脑,可以获得高额经验。”

这又是机器人的锅?

在玩家眼中,一般将控制 NPC(Non-Player Character)行动/交互/动作等动作背后的因素统称为 AI。实际上,这种 AI 在早期的 2D 时代就有了,例如我们当时玩的单机游戏《吃豆人》、《超级马里奥》,其实就是在对抗机器人。

就以最近的”AlphaStar 虐杀职业星际玩家“事件为案例,少数派 指出,

电子游戏中的 AI 系统,本质上其实是一系列的 if this,then that 的条件语句……实际的情况可能要比这个复杂的多,会出现 if this and this but not this……这种十分精确的条件,这时候电脑自然要对符合条件的指令进行运算,来让这些 NPC 看起来拥有与人类一样的”智慧“,但它并不会进行任何自我学习。

尽管能够进行自我学习的机器学习在科技领域风头正热,但大多数的游戏作品还是采用了”行为树“(Behaviour Trees)这种技术来进行 AI 交互部分的设计。

因此,”AlphaStar“或”AlphaGo“这类与职业玩家进行人机对战的 AI,其实是与传统玩家手中的的游戏 AI 在设计目的性上有很大不同,这也造成了技术上的差异性。

640?wx_fmt=jpeg

图片来源于官网

而在《风暴英雄》这个案例中,则面对更多的是普通玩家。对于他们来讲,可以自行选择新手模式、终极模式等不同难度的游戏。假如选择后者,可能会非常难打,因为这个模式会自动选择职业水平的模板,并不是根据玩家的操作习惯学习。

反之,如果是根据玩家的操作习惯,这个 AI 的水平短时间内会比较低,因为它需要不断地自我学习来提高。显然,这对于追求娱乐的用户体验来讲是不能接受的,普通玩家们希望的是与自己水平相当或更好的对手/队友。

这就存在两点问题:一是,游戏开发商是否在未达到一定学习程度就把 AI 投入了运营,导致用户体验差;二是,这个 AI 是否具备快速的自我学习能力,如果没有,应该提前告知用户,并进行内部 beta 测试和改进。

不管是哪个原因,暴雪娱乐都难逃责任。

另一方面,DeepMind 、OpenAI 等机构一直以来试图通过《星际争霸》、《DOTA2》这样的人机对战,将神经网络在玩游戏的过程中不断训练提升,其目的之一就是开发一套足够好的人工智能系统。

例如,《星际争霸》中的“战争迷雾”机制存在的不完全信息博弈,《DOTA2》中的”五V五“模式蕴含的多智能体连续控制任务等复杂问题,均是研究人员着力提升 AI 水平的方向。

正如一位玩家曾这样描述理想中的 AI:

”风暴(英雄):丢锤子,判断射程,预判下半秒运动轨迹,检索目标与自己之间有无障碍,锤中下一步如何,锤不中下一步如何……“

未来,在普通玩家游戏中,AI 对战人类,胜算几何?仍值得想象。

 热 文 推 荐 

苹果无人驾驶拿 124 个工程师祭天!

“SQL 被低估了!”

网易、苹果纷纷裁员;抖音遭罚 570 万美元;华为三星和解 | 极客头条

程序员如何实现财富自由?

如果中本聪没说错,这场战争美国输定了!

☞《流浪地球》票房:预测10亿却飚50亿 ,数据预测为什么这么难

☞ 暴雪游戏遭遇AI“实力”坑队友:四处游走,还不参与战斗

☞ 神操作!这段代码让程序员躺赚200万?给力!

print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"

640?wx_fmt=gif点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

640?wx_fmt=png喜欢就点击“好看”吧!
展开阅读全文

战斗系统模块_敌人AI脚本(A)

06-05

<span style="font-size:18px;">      《地下守护神》是暗黑魔幻风格的ARPG手游,是真正按照商业级技术水准研发的Unity大型教学案例。这是“刘老师讲Unity”课程体系中到目前为止最重量级教学课程,本课程将带领大家从手游前端各重要功能开发(基于MVC框架搭建、)到网络端的方方面面知识点,一一进行详细还原讲解,使得学员在短期内</span><span style="font-size:18px;">游戏研发能力有个质的突破,“主程”虚位以待,等待您的加入。</span><br /><p>n <br /></p>n<p>n <span style="font-size:18px;color:#E53333;"><strong>单机版主要技术点:</strong></span>n</p>n<span style="font-size:18px;">    1: 前端分层的MVC架构设计,开发自定义的资源动态加载插件、音频插件、对话系统插件、事件监听插件、自定义强大的对象缓冲池脚本插件进行项目性能大幅提升等。</span><br /><span style="font-size:18px;">    2: UI粒子特效、场景淡入淡出控制。</span><br /><span style="font-size:18px;">    3: 单机与移动端的双输入控制系统开发。</span><br /><span style="font-size:18px;">    4: 数值平衡处理与开发。</span><br /><span style="font-size:18px;">    5: 多种设计模式在游戏研发过程中的灵活运用。</span><br /><span style="font-size:18px;">    6: XML技术的灵活运用,在系统解耦与资源国际化方面的技术突破。</span><br /><span style="font-size:18px;">    7: 开发强大灵活的日志系统插件,应对服务器与移动端的各种复杂系统调试需求。</span><br /><p>n <br /></p>n<p>n <span style="font-size:18px;color:#E53333;"><strong>温馨提示:</strong></span>n</p>n<p>n <span style="font-size:18px;">        本课程使用Virtual Studio2012,以及Unity5.2 进行开发与讲解。(推荐学员使用Unity5.2 版本减少开发过程中不必要的麻烦,VS使用更高版本则没有任何影响。)</span>n</p>n<p>n <span style="font-size:18px;"><br /></span>n</p>

战斗系统模块_敌人AI脚本(B)

06-05

<span style="font-size:18px;">      《地下守护神》是暗黑魔幻风格的ARPG手游,是真正按照商业级技术水准研发的Unity大型教学案例。这是“刘老师讲Unity”课程体系中到目前为止最重量级教学课程,本课程将带领大家从手游前端各重要功能开发(基于MVC框架搭建、)到网络端的方方面面知识点,一一进行详细还原讲解,使得学员在短期内</span><span style="font-size:18px;">游戏研发能力有个质的突破,“主程”虚位以待,等待您的加入。</span><br /><p>n <br /></p>n<p>n <span style="font-size:18px;color:#E53333;"><strong>单机版主要技术点:</strong></span>n</p>n<span style="font-size:18px;">    1: 前端分层的MVC架构设计,开发自定义的资源动态加载插件、音频插件、对话系统插件、事件监听插件、自定义强大的对象缓冲池脚本插件进行项目性能大幅提升等。</span><br /><span style="font-size:18px;">    2: UI粒子特效、场景淡入淡出控制。</span><br /><span style="font-size:18px;">    3: 单机与移动端的双输入控制系统开发。</span><br /><span style="font-size:18px;">    4: 数值平衡处理与开发。</span><br /><span style="font-size:18px;">    5: 多种设计模式在游戏研发过程中的灵活运用。</span><br /><span style="font-size:18px;">    6: XML技术的灵活运用,在系统解耦与资源国际化方面的技术突破。</span><br /><span style="font-size:18px;">    7: 开发强大灵活的日志系统插件,应对服务器与移动端的各种复杂系统调试需求。</span><br /><p>n <br /></p>n<p>n <span style="font-size:18px;color:#E53333;"><strong>温馨提示:</strong></span>n</p>n<p>n <span style="font-size:18px;">        本课程使用Virtual Studio2012,以及Unity5.2 进行开发与讲解。(推荐学员使用Unity5.2 版本减少开发过程中不必要的麻烦,VS使用更高版本则没有任何影响。)</span>n</p>n<p>n <span style="font-size:18px;"><br /></span>n</p>

我的社区--押宝游戏--我参与游戏

12-24

“/”应用程序中的服务器错误。rn--------------------------------------------------------------------------------rnrn超时时间已到。在操作完成之前超时时间已过或服务器未响应。 rn说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 rnrn异常详细信息: System.Data.SqlClient.SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。rnrn源错误: rnrn执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 rnrn堆栈跟踪: rnrnrn[SqlException (0x80131904): 超时时间已到。在操作完成之前超时时间已过或服务器未响应。]rn System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1950890rn System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4846875rn System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194rn System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392rn System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +33rn System.Data.SqlClient.SqlDataReader.get_MetaData() +83rn System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297rn System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954rn System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162rn System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32rn System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +141rn System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +12rn System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +10rn System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +130rn System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) +162rn System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) +115rn CSDN.Community.DataProvider.CommunityDataProvider.GamesListByUserGet(String WhereSearch, String OrderByStr, Int32 PageSize, Int32 CurrPage, Int32& SumCount) +602rn CSDN.Community.WebSite.Games.UserGamesList.Page_Load(Object sender, EventArgs e) +286rn System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14rn System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35rn System.Web.UI.Control.OnLoad(EventArgs e) +99rn System.Web.UI.Control.LoadRecursive() +50rn System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627rnrn rnrnrn--------------------------------------------------------------------------------rn版本信息: Microsoft .NET Framework 版本:2.0.50727.3615; ASP.NET 版本:2.0.50727.3618 论坛

没有更多推荐了,返回首页