It's a bit more tricky, a Generic HID just gives you a DirectInput device, while reasonably modern games use Xinput. Microsoft never provided a way to map DirectInput devices to Xinput. For Xinput to work a Microsoft specific USB protocol is needed, not a Generic HID device. Many third party controllers have a switch or button combination to switch between XInput and DirectInput modes for this reason.
Microsoft has a new API with GameInput that addresses this situation and allows mapping Generic HID devices onto game controller via config file, but it doesn't work retroactively, it only works for games that use the new GameInput API.
Valve could of course provide a way to switch and emulate other protocols too, just like other third party vendors do, but there is no USB standard that makes things "just work" in Windows when it comes to gamepads, you always need extra drivers, USB modes or other hacks.
On consoles the situation is even worse, modern consoles deliberately lock out any unlicensed third party controller. Playstation3 was the first and last console that supported standard USB controller, while PS5 doesn't even support PS4 controller.
Most of them I would assume. Everything from 2006 forward started to use Xinput. DirectInput support only shows up in racing sims, flight simulators, fighting games and emulation. But all the big AAA games have been built around Xbox360 style control schemes for two decades.
But it's all a bit theoretical, since most modern gamepads have Xinput support, and the generic HID devices are mostly flightsticks or SNES-style gamepads that wouldn't have enough buttons and axis for modern games in the first place. Another issue is that most games don't offer input remapping for gamepads.
But with SteamInput and homebrew tools like x360ce there are many ways to make generic USB devices compatible Xinput, so it's not like you can't use them. It's just not something that works out of the box.
Prior to Steam there was StarForce and other copy protection messing up your OS and DVD drives, and plenty of stuff needed online activation as well. Of the last few physical games I bought, none work anymore, Bioshock couldn't be installed due to lack of patch servers last time I tried and Arkham Asylum failed due to GFWL being dead. Even when everything worked, you often had to manually go hunt for patches, sometimes multiple that needed to be installed in the right order, and that might not even be compatible with the localized version of the game you had.
Still sucks that used games died and the forced game upgrades that come with Steam have their issues too, but PC gaming was a horrible mess before Steam cleaned that up. Heck, I'd rather rebuy a game on Steam than find out what those vintage DVD copy protection does to a modern Windows. Most PCs don't even have a DVD drive anymore anyway.
There were definitely issues, but I think that some of those basically extend from Steam and the way it worked. GFWL was Microsoft's competition to Steam, so it just copied Steam (~3 years after a Steam came out) and worked similarly to the way other physical releases worked after Steam became popular.
It's true that some of the heavy DRM was an issue back then, but I'm not convinced that's guaranteed to be less of an issue going forward. Steam probably won't live forever, and there are tons of titles on Steam that use Steam DRM, third party DRM, or rely on servers that will kill the game eventually. Just because the lifecycle is longer now doesn't make it less of a mistake than it was previously.
My biggest complaint, though, is that the ownership terms simply got shittier with Steam. Many of those old games, even from big, "evil" publishers like EA, explicitly allow license transfers in their EULAs. Steam explicitly forbids transfers.
> I'm not convinced that's guaranteed to be less of an issue going forward.
I am sure it's going to be an issue at some point in the future, it already is an issue when it comes to sharing games or keeping older versions around, but what's the alternative? The alternative isn't no DRM, it's whatever DRM Apple, Google, Microsoft, Epic, EA and friends come up with, and of all of those, I take Steam any day.
Even GOG kind of loses to Steam here, as while GOG gave us DRM-free downloads, Steam gave us Linux support and Windows-emulation and I'd rather have Steam DRM on Linux than being stuck on Windows with DRM-free GOG games. And unless I am missing something, GOG's DRM-free games didn't lead to a used digital games market either, they explicitly forbid selling or sharing in their user agreement[1]:
>> 3.3 Your GOG account and GOG content [games] are personal to you and cannot be shared with, sold, gifted or transferred to anyone else.
Digital goods ownership is just not a thing that exists at the moment. There was an attempt based on blockchain with Robot Cache[1], but that just shutdown.
Says you. Steam made DRM a no-brainer for developers and even got almost all players to stop complaining about it. If that hadn't happened who's to say where we would have ended up.
> Steam gave us Linux support and Windows-emulation
No, Wine gave us Windows-emulation. Even DXVK was not originally developed by Valve. They polished it all to make it more user friendly and fixed game specific issues, which is nice of course, but let's not pretend that it was simply impossible to play Windows games before Gaben graced us with his attention.
> Digital goods ownership is just not a thing that exists at the moment. There was an attempt based on blockchain with Robot Cache[1], but that just shutdown.
Right of first sale is well tested for digital goods sold on physical media and cannot be restricted by EULAs no matter what they say. Do you have evidence that courts would see this differently with a digital download?
> If that hadn't happened who's to say where we would have ended up.
We went through numerous years of that before Steam became a thing, almost a whole decade passed between the Internet getting popular and Steam really taking off. DRM filled DVDs and online installs with activation limits were the results.
> but let's not pretend that it was simply impossible to play Windows games before Gaben graced us with his attention.
Let's also not pretend that fiddling for hours with Wine configs is somehow similar to pressing "Play" and having stuff Just Work™. That extra level of polish that Valve provided is critical for making it actually useful for the masses.
> Do you have evidence that courts would see this differently with a digital download?
Can you show me a place were I can buy used digital games? Itch.io doesn't disallow reselling games as far as I can tell, but yet we don't have a used digital games market. Buying a random .zip file, with no proof of ownership, is just not something people are interesting in.
Would the model even need that breath of knowledge? Humans just look things up in books or on Wikipedia, which you can store on a plain old HDD, not VRAM. All books ever written fit into about 60TB if you OCR them, and the useful information in them probably in a lot less, that's well within the range of consumer technology.
As long as the application is made aware of the permissions and can prevent functioning when they get denied, that doesn't really help much. It's the choice between getting mugged or never leaving the house.
The ability to deny permissions without the app noticing or filling it with fake data doesn't exist on either system.
One big thing I still miss with org-mode are explicit section endings. Just as with markdown you only have headings, the end of a section is implicit. This often leads to text getting swallowed up by the last chapter and makes any kind of restructuring fragile. HTML's <section> makes things much easier.
Having explicit header levels (similar to HTML's <h[0-6]>) is another annoyance, as that makes inclusion of one org document into another problematic and requires restructuring (somewhat workaroundable with "#+begin_src org").
Problem with that is that the default browser styling is extremely ugly and the ability for custom style sheets was removed from the browser GUI many years ago. ReaderMode and Addons can help, but as long as the default is essentially broken and unsupported that whole approach remains a dead end.
On top of that come issues like the lack of pagination support in browsers, which make long document impossible to read and practically require to add custom UI inside the website itself.
ePub works much better, with readers giving control over line spacing, font size, pagination and proper markup for TOC and other metadata, but despite ePub being based on xHTML, browsers have ignored it (only old Edge supported it for a little while).
> you're going to be writing the (name value) form for 99% of it.
That's exactly the part that is wrong with Guix, and Scheme in general. Scheme has associated lists, they are written as '((name . value) ...), but since that's too ugly everybody makes macro wrappers around them to get them down to just (name value). But that means you aren't dealing with an obvious data type anymore, but with whatever the macro produces and if you want to manipulate that you need special tools yet again. And then you have record-type and named arguments which are different things yet again, but all serve the same name->value function as an associated list. Names themselves are sometimes symbols, sometimes keywords, and sometimes actual values. Same with lambda, sometimes you need to supply a function, other times there is a macro that allows you to supply a block of code.
It's like the opposite of the Zen of Python, there are always three different ways to do a thing and none of them as any real advantage over the other, they are just different for no good reason and intermixed in the same code base.
I have never seen anything else use the (name value) syntax. You do deal with obvious data types, the REPL tells you exactly what those data types are (records, in the case of Guix). Schemes outside of Guile don't even have keywords, much less named arguments.
Are you complaining that a language has both associative containers and structs? Which one do you advocate for removing in Python to keep up the precious "Zen"?
That's dead on arrival. The domain name system is one of the core reasons why everything has become so centralized in the first place. If one wants to fix anything wrong with the Internet, finding a better way to naming things should be the first step.
Instead of interacting with the cloud model directly, run a simple local model to interact with the cloud model and have it filter out all the ads before they reach you.
This is already what the chatbots do when it comes to interacting with rest of the Web, instead of you visiting websites yourself, they collect the information from the websites for you and present it in a format of your choice without the websites ads.
I don't see the ad model working out for chatbots in the long run given that those AI models already are the perfect ad filter.
Microsoft has a new API with GameInput that addresses this situation and allows mapping Generic HID devices onto game controller via config file, but it doesn't work retroactively, it only works for games that use the new GameInput API.
Valve could of course provide a way to switch and emulate other protocols too, just like other third party vendors do, but there is no USB standard that makes things "just work" in Windows when it comes to gamepads, you always need extra drivers, USB modes or other hacks.
On consoles the situation is even worse, modern consoles deliberately lock out any unlicensed third party controller. Playstation3 was the first and last console that supported standard USB controller, while PS5 doesn't even support PS4 controller.
reply