Epic Games founder says Microsoft's patches will make Steam progressively worse
pcgamer.com
pcgamer.com
It's also why Valve have invested in the Steam Machine. At the moment it's not a serious competitive prospect, but it's there ready as an escape valve.
After all, only one company can get a 10-30% cut of games sold to run on Windows, and Microsoft don't see why it shouldn't be them.
Microsoft do phase things out, but only slowly, with long migration times for business users.
Games aren't being developed to run on Steam Machines. They're being made Linux compatible, and incidentally that makes them run on Steam Machines.
During my time there, I did not see any anti-competitive practices the author is speaking of. Those days are long gone. I know first hand we were committed to compatibility and growth of the platform, new and old. That being said, it's clear that building on Win32 is painful and not cheap. Win32 is great if you want direct system access and complete control over everything, up and down the stack. This works well for large enterprise applications and games. The tradeoff here is that you must roll your own everything and work hard not to do stupid shit.
During the Vista days, we saw that the Windows app ecosystem was struggling because we didn't have a good platform story. You had to choose between Win32 and .NET. If you're a native developer, it was Win32. Win32 didn't provide a great app and UI framework (have you ever tried to owner draw a control or do fluid layout?). This is why many app developers during that time built their own app and UI framework, used MFC or leveraged a 3rd party framework. I was only familiar with the app platform so I can't speak to the options for building a game. I'm sure it was limited as well.
Microsoft introduced many platforms since Vista - WPF, Silverlight, XNA, Win8 Apps (Windows XAML and WinJS), and UWP. I'm sure there are more :) Even with all of those new platforms in the mix, Win32 is still alive and well.
I believe UWP is a huge win for developers. You don't need to roll your own everything. For the companies that want complete control, Win32 is still there. It is true that certain things are only available to UWP developers. There is no malicious intent, it's really only about priorities. The new thing comes first. The developer community needs to speak up if they want something. Microsoft will listen.
> Microsoft introduced many platforms since Vista - WPF, Silverlight, XNA, Win8 Apps (Windows XAML and WinJS), and UWP. I'm sure there are more :) Even with all of those new platforms in the mix, Win32 is still alive and well.
Not "Even with". More like "thanks to this chaos and the uselessness of those platforms".
> I believe UWP is a huge win for developers.
Without specifying which developers, that is meaningless. Last i heard a game dev can't even control vsync.
> The developer community needs to speak up if they want something. Microsoft will listen.
This is the worst part. Speak up WHERE? Speak up HOW?
"Listening" is not "reacting when a blogpost gets reposted everywhere". Listening is taking the time and place out of your day to make sure that the person has your undivided attention.
They'd practically be telling all their casual, professional, and enterprise userbase to not update. Their prior support for win32 has locked them into it, even if they want to leave it
I think they are realizing that it's holding them back and I suspect they will be less afraid of breaking things in the name of progress.
When I updated my laptop from Windows 7 to Windows 10, it just uninstalled the things it thought was incompatible (a Cisco VPN client was the big problem).
In fact, the sneaky and slimy strategy that they used to get people to update to Windows 10 feels almost like contempt for customers that don't want the things Microsoft is pushing.
Is the PC gaming market a big one? Is there an opportunity here for Linux to become a gaming contender?
Current state is that 25% of the Steam library is Linux-compatible. That's about 2500 games, so definitely enough to keep you entertained, unless you're the type of gamer who always has to play the newest AAA titles.
With Vulkan slowly picking up adoption, this will probably increase even more rapidly in the future, too.
Next thing is that Vulkan as well as DX12 make it so that drivers for graphics cards will be much smaller and therefore the resulting drivers will be much less likely to be broken, which has been a big problem on Linux in the past.
But Nvidia has now pretty good Linux drivers anyways and AMD has recently started investing more resources into it. Among other things, AMD open-sourced their drivers, so now the Linux-community can help to fix up their drivers instead of maintaining an own driver.
I also figure that the growing machine learning market gives a good incentive for Nvidia and AMD to have good support for Linux, so that should translate back to the desktop, too.
The only problem is that all of this can serve as reason to not avoid Linux, but unless Microsoft really does continue making such great arguments against using Windows, we won't really see many people change operating system...
When a title is Linux-compatible, does that mean it works flawlessly? Does it use Wine?
I don't know, if Valve requires anything for that, but it's specifically not the percentage of titles which you can get to work through any combination of black magic. It's the percentage of titles where the developers offer you support, if it doesn't work on your system.
And I know that some of those games do use WINE internally for the port, but it's properly pre-configured in a wrapper and should work just as well as a native Linux-game. So, you don't need WINE installed separately on your system for those.
Sad that we have to make gut wrenching choices these days, even within Microsoft's own platforms. But elsewhere as well, e.g. go with JavaScript to accept third party code and deploy on web or go iOS native to get access multiple shared memory threads (which I know how to use) for an app I've been thinking about.
And aren't UWP apps a walled garden (apps need to be signed unless you enable developer mode, which has all kinds of side effects, requires a Microsoft account and can be revoked?)?
At some point (I don't recall if it will make it into the Anniversary Update or not), the install process for a UWP app won't even need the one line of PowerShell and will support just double-clicking the .appx package, and will have suitable UAC-like install prompts.
Microsoft has already told Steam they should encourage UWP app installs, and supposedly the Play Anywhere stream of games from Microsoft in the next few months will also be sold via Steam as UWP installs under the hood as an option to game buyers that prefer Steam (but the expectation is that buying from Steam will not count for multi-platform cross-buy, as opposed to buying from the Windows Store).
(Microsoft does provide to verified developer Microsoft accounts short term keys for developer testing, but you wouldn't want to use those for sideloading simply because they are so short term. The Windows Store also handles long term code signing for you at no additional cost ["in the cloud"], and yes that can be revoked if they kick your app out of the Store, but that shouldn't be surprising.)
(Developer Mode doesn't really have "side effects" and I don't think you need a Microsoft Account to switch to Developer Mode, but I still wouldn't recommend it to non-technical friends.)
Vulkan.
For consumers it ain't that great either, the curation process on steam is non existent, it does not force developers to maintain compatibility, the search option is very bad and you can not filter games based on release year (you can only see the year they released on steam and I've seen people buying 15 year old games by mistake). Steam ties you into their DRM (you can also use a 3rd party DRM if you want) and their API's.
Saying that Steam is somehow the champion of open gaming on Windows is silly, it's a monolithic monopoly that does pretty much my way or the highway moves all the time. So far I haven't seen any evidence that MSFT has any interest in killing Win32, but maybe it should, if UWP can become a better platform at the end I don't see any reason to stick to Win32 when developing applications. All our mobile platforms have a single store, Apple has it's own store, based on the few UWP games that have been pirated you can install UWP applications without using the store, MSFT can in the end support 3rd party distributors. And if it doesn't well TBH considering that Steam hasn't been a champion for consumers for a long time, I don't really see it as being a "bad" thing, and if Microsoft makes them worry maybe they'll get their shit together again.
"Slowly, over the next five years, they will force-patch Windows 10 to make Steam progressively worse and more broken. They’ll never completely break it, but will continue to break it until, in five years, people are so fed up that Steam is buggy that the Windows Store seems like an ideal alternative. That’s exactly what they did to their previous competitors in other areas. Now they’re doing it to Steam. It’s only just starting to become visible. Microsoft might not be competent enough to succeed with their plan, but they’re certainly trying."
What previous competitors is he talking about?
As an aside do you have any actual evidence that Microsoft made QuickTime more unstable on Windows? Or is that just supposition?
PS - OS 9, like Windows 9x, lacked protected memory. So I have no doubt that a leak or other error in IE for Mac could cause the OS to crash. I hardly think that's really solid proof, just more proof that operating systems without memory protection are inherently a bad idea.
Sure you can sell your games standalone and I doubt that will never change but most games benefit on being on a platform like Steam or Microsoft Store. For me as a consumer, I like that there is competition.
Seems far-fetched but I can see Microsoft slowly deprecating Win32. It would be similar to when Apple deprecated Carbon, only slower: they'll stop adding new features, they'll tell developers to avoid it for any new development, etc. Won't happen overnight though as they're too much legacy software out there, but it could happen in the span of several years, a decade or so. Right now what I'm saying is fiction but it's a possibility any store developer like Valve and customers too should have in mind.
They'd have to be really, really careful going down that path, though. Microsoft's biggest advantage in the OS landscape, aside from preinstallation deals, has long been the broad range of established software that is exclusive to Windows. It's tough to migrate your business to Apple laptops or Linux servers or tablets in the mobile workforce if several key applications that 1,000 of your staff have been using every working day for a decade don't run on those other platforms. It's a closed loop for software developers as well, because as long as your customers are almost all on Windows, there's little benefit to developing for other platforms concurrently.
With so many business applications now offering web-based access, that exclusivity has already been eroded, and that process shows no sign of slowing down. If Microsoft were to nerf the long-established Windows APIs that "heavyweight" software like graphics and CAD packages rely on, that would force the redevelopment issue for those software developers, and I'm not sure Microsoft would like the long term results. They might wind up with exclusive control of the main delivery channel on Windows, but that only matters if the developers and users are still on Windows at all. With gaming in particular, we've seen in the past that one or two smash hits can be all it takes to establish a new platform, whether it's one of the consoles or mobile or just puzzle games via Facebook. With the resources available to Steam, that has to be a scary prospect for Microsoft.
> "The risk here is that, if Microsoft convinces everybody to use UWP, then they phase out Win32 apps. If they can succeed in doing that then it’s a small leap to forcing all apps and games to be distributed through the Windows Store. Once we reach that point, the PC has become a closed platform. It won’t be that one day they flip a switch that will break your Steam library – what they’re trying to do is a series of sneaky manoeuvres. They make it more and more inconvenient to use the old apps, and, simultaneously, they try to become the only source for the new ones."
I like windows today but I have no real loyalty. I would have no issues with leaving it for Linux the day it's too locked down.
I'll start worrying about the future of locked-down UWP applications once I start seeing anybody build some that are more than gimped versions or toys. Wake me up when Visual Studio or SQL Management Studio is rewritten as a UWP app.
This is the company that still provides monthly updates for Windows Vista.
That's one way of looking at it. Another would be that for most practical purposes, Win32 is their platform.
We've heard this mantra from Microsoft many times before, switching out things like database APIs, dev tools, interop protocols, the entire history of .Net, and so on. These things have come and, in many cases, gone, all while Win32 endures in the background supporting the software that makes the real money.
In almost any other topic on HN, if we were discussing moving to running things in secure containers, people would agree it makes sense to move that way and that the additional layer of security is worthwhile. But because it's Microsoft doing it, and Microsoft is changing their software from like... the same way they've been doing it for the last twenty years, people are upset about it? I'm confused.
When we talk about UWP, it shouldn't be "UWP is inherently evil", we should comment on and criticize issues Microsoft may have with the development of UWP. Initially, UWP was very hard to use outside of the Windows Store, and so it's fair to criticize there. And arguably, they've been working on improving this. They demonstrated Steamworks running on a UWP app at Build this year.
We should definitely criticize if Microsoft does something specifically to lock down UWP. But we should not inherently decide UWP is evil because it's new.
That doesn't nullify the concerns that started this whole discussion, though: Microsoft could be pushing people towards UWP for less benevolent reasons, and surely has the technical and commercial capabilities to try to make Sweeney's hypothetical scenario the new reality.
Maybe this is just a mistaken perception, but I suspect Microsoft may have burned a lot more bridges with their recent actions than they have realised so far, particularly among enthusiast and "professional geek" communities that have remained generally positive about MS and its products for longer than most. Viewing anything they do with suspicion is a natural consequence of the way they've been treating their customers lately, and I don't see anything they do that has any hint of lock-in getting an easy ride from here on out.
So it's weird this post is becoming a thing now, after he demonstrably knows they're not (currently, at least) trying to do that.
Reading the parent post: "The risk here is that, if Microsoft convinces everybody to use UWP, then they phase out Win32 apps. If they can succeed in doing that then it’s a small leap to forcing all apps and games to be distributed through the Windows Store."
That's not a small leap, it's a huge leap. And this is an inherently fallacious statement. It's equating a technical one, swapping an insecure app format for a secure app format, with a policy one, blocking third party apps. When, as a closed platform, they could block third party Win32 apps if they wanted to just as similarly. They could make Win32 apps ship through the Windows store, and I believe they discussed it at one point. It's silly that he's particularly equating UWP, a security feature, with a platform lockdown, when the platform lockdown could easily come with or without that security feature.
And even if this imaginary reality of Tim's became real, we currently have two viable OSes that Steam works great on that aren't Windows. So Microsoft would have to weigh their perceived gain of a lock-in against the potential loss of the gaming community. Ubuntu wouldn't have a hard time attracting gamers if Steam support was solid, and was kinda broken on Windows.
But I've mostly learned to take a wait and see attitude with new silver bullet APIs from Microsoft. Sometimes they take off and really do became the way forward, but far, far too often, after some initial hype, there is a lack of uptake, they wither on the vine, and then are abandoned for the new shiny, leaving behind the developers that did invest in them.
Meanwhile, Win32, like the Dude, abides.
But I think they could limit Win32 it for the Windows 10 consumer editions without the common user being affected much, if they port IE and Office to UWP and can also convince major game publishers to release their next AAA games as UWP applications in the windows store.
Given that they already ported an entire browser to UWP (Edge), that may happen sooner than you think. I wouldn't consider a browser a "toy".
False. With Windows 10, sideloading is permitted by default. The caveat being, of course, that you're on your own for making sure the app is safe if you choose to use a sideloaded app.
http://www.howtogeek.com/219651/windows-10-allows-you-to-sid...
For now.
Since November UWP sideloading has been allowed in Windows by default.
If Microsoft makes the Windows Store the only place for users to get applications, then they can abuse that position like you can abuse any monopoly. They could start charging developers more or make life harder for developers who offer a product that competes with one of Microsoft's products or push through any policies they want etc.
Nobody minds Microsoft setting up a Windows store and trying to attract game devs to it. The problem is when they try to lock out their competitors out, somehow, using operating system functionality.
(Let's not also forget the disaster that was Games For Windows Live)
That hasn't kicked up as many waves yet because the tech has been slow to adopt.
There are still new games being developed on top of DX9 today.
Even today, Steam's hardware and software survey puts DX12-capable hardware at around 70% of their users but nearly half of those aren't running on Win10. That's after a year of Microsoft literally giving it away and it being the default OS you get preinstalled on most new PCs in stores. The pattern of adoption hasn't been entirely surprising either: a fairly rapid shift over the first six months or so after 10 came out, but then a much slower shift since then.
It's going to be a long time before anyone running a modern GPU on Windows 7 can't run the latest PC games with decent results.
Also, with Steam's push towards Linux support this would be a dangerous strategy for Microsoft. Gaming is what drives a lot of people to Windows over other platforms. If Microsoft actively makes Steam unusable on Windows there's no reason to think people won't just seek out a better platform for Steam.
Similarly, a UWP app could conceivably be allowed to trigger the install of another UWP app, but it would pop-up a Windows box, not unlike a UAC elevation prompt, showing the app name, publisher if properly signed, and requesting the user permission to go forward with the install.
IMHO, I expect Microsoft to release a solution more like Apple's App Store and less like Google. Clearly, Epic Games' founder has the same concerns. He's also expressed concern with Microsoft only allowing something like Steam to be installed via side-loading, which he thinks provides a barrier to entry that is too high. I tend to agree, it's easy to slowly make side-loading more and more difficult as time goes on, or to make more and more critical APIs unavailable to non-UWP applications.
http://www.develop-online.net/news/universal-windows-platfor...
I'm rate-limited, so to respond to the person who commented here:
"Embrace, Extend, Extinguish": You might notice if you read the linked Wikipedia article, this is from 1995. Also known as 20 years ago, when almost everyone involved has since retired. Or died. I was in elementary school when this strategy was used by Microsoft. The person who said the phrase in a meeting, Paul Maritz, left Microsoft 16 years ago. Babies born during that meeting are legal adults today.
https://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish
Linkedin lists Valve as having between 200 and 500 employees. Putting a team of engineers to work on removing the dependency on Windows32 seems like a reasonable alternative to a course of inaction dedicated to letting Steam full into suck.
My intuition is that Microsoft is even likely to work with a partial potential competitor like Valve when it comes to something like this because anyone who is using Steam on Windows...well they're using Windows and Microsoft has an substantial interest in not having Windows suck for the people who use it.
To me, this kinda' sounds like Valve announcing that it's not really going to spend any more money on evolving the Steam code base.
Except that Steam houses thousands of games by various developers, not a small set of games built and designed by Valve. It would be pretty difficult, but not impossible, to remove that dependency.
Whether Valve should invest in developing technologies to keep Steam relevant is a business decision. This appears to be announcement of Valve's intent. I would not be surprised if paying off the technical debt incurred by Steam does not meet the investment model of Valve's controlling interests. The Windows ecosystem is littered with technically obsolescent cash-cows: e.g. Laplink.
[1]:https://msdn.microsoft.com/en-us/windows/uwp/packaging/packa...
Before Bring Your Own Device, there was bring your work home. Windows is to a meaningful degree a business class product sold to consumers. Removing sideloading from normal Windows would make Windows less attractive as a standard platform for enterprise if people cannot use line of business apps on any old device.
Of course, that doesn't make it irrevocable. But revocation seems unlikely to me.
False. With Windows 10, app sideloading is permitted by default.
If they stripped Win32 out of Windows, it wouldn't only impact Steam, but Microsoft Office, Visual Studio, Photoshop Suite, Chrome/Firefox, iTunes, their shiny new Linux tools, etc would also be out.
This goes against the ethos of Microsoft. Criticise them all you wish, but they're absolutely obsessed with backwards compatibility and always have been. They know the ONLY reason Windows is popular is because you can throw in a piece of software you purchased in 1999 and it will "likely" still work. If they dropped Win32 entirely, then Windows is interchangeable with a Chromebook.
Heck up until 64x one of their test cases was if Doom (released in 1993) still ran. They only stopped because 64x doesn't support 16 bit.
Also they just made side loading UWP apps easier by defaulting to the option to allow it (previously you had to go to control panel to enable it). Also stuff like this https://github.com/aL3891/AppxInstaller exist which make .msi installer for an .appx package.
On top of that I really like that WinRT is basically COM+ Runtime reborn and that Visual C++ finally feels like C++ Builder for GUI RAD tooling.
And that .NET Native also got developed in the process.
I imagine it all depends which side (internally) will come out on top.
Are we to take this to mean that Tim Sweeney is admitting that Steam uses undocumented Windows APIs? Because that's the only way Windows patches have broken existing software before.
Not to mention that ~20 years ago, Microsoft got in trouble with the government[0], and was almost forced to break up for forcing their own software on PC manufacturers, and on top of Windows.
[0] https://en.wikipedia.org/wiki/United_States_v._Microsoft_Cor....
Google just makes sure that most Androids have the Play Store, and then it's just the network effect: bigger audience -> more attractive to developers -> more apps -> more users.
I smell monopoly. They have powers to affect most of a market. Whether Google is abusing that power (thus, illegal), I'm not sure.
For most adults/businesses in developed countries, mobile is a secondary device, while PCs run everything from AAA games to filing systems to interfaces for medical equipment.
"The Steam platform is considered to be the largest digital distribution platform for PC gaming; in November 2009, Stardock estimated it at 70% and then later, in October 2013, it was estimated by Screen Digest that 75% of games bought online were downloaded through Steam."
Puts Valve's complaints in a different perspective.
But we also don't consider iOS apps an interesting option for the software we develop because of Apple's control and fees, and we build our software with a web front end that runs anywhere instead.
{{citation}}
That is a bold fucking claim. Exactly how has this happened to Steam already? They don't bother to provide any reference or clue.
Have fun with your GetLastError, fifteen parameter functions, and poorly documented flags. But hey, at least it doesn't have much security, so I can download game mods from some unknown source that have full access to everything on my PC.
Way better security model
Unified error handling
Clean install/uninstall (no rot)
Much faster and more capable version of XAML running on top of DirectComposition with easy DirectX interop
Native support for web apps
Resolution independence with no extra work
Easier to support accessibility tools like screen readers
Saner API design (no flags where only some combinations are valid)
.Net Native
Much better touch support
Cross-platform (xbox, holo lens, IoT, phone...)
Access to devices like camera, mic, sensors with high-level APIs (even accessible through C#/JS)
No P/Invoke required for C#
etc.And UWP is not better in all accounts. It grants Microsoft more control over the ecosystem, which is seen as negative by pretty much anyone who isn't Microsoft. Therefore someone who doesn't care so much about the advantages that you listed could perceive it as worse.
So, UWP is not objectively better, it's only subjectively better, which is why yes, people can very much justifiably complain about it.
I think that's more on you than the OS.
Especially in this case. Isolation has been one of the main drivers of operating systems. Isolation between users, so they can't change each other's files etc. maliciously . Isolation between processes, so they don't accidentally corrupt each other. At least since the first computer virus in the wild in 1982 it should have been clear that software can also potentially be malicious and needs to be isolated from having the same rights as the user executing it.
The only reason why executing arbitrary x86 code in ring 3 is dangerous are the syscall interfaces the operating systems offer.