Could you elaborate on this? It seems counter-intuitive to me, but I could be stuck in an old-fashioned way of thinking. Virtual machine technology was a key element of the commercial success of Infocom, and was crucial for the proliferation of the hobbyist IF movement that emerged in the 90s around Inform and TADS. We are not living in the 90s anymore, though. A lot of things have changed, and if you could pinpoint which of those changes has turned executable files into a viable alternative, that could be very illuminating. To me, it seems like all the relevant roadblocks are still there.
Starting with the matter of platform diversity: Back then, people used Windows, MacOS, BSD, Solaris, BeOS, AmigaOS, PalmOS, and many other systems, all incompatible. Today, people use Windows, MacOS X, iOS, BSD, Linux (Gnu, Android), web browsers, and more. What system(s) should you target? What systems will people use ten years from now? A hundred years? Whatās more, these systems are constantly changing, with APIs and libraries being added and removed (broken, deprecated) all the time.
Yet, remarkably, because interpreters are kept up to date, we still have access to a substantial part of the IF canon from the last 40 years.
For stable platforms, I will concede that executable files are a viable way to distribute new games. By stable platforms I mean platforms that have a track record of remaining rock solid for decades. Case in point: The Commodore 64. A game released as a C64 disk image will remain playable for centuries, simply because this platform provides a well-defined, stable binary interface. Even in the face of dying hardware, thereās a vital community of people who are keeping the emulators up to date. In a sense, then, the longevity of this computer system is ensured by effectively turning it into a virtual machine.
Apart from compatibility and longevity, thereās also the matter of security. It is becoming increasingly difficult to run native executable code, especially when downloaded from the internet. Some platforms require all programs to be signed. Others tend to be equipped with anti-virus scanners that blacklist anything that looks the slightest bit unfamiliar. Users, too, are becoming increasingly careful, which is understandable in a world where harmless bootblock worms have turned into keyloggers, botnets, and ransomware. In a free-for-all IF competition, for instance, would you download and run any executable file from any pseudonymous author? If you as much as hesitate, why would you want to publish your IF in that way?
I can anticipate one counter-argument, which is that itās easier for the end-user (player) to run a game with a single click, compared to having to install a separate application first. This is true, assuming everything works out of the box. As I have argued above, it wonāt: Platform compatibility, anti-virus software, and decades of API drift will get in the way. What about web games? Javascript is essentially a virtual machine, where the interpreter (a web browser) is pre-installed on most systems. But itās not a stable virtual machine. It keeps changing, and itās not even implemented consistently across the major web browsers. Twenty years ago, people were putting web games in java applets. Those games donāt work anymore, at least not in any pre-installed browsers. Then it was shockwave flash. Those games donāt work anymore either. Unless, of course, you recreate a historical browser environment by downloading an interpreter.
So from my point of view, it still seems like a separate interpreter is the most compatible, future-proof, and secure distribution mechanism available. Please tell me what Iām missing.