snarpreplies:

prokopetz:

That post about the ephemerality of video games as an artistic medium bugs the hell out of me because it correctly identifies the problem, but entirely misunderstands the reason the problem exists.

Like, yeah, Super Nintendo decks are getting increasingly hard to find these days, but there’s absolutely no danger of Super Nintendo games becoming unplayable, because of a little thing called emulation. You can download a small program right now that will run on any modern operating system and perfectly simulate a Super Nintendo right down to the last transistor. Load up your cart image and away you go!

In principle, this can be done for any hardware or software platform, and considerable efforts have been made to do just that. The primary barriers standing in the way of doing so are not technical, but legal. The reason there isn’t a widely available emulator that will simulate, say, Windows 95 running on a 233 Mhz Pentium II so you can boot up that dusty old copy of Septerra Core you found in the back of your closet isn’t because there’s no demand for it, nor because it’s technically impossible, but because Intel and Microsoft will sue anyone who tries to distribute such an emulator into a smoking crater.

And make no mistake, this isn’t because they’re reflexively litigious assholes, though they’re certainly that. It’s part of a calculated strategy on the part of major hardware manufacturers and media publishers to enforce artificial obsolescence of legacy software – particularly entertainment software, though by no means limited to such – so that you have to keep buying the same media over and over again in order to have a version that’s compatible with available platforms. The ability to force you to buy a fresh copy of your favourite game every five years or so if you want to continue playing it is free money for them – of course they’ll do everything in their power to grab it.

Like, absolutely, lament the fact that you can’t play the favourite video games of your childhood anymore, but recognise that this isn’t some bullshit object lesson about the impermanence of human achievement. It’s part of a deliberate and ongoing destruction of our cultural history by entrenched media monopolies in order to force you to buy more shit.

1) That was my post, and “anti-piracy measures” are mentioned. If you’re going to argue with my nonsense, and don’t want to do it in
a reblog, I’d appreciate it if you’d include a link, or a username and post id or something.

I’ve seen you do things like this several times. Cutting
out the context so people can’t see whether you’re representing the original post accurately does not make you look good.

2) I wrote the post in reaction to my frustration at my inability to extract certain data from a >10-year-old PC game that’s currently unplayable for most people. Both my difficulties in extracting the data, and the game’s current inaccessibility to non-nerds and nerds with certain disabilities, are directly due to short-sighted “security” measures. One of the devs has blogged sheepishly about regretting them, as they can’t currently easily extract this stuff themself.

So: I am unfortunately very aware of the
problems that you’ve chosen to focus on. I’m a software developer, and they do not apply only to
games. Locked-down tools waste a lot of my time even when I’m trying to do
Serious Programming (No Pokemons).

I think this was obvious to the post’s intended audience of like, five people – but again, it spread further than I expected, this is Tumblr.

3) You’re understandably focusing on malice as the problem here: it’s the issue that most people know about, and obviously there’s a lot of that to go around! However, much of the problem of inaccessibility is due to simple incompetence. Stuff like FFVII’s code getting lost was not malicious; the devs didn’t want that, they just fucked up. Stuff like the original release of Myst becoming unplayable for casual users shortly after its release, because it relied on an older version of QuickTime that people couldn’t figure out how to install, was also not intentional. (I helped more than one adult do this in high school; others simply returned the game for a refund.)

Incompetence is common. It is the norm. We are all idiots and so are these machines that we make.

Data most commonly gets lost, and code most commonly becomes useless or unmaintainable, because we rely completely on tools that are completely unreliable. We by default expect our storage mediums to remain functional and our dependencies to remain available; often we don’t have a choice but to expect that, because we’re not in control of that stuff. Five years later, the shit we spent two years making is useless.

I have a relatively-recent personal project (like, I last updated it in December) that’s no longer usable in its intended environment, because one of the libraries it depends on hasn’t been updated for a while, which means it can’t get around a couple of security patches.

What am I going to do about this? Fork the original library and fix it myself, not knowing whether it’s going to break again the next time [environment] updates? (How much time and energy do I have for this? Not that much.) Just run it in [less-optimal environment]? (That’s what I’ve been doing.) Delete the security patches? I might eventually delete the security patches, myself. Do I want to ask a casual user to do that? No.

4) And that’s another problem: once dependencies that the devs expect to be installed by default begin to require optional downloads and additional configuration by the end user, the software/hardware begins to become inaccessible to the casual user, because there’s a good chance they’re not going to be able to do that.

I’m used to wading through badly designed hardware support pages to find the right drivers for a scanner, or the right libraries for a specialized law office CRM; the rest of the staff at the firm I used to work for isn’t, and shouldn’t be expected to be.

There is some malice at the root of the problem of code rot: planned obsolescence is a product of selfishness, and that’s what’s going on with those nearly-inaccessible drivers.

But most of it’s just that programmers, as a group, are fundamentally bad at our fucking jobs, because programming relies on conventions that are both not widely-agreed-upon and in constant flux.

I don’t know how to solve this problem. I suspect that, like the linked problems of accurate translation and linguistic shift, it’s not solvable.

5) The most popular emulators all contain hacks specific to specific, popular games to make them functional. These aren’t just DRM-nulling hacks, they’re stuff like “we expected the hardware to limit the user’s button-presses-per-second here, but it doesn’t because this isn’t the original console, so you fall into the ocean and keep falling until you’re in the assets from an earlier game by the same studio.”

(This article by bsnes/Higan dev byuu goes into a lot of detail on the issue.)

Less-popular games glitch out in emulation, or don’t run at all, because no one’s put those days/hours/years of work in. And when no programmer cares enough to adapt a game to continue functioning, that game becomes inaccessible, in the same way that a literary work in a mostly-defunct language becomes inaccessible, when no speakers of the language translate it.

We translate Beowulf into modern English because we
consider it culturally important; so, in terms of our collective memory,
it’ll last a little while longer. Not forever, but for a while. Same
thing as
hacking Mario RPG to run on an emulator on a modern OS on a modern
computer. Will Beowulf outlast Mario? Place your bets now!

It’s possible to emulate 3DS games, and a lot of people would like to do that: but most aren’t doing,
because it requires some prep work that’s difficult for people who
aren’t tech-savvy. Consider the implications for older games for which there’s less interest. Games that are accessible only to those with tech experience are not accessible.

And lacking accessibility, there is no
public interest; and lacking public interest, there is no incentive to
improve accessibility; and so comes death, and we forget.

There’s not much to be done about these things: entropy cannot be uninstalled.

This is a problem with all games, console or PC; it’s a problem with all software, period. Technology changes fast. Many games are already permanently lost. That’s going to keep happening.

6) @all proprietary software devs: Leak it or lose it, sooner than you think.