椎名 まゆり 发表于 2020-7-9 01:01
性能上问题应该不大的.渲染好的画面,喂给玩家和喂给ai能差多少.
既然是模拟人的视觉,那可不是一帧之内就要 ...
显然怪物的眼睛和玩家的屏幕看到的东西不一样,需要重新render(相当于shadow map),而infer要用到已经满负荷的GPU,需要额外硬件单元支持(相当于DLSS)。一个怪保守估计就是加了一层shadow map(render)+DLSS(infer)的计算量。 没意义。搞这些东西之前先把典型游戏类型的基本规则搞清楚先,看看都是怎么实现识别的,然后再过脑子再想想 本帖最后由 MonicaRuan 于 2020-7-9 00:20 编辑
ppp爱好者 发表于 2020-7-8 23:12
常用ai做法是全局知晓,然后调参模拟我不知道你在哪,exp:lol的ai不知道你藏草丛
楼主想说的如果是非要用 ...
你后面说的模拟视觉获得的信息不能转化成有用的参数贡献到全局策略AI吗(比如influence map)? 还是说实际价值不大(加入不加入对实现影响不大)?我不懂技术,只是觉得你既然后面说视觉信息很有用,但是第二句话又对它在宏观信息贡献度为0(?)的说法到感到困惑 除非构思出一套相关玩法,否则这么折腾对游戏没意义。把全局信息剪裁采样再识别这一整个过程都有确定的数学关系,玩点何在?还不如改进现在这种易实现易理解、加点随机和混淆的ai警惕值方式。
-- 来自 有消息提醒的 Stage1官方 Android客户端 本帖最后由 MonicaRuan 于 2020-7-9 00:24 编辑
Lunamos 发表于 2020-7-8 23:22
拿到场景语义也要算遮蔽,只不过现在的潜行游戏只需要算主角包围盒就行了,如果有其他复杂交互的话可能还是 ...
在不考虑我是否能看懂的情况下,可以稍微展开讲一下破折号后的三个分句吗?比如举一个具体的例子,或者你想到的什么模型(提供一下术语) 有那么复杂?mgs1里小地图不是给了小兵的可视化视野吗 MonicaRuan 发表于 2020-7-9 00:18
你后面说的模拟视觉获得的信息不能转化成有用的参数贡献到全局策略AI吗(比如influence map)? 还是说实 ...
就我所知可以贡献到全局。只是就楼主讨论的这套,一般是用在单个ai的感知上,ai之间互相传信息肯定没问题。
其实视觉信息或者说主动感知这套没想象的那么有用。
首先ai策略本身受制于游戏数值,策略并不会突破数值本身,所以数值差过大(敌人过强),都会出现ai策略失去意义。
其次和本身游戏类型也密切相关,节奏越快,与敌人交互越简单,其实和传统调参那一套区别越小,所以潜行类才常用这套。
上面40L的GMTK的视频讲的很透彻了,可以看一下。 本帖最后由 不可不信邪 于 2020-7-9 00:55 编辑
我就说一个问题,如果在黑夜中人肉眼看不清楚,但戴着夜视仪,智商正常的人会选择使用肉眼还是夜视仪索敌?
游戏AI同理,我掌握了游戏的全局数据(比如说什么位置有光源,光强是多大,地形和遮挡物形状大小位置,人物的视锥体等等),用这些数据完全就可以很好的模拟出敌人“看”的效果,何必专门去渲染一个摄像机再做图像分析?
做游戏不是搞物理模拟器,善用各种手段“骗”玩家(特别是游戏图像上)才是业界通识
本帖最后由 Lunamos 于 2020-7-9 01:59 编辑
MonicaRuan 发表于 2020-7-9 01:23
在不考虑我是否能看懂的情况下,可以稍微展开讲一下破折号后的三个分句吗?比如举一个具体的例子,或者你 ...
如果要建模更复杂的NPC行为或许能用得上。举个比较极端的例子,场景中有大量NPC互相玩吃鸡,而且还有大量影响NPC行为的环境物品。想给每个NPC比较真实的AI去根据环境来判断作为,那么需要给每一个NPC的精确包围盒用raycast计算遮蔽。而当可能会影响判断的动态物体到了一个临界点之后,其判断的复杂度可能会高于给每个NPC渲染一个场景的low-res(或者说imperfect) shadowmap之后通过这个二维图像塞进CNN进行语义判断的复杂度。(当然前者也可以有近似方法降低复杂度,比如KNN)
这个算力角度的考虑过于极端了。人们可能只是设计基于视觉的模糊NPC模型for fun而已,会多出一些真实随机感。何况从游戏设计角度说,做一个好玩的NPC脚本,比做一个好玩的NPC模型简单。现在的潜行游戏里敌人眼里只有玩家,几个raycast就能解决视觉问题,敌人只需要根据玩家行为判断自己的行为,给玩家最直接的反馈。只是以后或许会有追求更全面和模糊的NPC行为的时候,也可能会有前面考虑的算力临界问题,但感觉都不是下两个世代会考虑的问题。 野炊那种不是挺好 本帖最后由 MonicaRuan 于 2020-7-9 02:13 编辑
Lunamos 发表于 2020-7-9 00:50
如果要建模更复杂的NPC行为或许能用得上。举个比较极端的例子,场景中有大量NPC互相玩吃鸡,而且还有大量 ...
感谢48楼和50楼回复
其实进这个帖子前的默认知识应该就是“敌人视觉信息没什么用”,站在设计角度要解决的是玩家体验问题,而不是敌人是否有“真实”视觉的问题,除非敌人拥有“真实”视觉可以提升玩家某一方面的体验(比如聪明而不失“真实性”的策略AI)
看到你们回复似乎有一点那个方向的可能性,但是进一步回复基本解释清楚这个作为一个工程问题代价过高了。 lxzworry 发表于 2020-7-8 21:21
这个跟fps真实ai掩体感觉是一回事 fps ai有会自动找掩体的吗
有吧……见过有掩体还会伸缩枪的,不过是VR的,玩家和敌人都能伸缩枪 MonicaRuan 发表于 2020-7-9 01:08
感谢48楼和50楼回复
其实进这个帖子前的默认知识应该就是“敌人视觉信息没什么用”,站在设计角度要解决 ...
唯一想到的就是体现玩家伪装的效果
但感觉一般游戏玩家也没什么可以操作伪装的地方。 本帖最后由 n.dante 于 2020-7-9 03:08 编辑
我觉得这是一个很没有意义的问题。在提出任何设想并实践前,永远需要明确最终想要达到的目的。你都没有搞明白在电子游戏这个语境下做“真实视觉”能多大程度区别于视锥,如果有区别又是在何种意义上的区别,以及这个区别能不能帮你达到获得“更真实的AI”这个目的。
说一下computer vision这个话题。CV存在的意义就是在没有任何给定的逻辑的前提下理解图像的逻辑和意义。那么放到游戏这个语境下,当你可以轻易获得明确的内在逻辑,也就是内部数据的前提下,为什么要兜一个大圈子以消耗不必要的算力作为前提来让你的程序去理解这个内在逻辑呢?
说到算力够不够,当然你训练好的模型放到游戏里只做forward pass确实消耗不了多少算力。但是有两个问题,第一游戏内的美术风格可能并不能直接用一些只适用于现实生活情况的pretrained模型。所以你需要自己从底层训练,那么势必需要你用游戏的画面创建数据集,这个过程中label每个画面的工作有多费时我就不说了。第二,每个NPC需要做出实时的反应,也就意味着每一个NPC的输入都是一个video stream。即便是现在的一些小型的real time cv dnn也只能做到十几帧的识别速度。更不要说画面中同时有多个NPC的情况了。
所以我的结论就是你这个设想本身对于得到更真实的AI毫无意义。从本质到实践上都是。 本帖最后由 n.dante 于 2020-7-9 02:04 编辑
以目前这个时代为基础,做任何CV相关的AI是完全没有意义的。除非游戏的内部数据难以反映你想要的信息。比如说FF7重制版,那个纪录片中讲了他们有一个图像识别系统,识别当前玩家画面中的敌人数量和战斗情况来自适应地播放BGM。这种情况使用CV就是合理的。(当然我也不完全确定他们是不是真的用的CV) AI掌握的信息比“视觉”要高一个层次,不需要视觉就知道玩家在哪,在干什么,是否中间有东西挡着,头是否探出去了等等。某些种类游戏用视锥只是限制AI能力, 比如高难度就扩大视锥范围。
游戏内CV相关的AI没啥意义,除非特殊用途跑基于CV的AI什么的(RTS之类)。AI要解决的问题是游戏性=好玩,而不是“真实“。 游戏AI读数据比搞这个先进无数倍,这种类似于在玩家进不去的地方做东西还消耗运行资源的思路很多年前就被证明不行了。 纠结这个没多大意义吧,还不如做到玩家影子能被敌人发现,我玩奥德赛经常站在房顶上看我的影子就在小兵面前清晰无比,完全没有潜行的感觉…… 本帖最后由 zxlice 于 2020-7-9 09:11 编辑
大部分都是raycast代替视线,盟军敢死队不就很明显?
看游戏类型。
rts这么这么做不是很搞笑? 旷野之息怪物就有视野啊,林克站在木箱子、树等后面隔着遮挡物怪物就看不见,没有遮挡物远远的就会被发现,蹲在草里面也不容易被发现。甚至蜥蜴怪下巴下面还有视野盲区,林克站在蜥蜴怪下巴下面,蜥蜴怪眼睛看不见,就发现不了。
-- 来自 有消息提醒的 Stage1官方 Android客户端 不需要图像识别吧,游戏内直接用光追原理就能实现,让光源打到玩家角色上的一次反射光全部做标记,被npc的摄像机接收到这些标记后的光到达一定阈值就算被发现。 这个我觉得不比光追难,但是又是一大笔性能开销,救救显卡吧。我更在意的是碰撞等物理效果什么时候能使用真实的模型,而不是现在这种简化的长方体球体,那样穿模的概率应该会小很多。 LZ说的大概可以称为【真实形象识别】?比如敌方都穿黑,我穿红,敌人看见红衣就打,但我换个黑衣就不怕;或者敌人都是大个,看见矮子就打,我找个高跷踩了就可以混过去?
可以做但没必要。和现实不同,你在游戏里的形象本来都是游戏生成的,游戏程序何苦自己假装不知道这堆数据是啥,上面说的那些本来不用【视觉识别】也可以做到,角色带个标签然后AI读取判断就行。 也没必要做到这个,只需要让敌人在索敌时更敏感一些就可以
有些游戏露半个身子出去也发现不了就很傻,但反过来想露个衣角就响警报那感受一定很差
游戏开发出来是为了让玩家顺畅进行游戏体验的,有时不得不做一些取舍 本帖最后由 爱护动物抓根宝 于 2020-7-9 11:06 编辑
lamhirh 发表于 2020-7-9 10:18
旷野之息怪物就有视野啊,林克站在木箱子、树等后面隔着遮挡物怪物就看不见,没有遮挡物远远的就会被发现, ...
这些都只是视觉锥体,就是敌人眼睛前面有个隐藏的box,判定敌人靠相交就行了,lz说的应该是cv(计算机视觉),但我觉得但放电子游戏里纯属浪费算力,毕竟计算机视觉就是因为现实中不存在视觉椎体这种东西才发展的,研究ai倒是可以考虑一下。 用图像识别技术来识别程序自己产生的图像可不就是一种脱裤子放屁的行为。 游戏内的AI需要的是在有限的硬件条件下,在尽可能短的时间内做出实时的决策,用computer vision去对游戏图像做视觉识别是纯粹吃饱了撑的。 有点像之前DOTA2的openAI (是这个吧? )
把AI设定成人一样,都是有视野,而且看到视野后200ms后才有反应.行动也要复制人的操作.不是1ms完成所有操作,是按着人一样的 apm 80(? 还是多少来着,忘记了)去操作.
然后让AI自己学习怎么玩dota,好像是约等于每天几千几万把的学习?
然后放出来给全球实验...发现除了特别野的路子(什么隐身带辉耀之类的) 能恶心一下AI . 全球99.9%的玩家都被AI虐爆了..什么世界冠军都是浮云 .
然后就没然后了...openAI打通关之后就没有再研究了? 或者是还是让它私底下继续模拟.. 怎么没人提天诛1,天诛1的敌人看着都像是真的有视觉没余光那种
你敢出现肯定能看见你,你不出现就看不见你 本帖最后由 MonicaRuan 于 2020-7-9 12:16 编辑
用cv做一个好用的AI不光是算力问题,借助dnn开发和训练成本也非常高。比如alphastar一个宗师级版本就要上百万的电费或者上千万美元的服务器租借费用,如果算上顶级科学家的人工费和调试,开发费用单独拿出来就是一个3A级游戏的制作成本。要注意alphastar还是直接从暴雪提供的API获取"可视的"地图数据而不是另外开发了一套cv工具
https://medium.com/swlh/deepmind ... t-cost-32891dd990e4
理论上不是无法实现,但在围棋星际这些项目成功后已经把dnn在游戏AI的应用从理论问题变成工程问题了(在有限的预算和资源前提下实现一个效果)
按现在的条件最后做出来比脚本规则实现的AI也许好一倍,但是成本可能要高一千倍 我如果是lz公司的程序员入职第一件事就是掐死lz 可以做到像素级精确,但是收益不是那么大,还可能对玩家操作造成困扰。
目前的主流做法还是打射线为主。至于你说的那种只看距离的,基本是上古年代的游戏AI了。
以《最终生还者1》为例
根据玩家是否在潜行状态,打不同位置的射线过去
NPC的视野为了更接近真实,差不多是这样
页:
1
[2]