云游戏为了降低延迟,会不会搞AI预测玩家肌肉动作,预渲染
- dumplingpro因为平常玩VR比较多,VR对延迟非常敏感,通常标准是稳90帧且延迟足够低),延迟高于一定程度,人类就会感觉头部移动,而画面没有跟着动,而出现眩晕的状况。
VR的工作原理,是通过对跟踪定位VR头显的坐标,根据玩家的动作来渲染画面,比如跟踪到玩家头向左转,那么就渲染角色左转头后的画面。但是这有个问题,就是VR每秒钟定位次数没有达到90次/秒,最高的灯塔系统(VIVE)是15-30次定位,其他基于图像识别的(OC/巨硬MR/PSVR)甚至每秒只有个位数。换句话说,VR的画面是90帧,但定位系统,同步玩家坐标只有十几帧甚至几帧,产生不可避免的延迟。
而压低这个延迟的一个方法,就是动作预测,比如玩家向左转头,不可能在十几毫秒内就突然停下来,而是一个不断减速的过程,前一帧向左转的话,下一帧还是预测玩家的头在向左转,预测不准的误差控制到一定程度,玩家很难察觉到。(所以VR出现丢失定位,可能会继续预测玩家在移动,而看到自己不断往外飘到飞出天际。)
-------------------------------------------------------
这个而云游戏其实现在也遇到类似的问题,玩家的操作反馈,会因为网络传输导致不可避免的延迟。
实际自己测试过一次,在公司,串流家里的PC,网络延迟在30-40ms左右(广州,同城市,电信线路),30帧的帧间隔33.33ms,玩起来问题不大,但60帧的帧间隔16.66ms,就不行了。
那么可不可以用类似VR预测玩家动作,预渲染的思路,通过预测玩家的动作,预先渲染画面之后几帧的画面,然后提前发送给玩家,从而抵消掉延迟呢?
毕竟,虽然玩家的思维逻辑很难预测,但大多数玩家都是普通人类,人类的手指肌肉动作没有毫秒级的反应速度,是可以根据之前的动作,一定程度预测之后几十毫秒动作的。(比如,当年高桥名人16连射算是奇迹,甚至还要专用手柄,这16连射,其实平均按一下花费的时间是62.5ms,按下松开时间各半,也是30+ms,2帧左右,普通玩家的手指肌肉没那么厉害。)
比如玩家面对敌人的攻击,推了一下手柄的摇杆,向左移动一段距离闪躲。
这个动作如果用慢镜头看,是一个手指肌肉慢慢向摇杆施加力量,把摇杆向左推动、不断加速的过程。
整个过程足足有上百毫秒,而且除了一些天赋异禀的人,一般人手指很难做到10ms内瞬间急停这种操作的(急停也要几十毫秒去逐渐减速/等摇杆自然归位,加上如果玩家如果是根据画面判断急停的话,大脑下判断都要超过100ms了)。
那么理论上,当检测到摇杆连续若干毫秒左移,且速度力度都在增加,那么可以预测玩家接下来几帧,摇杆都是左推状态,从而预测玩家的操作。
预测了玩家的操作,就可以根据传输延迟,预先渲染之后几帧数的画面,提前传输给玩家,从而达到降低延迟的效果,只要误差控制在一定范围内,玩家不太容易察觉。
60帧的间隔是16.66ms,只要预渲染2-3帧,就能再额外争取33-50ms的时间,加上基础的第1帧16.66ms,延迟就可以放宽到50-67ms了,而前面测试,即使是天朝大城市的基建水平,网络条件好的话,同城也能有30-40ms的网络延迟,足够满足60帧云游戏的延迟了。剩下传输带宽和解码,以及云游戏节点密度这些,都是能堆资源慢慢解决的。
尤其现在AI概念大火,深度学习挺擅长干这事情的,用成千上万的玩家操作当样本训练,甚至还可以放一个深度学习AI在手柄里,可以一定程度学习到玩家的操作习惯,提高精准率。
当然,估计手柄必须用比较特殊的,要能像早期模拟摇杆一样,监测摇杆的偏移量,甚至还要上压感传感器,Google这个云游戏要专门的手柄可能就跟这个有关。
---------------------- - chrispig讨论服务器性能的同时请考虑服务器负荷量,请不要忘记中国的人口基数
- Lunamos首先,我觉得玩家行为是无法预测的。其次,就算能预测渲染,你预测不了逻辑。敌人有没有被击中,有没有被确认连段,都是逻辑定死的非黑即白,你预测失败一次,玩家体验就极差。
- 塔奇克马然后坠机?
- 洗刷刷就算现在的网络游戏也用了预测算法啊,市面上的多人fps游戏或多或少都有类似的算法,去读读守望先锋和彩虹六号的论文,关于怎么预测,如何解决延迟不同步问题导致的击杀死亡和技能释放问题,都有很详细的说明
- 竜破斬你说的都是摇杆操作,然而按键输入是个布尔值。玩家跑路的时候就是喜欢没事跳一下你要怎么预测。
- 牧濑紅莉栖国外的网络延迟已经到了很低的一个程度了,nv的云游戏根本感觉不到延迟
- dumplingpro是预测肌肉动作,人类的手指肌肉,不能瞬间停下或者瞬间到达最大速度,在慢镜头下是一个不断加速减速的过程,这个过程有个一两百毫秒。
那么比如AI侦测到人类的手指前推到一定程度,并且一直在加速,那么认为之后几帧应该还是在继续前推的可能性很大。
玩VR的时候实际体验还是可以的,手机盒子VR就是完全靠陀螺仪预测,但准确度不高,导致大脑觉得画面和自己动作不符,导致眩晕,而正经的VR有每秒至少几次的定位校准,就不会晕了,预测的误差在一定范围之内人类不太能感觉到。
不过偶尔丢失跟踪校准(对应的就是云游戏遇到网络波动丢包),会有比较鬼畜的表现,比如一直顺着原来的方向一直往外飘到半空中(如果是云游戏,可能会一直前跑停不下来。) - Lunamos楼上已经指出了,布尔量怎么预测。你让我玩celeste,我肯定把预测关了
- 戈饭
- kankilz说的这个功能我们一般叫按键灵敏度
- dumplingpro所以Google要搭配专用的手柄,可能就跟这个有关,手柄必须足够灵敏,监测到前推摇杆的偏移量(类似以前模拟摇杆,甚至加上压感传感器),才能做肌肉操作预测。
- Bojenkins预测成功也顶多达到非云游戏一般要求,但猜错一次带来的负反馈就足够被玩家的唾沫星淹死,敢问这预测ai有没有必中的把握
- dumplingpro所以天朝可能会出现网吧云游戏服务……
网吧本身内部云游戏,应该是最容易推广的了,网吧本身搞云游戏服务器,上网的人面前只有屏幕和键盘鼠标,维护什么的都很方便也不容易损坏,更新换代速度也没那么快。
网吧有了云游戏服务器,除了自己网吧内部用之外,自然也可以给周边居民用,甚至如果有统一的平台和出租计费标准,可以像手机基站一样,让用手机云游戏的玩家,可以随时切换到最近的网吧服务器。
NV之前的云游戏方案(国内几家云游戏平台都是用这个方案的)就很有这个意思,网吧购买云游戏服务器自己回去搭建。 - dumplingpro是的,延迟降低到一定程度,未必就比肌肉延迟高太多了,预测几帧的难度,远远比预测十几帧难度低得多。
- dumplingpro按键的话,慢镜头,其实也是一个手指肌肉开始收缩,开始向下施加压力的过程。
因此如果要预测的话,手柄要比较灵敏,摇杆要检测到偏移量,按键要有压敏电阻之类的东西,这样才可以在玩家手指开始施力的时候,预测到玩家之后会按下去,怀疑GOOGLE这次要专门手柄,可能就跟这个有关。 - evangelist64逻辑层面不能,预测是云服务商要提供的功能,但实现预测是游戏开发商做的,不合理。
像楼上说的,根据玩家小动作预测最终操作倒是有理论上的可行性,但是也比较蠢,成本高精度低。 - 你的全家这不是自动开挂吗
- 竜破斬虽然google那个手柄八成就是把蓝牙换成wifi的普通手柄。我姑且顺着你的说法,假设google真的在每个按键下都放了个压力传感器,而且ML能100%正确识别玩家开始按下按键的动作并提前把这一信息传送了出去。这里争取到的时间也就是从开始按键到按键被实际触发之间的时间。这个时间差远比你所估算的几百毫秒要小。我用60帧视频录了下,我推swtich pro摇杆从开始推到到底也就4~5帧(67~83ms),按按键所需的时间更少。你这个AI预测补偿最多也就不到100ms的补偿。更不用说实际ML预测正确率离100%差得远,而只要预测错一次,玩家对这个预测功能就会产生很大反感。
- 御风八极其实渲染270度环形球面即可,头盔负责抓取部分内容
- Scrummble网吧为什么要搞云游戏??只是想隐藏机箱的话定制个特别的桌子锁起来就是了,而且现在很多网吧用的根本就是一体机
- dumplingpro对的,逻辑没法预测,但是肌肉延迟可以。
延迟降低到一定程度,就不比肌肉延迟多太多了。
现在VR就是这么搞的,VR定位软件(比如STEAM VR)负责预测下一步动作,游戏只负责接收软件的信息。 - 铅笔云游戏其实就是共享概念的延伸变种。三万用户不可能同时在线,所以只要按最大在线量2万考虑负荷以及硬件投资。但是这部分算力达到上限之后还有玩家要登录的时候该怎么办??现在云游戏都是小规模阶段,当我们考虑是分布式还是集成式运算的时候,对于投资、运算、运营等多方面进行管理的时候,用ai预测玩家操作根本不是难点,用ai去预测市场网络热点以及营销刺激反馈所带来的算力压力才是考验项目可行性的关键。
- 铅笔lcd跟crt的响应时间之争嘛。现在大部分智能电视连hdmi的信号延迟都保证不了。
- 小泉花陽云游戏真一统游戏界的话,大概FPS、ACT、MUG这类快节奏对延迟要求极高的游戏离消亡也不远了,各家游戏公司会专门制作对延迟要求不高的慢节奏低操作游戏
- 铅笔那不就是手游么
- mimighost不会,收益太低。ai有应用,不过主要是压缩视频
- ranranking
- dumplingpro最难争取的就是这几帧,帧与帧之间,16.66毫秒,对网络的要求极为苛刻,甚至涉及到光速/信号在网线中的传输速度问题。
但是放宽到几十毫秒,网络要求就低很多了,现在网络条件比较好的话,平常玩游戏,连国内,网络延迟大概就是100ms以内,条件好能到30+ms。
我在公司同城连自己家里PC串流的时候,网络延迟在30-40ms左右(广州,电信线路,不算稳定,短的时候27、28,长的时候差不多50),30帧(帧间隔33ms)基本没问题(只是会画质缩水),这个延迟,理论上只要能预测之后2帧-3帧(16.66ms的基础帧间隔,加33-50ms预测的2-3帧),就能上60帧了。
延迟这个硬伤是最难的,剩下传输带宽和解码,以及云游戏节点密度这些,都是能堆资源慢慢解决的。 - pf67假设AI很完美,真的根据你的输入预测,提前渲染了动作赶上了玩家的视觉差。。。
你有没有考虑过这个问题,玩家本身是就是根据游戏画面来进行动作反馈的
逻辑就变成了
画面需要玩家反馈---玩家反馈输入---根据玩家反馈提前渲染画面----玩家没有感觉到延迟
还没发现问题么?假设“玩家反馈输入”到“-玩家没有感觉到延迟”这个流程能成立,我其实压根没有必要提前渲染
而如果这个流程不成立,你AI就算顶天了,给你渲染的画面也是你感觉到延迟之后的事情了 - dumplingpro其实是基于玩家的肌肉预测,而不是玩家的思维预测,
争取的是,玩家大脑发出命令,肌肉开始执行动作开始,按压按钮到最后把按钮按下去,这几十毫秒的时间(大概争取到2-3帧,基本50ms以下延迟的网络就能玩60帧的游戏了)。
平常玩VR,就广泛用到了这种肌肉预测,感觉还行,OC/MR/PSVR之类基于图像识别的VR,每秒才校准玩家坐标几次,剩下的就是配合之前数据和陀螺仪预测玩家的运动,最好的VIVE才能达到每秒15-30次校准,另外还有基于预测的补帧技术。
当然脖子、手腕的灵活度,确实是比不上手指 - 魔人揪揪
- 厨厨光波其实就是预加载从加载特定场景细化到加载特定几帧嘛
概念上蛮好的
发展到最后就怕是变成游戏玩你了 - dumplingpro根据手指肌肉动作,预测接下来手指动作,只是争取2-3帧的时间而已,不是预测大脑想法啦。
AI主要是记录玩家手指的肌肉记忆。 - ggby别惦记了,根据光标速度加算法提前计算光标位置的小软件我有朋友都搞出来过,最逗的是画圆为锯
- Patlain就跟你说的vr转头例子相似,开车或者连发子弹枪的情况会有用,但单纯推摇杆按按键也要预测就算了。
按你的说法在按键实际触发前还要再设置一层检测,可瞎按按键推摇杆又不实际触发是个很常见的行为,那就是要玩家适应两种力度了,我觉得不行 - 不会武术换个思路,用点医学手段降低人的反应速度?
- dumplingpro就是说瞎按这点,人类的肌肉也是有极限的,当年高桥名人16连射算是奇迹,甚至还要专用手柄。
这16连射,其实平均按一下花费的时间是62.5ms,相当于3-4帧了,即使按一下,按下+松开各半时间,也是30+ms,2帧左右。
正常人手速没那么快,从开始施力,到按下去,3-4帧还是要的,这就给肌肉预测留下了一定空间。 - 哈罗能不能穷举预渲染?预先渲染下一次所有按键可能产生的行为
- dumplingpro还不至于……现在好点的网络30-40ms延迟而已,2-3帧延迟……犯得着这么玩么……
- dumplingpro话说真有这个思路,不过是VR的用来解决晕3D的,直接弄个振动器干扰前庭,记得军队模拟空战训练仓已经开始尝试用了。
这个思路,游戏设计上可能就需要考虑了……
比如动作游戏改成真实系,人物移动和攻击都有惯性的,然后根据延迟在惯性上做一些补偿,前几帧加速度增加一些,让玩家感觉没有延迟。
又比如FPS,走真实系,增加XX毫秒子弹飞行/敌人中弹后反应(现实中中弹后,慢镜头下确实还有个力传导过程)。
视角移动的做法,就像下面的说法,在玩家可见范围外,多渲染一圈额外的画面,玩家移动视角的时候,如果没有接收到画面,则直接对上一帧进行平移处理(VR上有类似技术)。