软件即服务,基础架构即服务,平台即服务,通信平台即服务,视频会议即服务,那么,游戏即服务(Game as a Service)如何呢?已经有不少科技公司试水云游戏,最著名的要数Google的Stadia。对WebRTC来说,Stadia已经算是老朋友了,但是其他云游戏也能以同样的方式运用WebRTC吗?
Thanh Nguyen研究了他自己的开源项目CloudRetro在这方面是否可行。CloudRetro基于很受欢迎的WebRTC的pion库。在这篇文章中,Thanh对他如何构建项目进行了框架性的回顾与思考,以及他在此过程中遇到的一些挑战。
loudretro.io中megaman x4的屏幕截图
作者:Thanh Nguyen
翻译:LiveVideoStack
原文链接:https://webrtchacks.com/open-source-cloud-gaming-with-webrtc/
简介
去年,谷歌发布了Stadia,这个想法的独特性和创新性颠覆了我的认知。我一直在质疑当前的技术状态怎么可能支持Stadia。为了揭开Stadia的神秘面纱,我创建了Cloud Gaming的开源版本。我想在接下来的文章中分享有关自己开发Cloud Gaming的一年时间的大冒险。
为什么云游戏才是未来
我相信云游戏不仅将很快成为新一代游戏,而且还将成为新一代的计算机科学甚至其他领域。云游戏是客户端/服务器模型的顶峰。通过将游戏逻辑放在远程服务器上并将图像/音频流传输到客户端,它可以最大化后端控制并最小化前端工作。由此,服务器将负责处理繁重的任务,而客户端将不再受硬件限制。
就Google Stadia而言,它实际上使用户可以在YouTube等界面上玩3A游戏。可以将相同的方法应用于其他繁重的脱机应用程序,例如操作系统或2D / 3D图形设计等,以便我们可以跨平台在低规格设备上一致地运行它们。
可能的未来:你能想象在Chrome浏览器上运行Microsoft Windows 10吗?
云游戏仍然面临技术挑战
游戏是少数需要用户持续且快速反应的应用之一。如果我们单击页面时出现2秒钟的延迟,这是可以接受的。直播视频流通常会延迟很多秒,但仍然具有可用性。但是,如果游戏频繁延迟500毫秒,该游戏将无法播放。
当前的目标是实现极低的延迟,以确保游戏输入与媒体之间的gap尽可能小。因此,传统的视频流传输方法不适用于将图像/音频流传输到客户端的情况。
云游戏运作原理
开源项目CloudRetro
我决定创建一个云游戏的POC,这样我就可以验证在这些严格的网络限