2015/11/19

Software Rants 22: Saving SteamOS

Steam Machines have landed, and the results have been everything expected but nothing desired. Unsurprisingly the uncoordinated release brings obsolete OS versions, broken controllers, and a store that doesn't even show games that actually work on the system. They still only support one GPU vendors proprietary driver, and they still have no compelling reason to adopt the platform.

So it should be no surprise that, while Steam Link and the Steam Controller will probably be wildly successful, Valve has failed to move the industry towards open APIs and cross platform by default through SDL / Vulkan. It does not help that Khronos is likewise dropping the ball catastrophically by having terrible disclosure on whenever they are actually going to publish their supposed "open" and "collaboratively developed" API that is still MIA almost two years after its announcement, but even OpenGL 4.5 would be fine if drivers existed that supported it and Valve shouldered the burden on making sure things happened at a quality standard that would move console units.

But that never really was the point - fundamentally SteamOS is a hedge, something to keep on the back shelf for whenever Microsoft goes too far for Gabe to handle that Steam stops working as they continue to follow OSX towards total lockdown of their proprietary operating system. So Valve honestly has all they wanted out of this product - they got big picture mode and in home streaming for their Steam Link, and the continued lack of availability of broadcasting on the native LInux client shows where the priorities lie.

So how do you go back in time and fix this mess? Or how do you try the even harder problem than inventing time travel by somehow overcoming the awful press this shot launch will generate and reforge the product into something that might actually see adoption, maybe even achieve the ultimate goal of usurping consoles entirely with an open standard base?

Well first, we need an open standard base. Part of the reason Valve will not see any industry fervor towards their platform is that they are taking as much a cut as Sony or Microsoft on games sales. Even if Steam is just a program running on top of X rather than the whole OS, Android soundly demonstrates how alternative app stores do not work at all when you have a default one shipped almost universally. And Steam is even worse - its not only universal, you have to go out of your way to get out of it.

If Valve wants SteamOS to succeed, they have to admit that while they can control what is on their Steam Client Store, they need to open up the client software to work as a system shell, and they need to allow third party stores to list themselves on Steam. That means if Origin or Blizzard want to throw their client or the Battle.net launcher on Steam so these companies can ship their games without Steam's cut, Valve has to enable that through some mechanism so that average people can install third party launchers and stores and play games through them.
Open sourcing the Linux Steam Client would be a start. It doesn't do anything to remove any competitive advantage, because their whole advantage is the web services Valve provides through the client - the screenshot backups, the chat, the video broadcasting, not to mention the games they sell and host themselves. To try to reuse Valve's Steam Client software against them would be to reinvent all their back-end infrastructure and somehow persuade users and developers to switch. Which is honestly impossible to perform, especially since Valve would never lose their trademarks to the Steam brand.

They could even release the source under a nonfree license such as one that bars commercial use - the point is they need community involvement and a clear path for third parties to get their storefronts on Steam so that the Linux gaming scene isn't the one stop show of whoever sells on Steam.

One core problem is the lack of common services on SteamOS - mainly, that the Big Picture client needs to perform more roles even as a TV OS than just playing games, yet Valve has not sufficiently provided for all the use cases average people expect out of a set top box.

It would be a killer system to include DVR functionality (when video in or coax in is provided by the machine), and would need to bundle Chromium with its DRM module to stream Netflix and Hulu. Amazon Prime Video would be a mess because Linux in its current state cannot support HDCP, and there is no way to ever implement a proprietary only video DRM in an open source OS like that. What a shame.

That means webapps support in SteamOS. Most of the common services people use on other consoles have ready made webapps versions already available for other set top boxes, including Youtube, Pandora, and Netflix. Integrating webapps as first class launchers in Steam fixes almost all these issues if they are also overhauling their internal browser with a Chromium implementation, while also serving device IDs for either TVs or mobile to get UIs better suited to long distance viewing.

The second generation of Steam Machines will need to have quality control. No more $1500+ desktop computers sold on Steam. There needs to be pricing limits and minimum feature sets required to use Steam Machine branding, and a minimum of software support and build aesthetic to actually build a console. And more importantly than any of that, we need a reference Steam Machine from Valve themselves, targeting baseline specs at a break even price point to define the floor of Steam Machines, preferably at a console competitive price point of around $400. Valve definitely have the resources and scale to make it happen, even more than Dell did, who were dependent on per-unit profits to justify the commitment.

And Valve needs a timed exclusive for, lets say, "SteamOS 3.0". Half Life 3, Portal 3, whatever, something needs to be on SteamOS prereleased a month or three early to move units. Valve games are legendary. They could easily move consoles if they release a good enough title exclusively on their own OS, especially if they only announce its a timed exclusive without giving concrete time tables for releases elsewhere. Its dirty, it defeats the point somewhat, but it is also necessary to drive adoption, otherwise the chicken and egg problem of no customers no games is never corrected.

But most of that is money and effort, and it is extremely unlikely to happen now that Valve hast hey want out of their product. They put the minimum effort in to keep Microsoft from trying to push their Windows Store as a competitor to Steam, much less lock them out of the platform, and now that they have what they want SteamOS can rot until they need a hedge against the monopoly again. What they underestimate is how entrenched Windows already is, and how it can only get worse with lock in like DirectX 12. Their hedge is never going to pack the punch it had in 2012 again, and it is unlikely Microsoft will be strong-armed in this way again either, unless SteamOS proves a legitimate competitor before that time.

It would be a shame to witness the death of PC gaming at the hands of console-grade proprietary lockdown that Valve was aware of but was too apathetic to really act to stop. There are thousands of us who realize the danger, and Valve obviously tasted it, but it is naive to think it just goes away and you can proceed with using the proprietary monopoly product indefinitely now. Its a never ending battle of politics if you don't actually own your platform, and Valve has done everything they can to try controlling a platform they have no control over.

2015/11/04

Software Rants 21: Wildstar

So I'm skipping a Plasma 5.4 rants. Only issues are that krunner is now incredibly laggy and crashes a lot due to its history feature, my displayport monitor starts slower than the others so plasmashell doesn't properly add it to the desktop set and I have to restart it after logging in most of the time, and the new audio widget doesn't have output switching. Highlights are lots of new icons, krunner history (lol), and a good audio plasmoid finally.

But on to more important things, like video games! Particularly MMOs. Particularly, Wildstar. It went free to play about two weeks ago, and I have been playing quite a bit since then (played every class a smidge, lowest is Engineer at 3 and highest is my 50 medic and 8 warrior, spellslinger, and stalker). I'm going to detail my likes and dislikes about this game, though I do like it and really hope it can succeed - amongst competition like Neverwinter and Tera, it does stand out for its setting and its housing, and the PVE is much nicer when you actually do need to use the trinity.

At that, in terms of my qualifications, I have most leveling reputations maxed, I got max level in scientist, I decked out my house quite a bit (but have not bought an expanded house because I'm cheap and hoarding plat for riding skill) and have completed most veteran adventures at this point, and have gone into a veteran dungeon to lag to death and die immediately (but the lag I'm not considering since its wholly because Wildstar cannot use any Wine performance optimization and I believe it throws a lot of rendering errors as well).

First up, the intro experience. This game lacks characters. Artemis Zin is pushed early on in both starting zones as this continuous character, but without a major introductory cutscene to introduce her shes just words you follow like every other NPC. By the end of the game when her story ends in Malgrave I think I picked up a bit on her personality but only by reading lore items and actually paying attention, something MMO players will never often do.

I'm going to make large comparisons to WoW - of course - because this game was developed by a studio founded by ex-vanilla WoW developers. In WoW, I do care about major lore characters, and there are three ways I develop an affinity - cutscenes that show them off (Varian Wrynn in the Ulduar cinematic), significantly scripted ingame actions they perform (think the duel in the wrath launch event between Garrosh and Thrall), and user generated lore hype (everyone loved the Warchief in vanilla just because of his WC3 lore and it spread to other players.

Basically, you cannot make a character great on written text in a 3d world. They need to take action. In the OmniCore weekly at the end of the game you escort a mechari called Axis Pheydra who finally gives you some character with an NPC that has voiceovers besides a bit of Artemis. Basically each race has a quest leader - Mondo Zax for the Chua, for example - that recurrs in the world, but since all they do is act as questgivers and have very limited interaction in the world they aren't really too interesting.