The idea is "one application per virtual machine", and to leave multi-tasking to the browser. Right now the only application we have is Warcraft.
The fact that you can interact with Windows outside the context of the intended application is a side-effect of Windows 8 Assigned Access only working for "Windows Apps" (ie- not "legacy" applications). Otherwise we would have gone for this type of "kiosk" experience which attempts to hide the underlying desktop environment / os.
I've haven't gotten around to measuring it yet, but back of the envelope calculation is "between 100ms-200ms" delay from input event sent to h264 frame rendered. This is assuming virtually no network delay, so you'd be doing well with ~300ms end-to-end latency from your browser currently.
This would not work for an FPS, especially when you look at the variance in latency. There are lots of ways to shave milliseconds and stabilize latency though, so that statement is definitely not future-proof.
Yes, Broadway.js ;) Highly recommend though the documentation can be a bit "terse"
We give every new session a freshly cloned VM. Changes you make will remain for your session but be reverted over when the machine is reclaimed for the next user.
h264 frames/opus packets over websockets. Broadway.js is doing the video decoding, something similar to (EDIT: opus.js) for the audio.
All decode loops are in webworkers, separate websocket connection for each data stream (video,audio,input). Broadway has a lovely option to use WebGL for pushing the pixels to a canvas as well, which really helps free up the CPU.
Put it all together, and you'd be surprised how close you can push an (up-to-date) browser towards realtime sans plugin.
Cool project! The latency is a little high for a lot of games (not sure WC3 is the best choice with high latency), but it seemed smooth and responsive. After a while, I got stuck on the desktop instead of in the game (that's kind of a big security problem).
It would be nice if the site gave a little more info, maybe it should go to a landing page rather than jumping right into the app.
For comparison's sake, I feel like in 2002, I was thinking of games like the Sierra point-and-clicks (Leisure Suit Larry, King's Quest, Space Quest, Police Quest, Conquests of the Longbow, et al) as retro and most of those would have been in that age bracket.
Not even close to that age bracket. Those Sierra classics were relased from 24-31 years ago, at least twice as old as WC3.
Leisure Suit Larry in the Land of the Lounge Lizards - 1987
King's Quest: Quest for the Crown - 1984
Space Quest: The Sarien Encounter - 1986
Police Quest: In Pursuit of the Death Angel - 1987
Conquests of the Longbow: The Legend of Robin Hood - 1991
Also, you're using the first games when I was thinking of the later ones in the series (say, King's Quest V era); they definitely came across as retro to me and my peers in 2002.
Well, what's retro or not is kind of nebulous. But I'm pretty sure that most of the gaming community wouldn't consider Warcraft III retro. :) Generally retro is referring to games from the 80s and early 90s.
When someone makes a retro inspired game today, it's 2D, generally pixelated and often MIDI-like audio.
I think you're probably right about that example, but that's because the difference in tech changed so drastically from the 80s to late 90s. We went from very small resolution, small # of colors and 2D engines to 3D engines. The difference from 2002 to 2015 isn't nearly so vast. Warcraft III still holds up pretty well.
Amazing, so this could be the remote desktop in browser, with lower latency, totally allow corporations to use this instead the original remote desktop app that Windows have right now...
I think AWS allows you to interact with remote Windows as well, right?
Regardless, great job! Love the idea and the implementation...maybe League or Legend or Dota2 in the future? This means ppl can play Dota2 at work in browser lol
25 comments
[ 2.8 ms ] story [ 70.3 ms ] threadThe fact that you can interact with Windows outside the context of the intended application is a side-effect of Windows 8 Assigned Access only working for "Windows Apps" (ie- not "legacy" applications). Otherwise we would have gone for this type of "kiosk" experience which attempts to hide the underlying desktop environment / os.
This would not work for an FPS, especially when you look at the variance in latency. There are lots of ways to shave milliseconds and stabilize latency though, so that statement is definitely not future-proof.
Yes, Broadway.js ;) Highly recommend though the documentation can be a bit "terse"
All decode loops are in webworkers, separate websocket connection for each data stream (video,audio,input). Broadway has a lovely option to use WebGL for pushing the pixels to a canvas as well, which really helps free up the CPU.
Put it all together, and you'd be surprised how close you can push an (up-to-date) browser towards realtime sans plugin.
It would be nice if the site gave a little more info, maybe it should go to a landing page rather than jumping right into the app.
For comparison's sake, I feel like in 2002, I was thinking of games like the Sierra point-and-clicks (Leisure Suit Larry, King's Quest, Space Quest, Police Quest, Conquests of the Longbow, et al) as retro and most of those would have been in that age bracket.
Leisure Suit Larry in the Land of the Lounge Lizards - 1987 King's Quest: Quest for the Crown - 1984 Space Quest: The Sarien Encounter - 1986 Police Quest: In Pursuit of the Death Angel - 1987 Conquests of the Longbow: The Legend of Robin Hood - 1991
Counting from the viewpoint of 2002, not 2015.
Also, you're using the first games when I was thinking of the later ones in the series (say, King's Quest V era); they definitely came across as retro to me and my peers in 2002.
When someone makes a retro inspired game today, it's 2D, generally pixelated and often MIDI-like audio.
I think you're probably right about that example, but that's because the difference in tech changed so drastically from the 80s to late 90s. We went from very small resolution, small # of colors and 2D engines to 3D engines. The difference from 2002 to 2015 isn't nearly so vast. Warcraft III still holds up pretty well.
I think AWS allows you to interact with remote Windows as well, right?
Regardless, great job! Love the idea and the implementation...maybe League or Legend or Dota2 in the future? This means ppl can play Dota2 at work in browser lol