Last night I played Assassin's Creed IV on a 2006 MacBook—the cheap, white plastic kind. It's a machine with a 1.83GHz processor and 4GB of RAM, and it might as well have no graphics card at all. It's a machine that was long ago relegated to backup status, good for word processing and Web surfing, and little else.
And yet I ran, swam, and sailed across the Caribbean on this ancient MacBook, as sunshine played over a tumbling ocean of physics models that stretched out to a horizon drawn as far as my eyes could see. Here was this ghost of a once-proud machine—the battery doesn't even charge anymore—running one of last year's most graphically intense games.
Not perfectly, mind you, but let's just talk about the small miracles that the Steam PC gaming service's nascent in-home streaming technology provides.
Valve's big bet
Steam's service, which is currently available in invitation-only beta form, is similar to earlier examples, like OnLive and Gaikai, that streamed games to any Internet-connected computer in Netflix-esque fashion, and let you play graphically demanding games on, say, a mainstream laptop. The laptop was actually just displaying a video of the game being played, while capturing your keystrokes and sending them to a faraway server, where the real heavy-duty computing was done.
It was the far, far away aspect that broke services like OnLive. Gaming requires low latency: When you push a button, the associated action needs to occur as close to immediately as possible. A fundamental amount of hardware and network lag could never be overcome with OnLive and its ilk, and most games were simply unplayable.
Valve's in-home streaming is more like running Apple TV or another home media center. In one room I have this incredible gaming PC I built. In the other room I have this less-powerful laptop. Both are connected on the same strong local network. So why not use that connection to stream games from one room to the other?
Setting the stage for SteamOS
The ability to stream games around the house would be cool in and of itself, but Valve's in-home streaming technology needs to succeed if the company wants its upstart SteamOS operating system and the associated ecosystem of Steam Machines to catch on in the living room. Because SteamOS is a Linux-based operating system, it falls victim to the age-old Linux gaming problem: There simply aren't many native Linux games.
While the prognosis for Linux gaming has gotten better in recent years, the fact remains that only the slightest fraction of Steam's vast PC gaming library runs on Linux. Developers target Windows, because if you're playing games on a computer there's about a 90% chance you're playing on Windows (according to Steam's own hardware survey). And nobody wants to give up a huge portion of their Steam library to try something like SteamOS.
So Valve's hoping Steam's in-home streaming feature can provide a stopgap long enough to convince developers to join the SteamOS revolution. Whether or not that'll work is to be seen, but one thing's for certain: Valve's in-home streaming technology is off to an optimistic start.
The in-home streaming beta, for a beta, is far more polished than other things we've seen come out of Valve recently.
Once you're invited into the program, an In-Home Streaming preferences section appears in Steam's settings menu. Here you can tweak the bandwidth, framerate, and resolution that Steam sends out from the host PC, though Valve says you should leave each set to the default for optimal session performance.
Then you have to go and opt in to the beta on Steam on the other computer you plan on using. It'll run the same update, and you'll be all set—assuming everything goes perfectly.
Of course, things can never go perfectly. In my case, I updated my first computer, and then Valve released a new beta build before I updated my second computer, prompting an hour's worth of troubleshooting. In the end, all I had to do was trigger both computers to check for Steam updates again.
Once I'd overcome that hiccup, in-home streaming was fairly seamless. You can check whether your computers can see each other in the same In-Home Streaming settings menu. If they do, you'll notice that your library of "Installed" games is shared between your machines.
Clicking on a game that is installed remotely gives you the "Stream" option (in place of the traditional "Play" or "Install" options) and tells you which machine will stream the game. Games that are installed locally and remotely give you a drop-down menu so you can choose whether to play on your current machine or stream from the other. The process is intuitive and requires minimal setup.
If, at any time, your streamed game is interrupted by, say, a notification from the host machine's desktop, Steam streams a virtualized version of the host machine's desktop so you can navigate back to the game.
Valve also provides useful tools for keeping tabs on the stream's health. At any time during a streamed game you can press F6 and pull up an overlay showing how much latency is between your machine and the host, plus a handful of other important stats (resolution output, and so forth).
A bit magical, a bit off
I tested out a bunch of games across three different machines, all on the same 802.11g network. In every case, my gaming PC served as the host. It's a mid-range machine, with an overclocked Radeon Sapphire 7850 and an Intel i5-3570k. Powerful, yet affordable—something similar to what you may be running in your own household, as opposed to a fancier (and less common) dual-Titan machine.
I streamed to the aforementioned 2006 MacBook just for laughs, but also to a more powerful Origin gaming laptop with an Intel Core i7-2860QM processor and an Nvidia GeForce GTX 460M graphics care. I tried the tech with a slew of games, running the gamut from slow-paced strategy to fast-paced action.
Europa Universalis IV offered the best experience by far. As a traditional strategy game, it's not particularly time-sensitive, so latency is manageable—and by manageable, I mean you just kind of deal with it. Moving the mouse feels sort of floaty, but overall the game is playable.
The same goes for The Stanley Parable. Even though it's a first-person game, you're not relying on twitch reflexes. The controls don't really feel quite right, because years of gaming have conditioned me to know exactly how game movement should react to my input, but you could sit down and play The Stanley Parable over your network and have a grand ol' time.
But what about "twitchier" games?
Just Cause 2 runs surprisingly smoothly for such a graphics-intensive action title. Again, not quite perfect, but I was grapple-parachuting around the island with ease. The hardest part—as you'd expect, if you've ever played a laggy multiplayer game—is shooting at enemies, but even that is possible once your brain adjusts for the latency. The game ran right around 60 frames per second without a hiccup. Star Wars Battlefront II—an older, less-intense game—performed similarly "well enough."
Assassin's Creed IV chugged at first, but it ran better once I dropped the resolution from 1920 by 1080 pixels to 1280 by 720 pixels. That resolution looked like muddy garbage on my host machine's monitor, but on that old MacBook screen the loss of detail was harder to notice. Plus, I was playing Assassin's Creed IV on a 2006 MacBook.
Far Cry 3 was the only game that was actually broken. It ran at sub-30 frames per second and was basically unplayable. If you've ever been in a slow multiplayer match and seen enemies "teleporting" around as the netcode catches up with their actual position, that was how it felt to play Far Cry 3. I'd walk forward a few feet and suddenly the game would decide I'd actually run off a cliff and fallen to my death. Not very fun.
Room for improvement
The weirdest thing about Valve's service is the way it handles latency. Every other streaming service I've ever used—Netflix, OnLive, Nvidia's Shield, Hulu—deals with service slowdowns by first degrading image quality. This is why movie frames sometimes turn into blocky pixels when you're watching Netflix films: It doesn't want to interrupt your viewing by rebuffering, so instead it dips the quality momentarily.
Valve's in-home streaming instead dips the framerate—how many frames per second the game renders. This keeps each singular frame of the game looking pretty, but it makes games feel stuttery. As a result, everything is far harder to control, because you're constantly battling a stream that's flipping from 60 frames per second, down to 30, down to 12, and then back up to 60 again.
But here's the good news: Things can only get better as routers and home networks improve. There's no huge amount of hardware and distance lag to overcome, as with OnLive. As gamers upgrade to speedier, next-gen 802.11ac routers, Valve's service can only get better.
And let's not forget: This is first and foremost a beta, not a full release, and the in-home streaming is already pretty impressive.
Steam's in-home streaming technology isn't perfect yet—not even close—but you can see its potential to change the way people consume games. Hell, it already has changed the way I consume games. Last night, I played a game from the comfort of my bed on a laptop. PC gaming has a reputation as a lonesome activity that chains people to their desks. In-home streaming could turn that around, at least a little.
This beta is also a pretty strong proof-of-concept for SteamOS and Steam Machines. If Valve wants to sell people on its ecosystem, it really needs in-home streaming to work. Congratulations, Valve—it does. It's not the optimal way to play these games just yet, and due to hardware lag it may never be, but at least it's shaping up to be a viable alternative that will help Valve's Linux-based OS stand on its own terms.