On Mar. 27, 2018 I left a commentary covering CD Projekt Red’s coding practices on the GOG.com community wishlist for Good Old Game’s Galaxy Linux Client. After submitting the post I learned two very important details of the GoG.com wishlist posting system. The first detail was that the Good Old Games posting system was incapable of parsing basic HTML text and as such butchered the formatting of the commentary into an unreadable mess.
The second detail was that the Good Old Games posting system does not have a visible user-exposed method of linking to a specific post within the wishlist system. Thus there was no way to accredit the post to a press-account recognized by CDPR.
To solve these two issues I reposted the commentary to Google Plus, thus providing a hard link to find the commentary and a human-readable version. However, Google Plus is being decommissioned due to gross negligence and extreme incompetence from Google Engineers. So, here on 2/11/2019, the commentary resurfaces.
The reason I am reposting the commentary now is that CD Projekt Red, who owns Good Old Games, has admitted to having hired a workforce of over 400 to work on the upcoming “Cyberpunk2077.” I find it rather interesting that CDPR would hire such a significant workforce for a flagship game title yet not invest any of that workforce in addressing long-standing issues with CDPR’s flagship software application. Namely; the cleanup of the codebase for the GOG Galaxy Client.
One of the better known Linux-focused news sites that caters to gaming interests (rhymes with Moronix) routinely runs a number of “scary” posts about how few users actually leverage Valve’s Steam on Linux, or just game on Linux platforms as a general rule.
Those figures are meaningless at best, and extra-ordinarily misleading at worst. Sadly I know that a number of developers and publishers routinely reference Valve’s installation figures to determine market-share since Steam=PCGaming. I also know that most of those developers and publishers frame their end SKU’s around each platform as entirely separate development objective. A Linux client of a title is considered to be a completely separate development task from the production of the original source code. I’ll come back to that misplaced theory in a few paragraphs.
Rather, I should start with disproving the targeted-sales validity of the Valve specific figures just using my own hardware. I have the Steam_Linux client installed on 3 different Linux platforms. One is on my desktop Kaveri system which has been slowly dying and is about as stable as a teeter-totter. Another installation is on a headless media server. Valve’s Remote Desktop through Steam Link just happens to be hands-on awesome sauce for managing that server using an Android Tablet and bluetooth peripherals. The last platform is on a laptop that can barely play “Shatter.” I have never been asked to participate in the Steam Usage Survey on any of those 3 systems by Valve. I have been polled multiples times on the Kaveri system while booted under Windows.
Valve’s figures for who uses Steam_Linux is only accurate in terms of measuring those users who not only are polled, but also proceed to opt-in to that poll. Valve might indeed track the totality of both the hardware and operating system usage using data gathered by the Steam Client. The Steam Survey itself is predicated on the idea that any and all information was garnered from voluntary respondents and not from involuntary data collections. There is a perception that the Steam Survey does reflect the totality ratios of those who did not respond when asked to be polled as well as those users who were not polled. Those are some rather large caveats to keep in mind when examining Valve’s public releases of information gathered from the Steam Survey’s.
At the time of the original post Valve tracked concurrent users at around 14 million to 16 million users. As of this post concurrency hovers between 10.8m to 17.6m unique accounts. If only 1% of the 2018 concurrent users were running a Linux derived OS that results in 140,000 to 160,000 unique users. If only 1% of the 2019 concurrent users were running a Linux derived OS that places the concurrent user count somewhere between 108,000 users to 176,000 users. By any measure a game title selling over 100,000 units is considered a success, so even 1% of Valve’s player-base represents a significant market-share.
However; those numbers are drastic under-estimations. Not all Steam Survey recipients elect to participate in the survey. Not all Steam users who have Linux installations take the time and effort to install Steam for Linux due to often documented driver issues. A number of games that are available on Steam’s Linux client may indeed be played on Linux but were not acquired, and thus not directly tracked, through the Steam store. Case in point being Linux titles that were bought on GoG or Humble Bundle.
In 2018 Valve stated that that Steam serviced over 125 million unique users; placing a 1% market penetration at ~1.25 million users. That is one of the reasons why (Moronix’s) scare stories about lack of Linux users in Steam can’t be taken at published value.
Yes; Linux users are a distinct minority compared to their Windows counterparts. There are any number of reasons for this ranging from driver support to apathy. Still, using Valve’s own figures, the gamer Linux market, extrapolating literal numbers from survey results, potentially dips into the 7 digit figure market. Keep in mind that this kind of real-world market penetration occurred before AMD entered the Chromebook market, and before ChromeOS started supporting running native Debian Linux packages.
There is certainly a fair point to be made that none of the announced AMD powered Chromebooks use the Ryzen 7 3750H, the Ryzen 5 3550H, or even the Ryzen 3 3300U. There is also a fair point to be made that Dr. Lisa Su blew the chance to have Team FNATIC show off the potential of the Chromebook as a 1080p ESPORTS device by having FNATIC give a demonstration match in any Steam_Linux compatible ESPORTS title using a Ryzen 7 3750H powered Chromebook.
So, fair point that AMD, HP, and Acer all seriously dropped the ball on what could have been an explosive CES 2019 presentation. The Radeon VII could have been announced for a whopping $699 and been slower on average compared to an RTX 2080 and nobody would have noticed. Everybody would have been talking about the gaming revolution on affordable Chromebooks.
That marketing failure on the part of AMD and it’s hardware partners hews away from the point of the post I had originally aimed at CD Projekt Red. The point of releasing game clients on Linux operating systems has never been about attracting those few hundred thousand to potentially millions of sales.
Most of those PCGamers, by definition, are going to have access to Windows systems. Outside of pure ideology very few PCGamers are going to absolutely refuse to run a Windows Operating System. Those who use Linux systems likely do so because they enjoy using Linux systems. Selling to those users is not the point of releasing a Linux client.
The point of releasing Linux clients is Good Coding Practices. Leveraging Platform Neutral API’s and simultaneously publishing across multiple Operating Systems forces developers to not just clearly document their code; but also avoid platform specific black box solutions.
I, personally, go so far as to say that if a developer cannot cleanly compile both Windows AND Linux builds from the same source code… THE DEVELOPMENT TOOLCHAIN ITSELF IS BROKEN.
When I originally aimed this commentary at CD Projekt Red I did not include Apple. I still don’t. The Metal 2 API indicated a company that was never going to seriously address multi-platform API compatibility. At the time of the original posting I decided to not address the elephant in the corner; namely that Khronos had a month before initiated a multi-vendor partnership to bring the Vulkan API to Apple after Apple refused to support Vulkan.
Flash forward to today when this commentary is going live and I, personally, find myself amazed that CD Projekt Red can’t simply hit the compile button in their development tools and generate a Linux Executable for the GOG Galaxy Client. I find it even more surprising that CD Projekt Red would employ the largest workforce they have ever fielded for any game and not direct a portion of that workforce to address the quality of the GoG Galaxy code base.
The quality of the code-base for an application is critically important. I raised the subject of AMD’s failure to address the Chromebook market because, well, quote/unquote “nobody” saw the Chromebook revolution before it happened. One of the (many) reasons the Chromebooks have been a success as a retail product is that, as hardware devices, they offer good enough everyday computing at a physical hardware price point that is attractive to educational institutions and quote/unquote Third-World/Emerging-Markets.
One would have thought that when the Chromebook’s launched software vendors would have already imagined and prepared for a retail market in which neither Microsoft nor Apple were the dominant players. One would have thought those software vendors would have already learned painful lessons about market presumptions and assumptions as just a few years before Chromebook’s launched there was a little mobile operating system called Android.
Quote/unquote Independent Software Vendors were left twiddling their thumbs as Android phones and tablets blew Apple’s pathetic “millions of sales” figures out of the water with “Billions Of Activations.“
Flash forward to today and major publishers and developers such as EA and Activision have sunk huge amounts of cash into trying to ride the tides of the Android Market. A substantial portion of that investment arose from the inability to address the Android Market with their existing software product portfolios. Yet if those publishers and developers had mandated that their software products compile by default across Windows and Linux there would not have been a huge fiscal outlay to try and capture the surging wave of Android systems. There would not have been a massive retooling to get Applications quote/unquote “into the cloud” so that the applications could be run in a web-browser and thus target the low-specification Chomebook devices. Just by being designed to natively compile for both Windows and Linux systems the product portfolios of Independent Software Vendors would have likely been in a condition where porting into a new specific target would be a trivial task.
Let me phrase my point like this:
Clean and Well Documented Code is Clean and Well Documented Code.
Nobody knows what the next operating system or platform will be. No independent software vendor foresaw the impact of Android. No independent software vendor foresaw the impact of ChromeOS. No independent software vendor knows what’s going to come next. If those “independent” developers make sure that their code base cleanly compiles across two very different software ecosystems, then it likely will not matter what comes next. That next platform will need to have a compiler of some kind, a targeted executable format of some kind, and API support of some kind. Chances are that platform will probably be using a Unix derived operating system and Khronos API’s, just like Android and ChromeOS.
Now, I spent a significant amount of time in this post picking on AMD. Keep in mind that as many of those early Chromebook devices enter the end of their physical hardware lifespans their users will be looking at replacements. Also keep in mind that the ESPORTS market is generally focused on 1080p rendering performance on ARM Mali GPU’s and Intel Integrated GPU’s. Titles aimed at the ESPORTS market focus on these lower rendering performance targets because most players involved in ESPORTS titles could not afford decent gaming rigs. ESPORTS games, by and large, took off because those games were 100% playable on low-rendering performance Android devices and Intel Iris platforms.
AMD could have addressed this emerging gamer market at CES 2019 with Chromebook’s capable of pushing QHD or 4k resolutions. Imagine a ~$600(US) Chromebook that could edit 4k photos and videos at 4k camera resolution, offer a Freesync tear-free display, and still offer 1080p Vulkan rendering performance for non-ESPORTS titles, and 4k rendering performance for ESPORTS titles. Would anything else have mattered at CES 2019?
As it stands Google’s slow adoption of direct Debian support in ChromeOS is something hardware and software vendors need to address. It is a marketing opportunity for any number of vendors.
Imagine for a second then if AMD and CD Projekt Red got together and just before Cyberpunk 2077 was released they announced a team-up. A limited edition Chromebook with an embedded Cyberpunk logo, an AMD Ryzen processor and GPU, and GOG Galaxy For Linux pre-installed by default on the ChromeOS desktop.
If you were in the market for a new laptop and you were a gamer… would you pass that up?
Would You?