之前一直听大伙儿念叨什么“云游戏”,说什么电脑配置再烂也能玩最新的大作,听得我这心里直痒痒。就是好奇心重,总觉得光听别人说没用,得自己动手把这事儿给搞明白了才踏实。反正闲着也是闲着,那就开始琢磨这玩意儿到底是个啥原理。
本站为89游戏官网游戏攻略分站,89游戏每日更新热门游戏,下载请前往主站地址:www.gm89.icu
从一头雾水到动手折腾
刚开始那会儿,我真是两眼一抹黑,心想不就是把游戏搬到服务器上吗?那我们怎么才能玩上?游戏画面是怎么从那么远的地方跑到我眼前?我按个键盘,点个鼠标,它服务器咋就知道我这些操作了?这些问题就像一团乱麻,在我脑子里绕来绕去,理不清。
第一步,我就开始在网上乱搜。 B站、知乎、各种论坛,是个人写的都去瞅一眼。结果,一开始那些“流媒体技术”、“分布式架构”之类的词儿,把我看得那叫一个云里雾里,完全是鸡同鸭讲,根本听不懂人家说的是我就寻思,这专业术语太多了,得换个思路,找那种专门给普通人讲的,大白话才行。
第二步,找个免费的平台先试试水。 功夫不负有心人,我还真找到几个有免费试玩云游戏功能的平台。我就兴冲冲地进去了,选了个画面还行的游戏,玩了起来。玩的时候,我就不是光顾着玩,我一直在琢磨:我这边敲键盘、点鼠标的信号,肯定得第一时间传到服务器那边去。服务器一收到我的指令,就得麻利儿地把游戏画面计算出来,生成了,再赶紧给我传回来。这整个过程,一个“快”字,是关键。
亲手搭建,发现问题
光体验还不过瘾,我这手就痒痒了。家里有台十年前的老旧电脑,性能差得要命。我就突发奇想,能不能自己也搞个“土味云游戏”出来?虽然肯定比不上人家大公司的专业系统,但原理上总归是相通的,自己上手搞一遍,体会肯定更深。
- 我把那台老旧电脑当成“服务器”,上面装了个稍微有点画面的单机游戏。
- 然后,我在旧电脑上装了个远程桌面控制软件,那种可以在另一台设备上操作这台电脑的玩意儿。
- 我拿出我的旧平板,把它当成“客户端”,通过这个远程软件连接到旧电脑上。
- 连接成功后,我在平板上点开了旧电脑里的游戏。
画面倒是能看到,确实是旧电脑里运行的游戏画面传过来了。但是我一操作,问题就来了,那画面卡得跟慢动作似的!比如说,我用手指在平板上模拟鼠标,在游戏里把视角一甩,屏幕上的画面得愣个一两秒才跟着动。按个攻击键,角色也得等半天才挥出刀。这哪儿是玩游戏,这简直是折磨!根本玩不下去。
掰开揉碎,终得其解
通过自己这么一折腾,我大概就明白了。这东西就好比我跟人打电话:我说句话,声音传到对方耳朵需要时间;对方听完了,再回我一句,他的声音传回来也需要时间。云游戏,就是把游戏运行出来的画面,“拍成电影”,一帧一帧地给我发过来。而我这边的操作指令,就像发了个“特快专递”,赶紧送过去。这个“拍电影”和“发快递”都得快,只要其中一个环节慢了,我就能感觉到卡顿。
我仔细想了想,主要就这几块:
- 画面怎么跑过来的? 游戏真正在跑的地方,是远端那个配置强悍的服务器。服务器每秒钟会生成几十上百张游戏画面,就跟我们看电影似的。它会把这些画面像视频直播一样,快速地压缩、编码,然后一帧一帧地通过网络给我传过来,显示在我的设备屏幕上。
- 我的操作怎么过去的? 我在手机、平板或者自己电脑上按下的每一个按键,鼠标的每一次点击、移动,这些都不是直接控制我本地的游戏。它们会被打包成非常小的数据包,通过我家的网络,“飞”到远端的服务器那里。服务器接收到这些指令,才会让游戏里的角色做出相应的动作。
- 为什么“快”那么重要? 这个“我操作——指令过去——服务器运算——画面回来——我看到”的整个来回跑的时间,就是常说的“延迟”。延迟越大,我玩游戏的时候就感觉越卡,越不跟手。服务器离我越近越我家的网速越给力越这样才能把这个“来回跑”的时间缩短,玩起来才流畅,才感受不到卡。这道理就跟我们去商店买东西一样,去家门口的超市肯定比跑十里地去大卖场快得多。
这么一圈折腾下来,我才算是真把云游戏的原理给搞明白了。原来它就是把游戏放在远方一台牛逼哄哄的“超级电脑”上运行,然后把算出来的游戏画面,像看直播一样实时推送到我的各种设备上。而我的所有操作,再像发个短信一样,快马加鞭地送回服务器去执行。这其中最关键、最核心的,就是怎么把这“直播”和“短信”都弄得又快又稳,延迟越低越不让玩家感觉到卡顿。
这回亲自上手折腾了一把,感觉真是不一样。不再是只听了个名词,或者看别人说了个大概,而是实实在在地感受了整个流程和其中的挑战。这下算是心里有底了,下次要是再遇到什么新奇的技术概念,我还是打算自己动手去琢磨。