WebRTC

Anyone doing any projects with this?

I’ve got a project with very large files and users are all remote. I’m currently building out a version where one instance of the game is run in AWS, and the multiplayer users control the players via WebRTC / browser.

So basically the users send input through a browser mouse/keyboard and a video stream is returning to them real time of the one and only instance of the game in the cloud. Can also run as a docker container.

I mean really it feels like just having everyone connect to the main machine via remote desktop…

Anyway, it’s very powerful for my particular need because the 3d models and data the users need to work with are many GB

But… It’s mildly disappointing compared to the real thing because there is slight delay and quality drop on the video stream versus running everything local, even if it is “acceptable”.

It kind of reminds me of one of my jobs years ago that switched from desktop apps to a web-based version of all of them, and It just made everything more painful for the user…but solves many problems I suppose

I have always wanted to learn more about WebRTC, but I never had a good reason for investing the time into it :slight_smile:

Have you looked into how the various cloud game streaming solutions pull off their low latency implementations? What you are describing sounds like a really hard problem to solve well, at least to someone like me who isn’t very knowledgeable about this.

:telescope:

Well, unity has something in beta called renderstreaming which uses WebRTC, so using this library it’s not particularly difficult as there is a framework for me already.

But yes, it definitely presents certain trade-offs.

So I have successfully run a unity game (It’s a 3d application for work, like a game but not) , with tens of GB data and heavy GPU use on an AWS. giving controls and live gpu video streaming back to the user via browser. Also multiplayer.

I don’t have a link to it right now as it’s a company project, but I’ll probably make something in the near future and post it.

In the meantime, these people are pretty much doing the same thing, you can load this demo and notice while it’s “loading” nothing is being downloaded, I believe they are probably turning on some kind of cloud virtual machine during that wait time. Being that this is a fully interactive 3D scene, as well as encoding and streaming a video back live, it’s kind of a resource hog… On the virtual machine /server side

https://www.furioos.com/demo

That is impressive! Are you avoiding the VM cold start problem by keeping the server instances always warm?

I’m not at that phase yet but no, I believe we will start everything up only as needed per user to save money

1 Like