Hacker News new | comments | ask | show | jobs | submit login
Adobe Flash’s Gaming Legacy and My Efforts To Save It (usejournal.com)
255 points by bdz 6 months ago | hide | past | web | favorite | 129 comments

Perhaps worse than the death of Flash was the death of Shockwave. I feel like so many Shockwave games I played back in the day are completely gone with no reference to them on the modern internet. Today, you can install some version of Flash on most operating systems, but I don't think there's any modern standalone Shockwave player and I could only get the plugin to work in Safari on macOS. Chrome and Firefox don't even run those types of plugins anymore.

There's one particular Shockwave game that I was recently able to recover from the depths of the Wayback Machine, which was a game from Disney for the Inspector Gadget movie; terrible film, but their website had this nifty little game that wasn't necessarily difficult but was addicting in that I wanted to see just how far I could go with it. For years I thought it was gone for good, and was glad to finally see it again after I lost it 15+ years ago.

Here it is in all its 1999 glory: https://web.archive.org/web/20031017000018/http://www.disney...

I always liked it in part because I don't think I've seen a similar game. It's kind of like if you took the random shapes part of Tetris and added a "jigsaw puzzle" element.

What was the difference between Flash, Shockwave, and Shockwave Flash (I think the last one was a thing!)?

When asking the difference between Shockwave and Flash, you'll often get the answer that they're two products that have nothing to do with each other. That is almost true, but not entirely true.

Director was originally meant for creating CD-ROM games. However, in the early 90's, it began finding a new home on the web. "Shockwave" was Macromedia's term which meant "compressed for the web." The first entry in the Shockwave line of products was Shockwave Director Player - so called because it could play Director Movies which had been compressed for the web. Because it was, at the time, the first and only product in the Shockwave line of products, Shockwave Director Player was often shortened to just "Shockwave."

Enter Flash. Again, Macromedia wanted Flash Movies to be able to be compressed so they could be downloaded quickly over the web - so they made the Shockwave Flash Player plugin, so called because it could play Flash Movies which had been compressed for the web. So there was Shockwave Director Player, to play compressed Director Movies, and Shockwave Flash Player, to play compressed Flash Movies.

The problem is, by this point, everyone already knew Shockwave Director Player as just "Shockwave." To those uninformed, it seemed that there was now both a Shockwave AND a Shockwave Flash. Shockwave Flash Player was more often referred to as just Flash, to avoid confusion with what was already being referred to as Shockwave.

So when we say Shockwave, we're referring to the first word in Shockwave Director Player, but when we say Flash, we're referring to the second word in Shockwave Flash Player...

Or at least, this was the case until Adobe acquired these names from Macromedia, at which point they just decided to rename the plugins to what they were being popularly referred to as. Now what was Shockwave Director Player is officially just called Shockwave, and what was Shockwave Flash Player is officially just called Flash. In order to further undo the confusion, SWF was changed to stand for Small Web Files instead of ShockWave Flash.

Great summary!

As for useless trivia, Director actually even predates it's main use of producing multimedia CD-ROMs. When it was still a MacroMind product, it was used for stuff like the "getting started" floppy disk for early Macs (the tutorial where you learned how to use a mouse by feeding fish and stuff)


Right, I suppose it's not fair to say it was originally meant for "creating CD-ROM games," that's an oversimplification. It's more like it was meant as a way to make applications without needing to learn a more advanced language like C++.

Wow, I think I was just over 13 years old when I got my hands on Macromedia Studio MX. I knew the difference between Shockwave and Flash, but I never knew why the authoring program for Flash was called Flash, and the one for "Shockwave" was called Director.

Thank you.

As was I: gotoAndPlay is still my favourite function :)

Thank you for an extremely detailed answer to a question that I only just realized I’ve been curious about for two decades!

Nostalgia overload, thanks for sharing!

Shockwave and Flash are two distinct technologies to achieve essentially the same thing. At one point either Macromedia or Adobe conflated them by referring to Flash as "Shockwave Flash", but Shockwave was its own thing. Flash's scripting language was ActionScript and Shockwave had a language called Lingo.

In fact, I totally forgot about Lingo until just now. But it actually looks pretty cool:


I̶f̶ ̶m̶e̶m̶o̶r̶y̶ ̶s̶e̶r̶v̶e̶s̶ ̶m̶e̶ ̶r̶i̶g̶h̶t̶,̶ ̶I̶ ̶t̶h̶i̶n̶k̶ ̶t̶h̶a̶t̶ ̶L̶i̶n̶g̶o̶ ̶a̶c̶t̶u̶a̶l̶l̶y̶ ̶c̶o̶m̶p̶i̶l̶e̶d̶ ̶d̶o̶w̶n̶ ̶t̶o̶ ̶a̶ ̶b̶y̶t̶e̶c̶o̶d̶e̶,̶ ̶w̶h̶e̶r̶e̶a̶s̶ ̶I̶ ̶t̶h̶i̶n̶k̶ ̶t̶h̶a̶t̶ ̶A̶c̶t̶i̶o̶n̶S̶c̶r̶i̶p̶t̶ ̶w̶a̶s̶ ̶a̶l̶w̶a̶y̶s̶ ̶i̶n̶t̶e̶r̶p̶r̶e̶t̶e̶d̶.̶ ̶ ̶I̶ ̶m̶i̶g̶h̶t̶ ̶b̶e̶ ̶w̶r̶o̶n̶g̶ ̶o̶n̶ ̶t̶h̶a̶t̶,̶ ̶t̶h̶o̶u̶g̶h̶.̶

Flash won over Shockwave because Flash Studio was more popular with animators and game creators than Macromedia Director.

Actionscript was compiled to bytecode since version 1.

Whoa how do you do strikeout?


There's some online tools that will do it for you, e.g.:


I learned to code between lingo and the director ide. it was great fun, though being able to change your inheritance tree on the fly is... interesting

Both Lingo and ActionScript compile to bytecode.

https://get.adobe.com/shockwave/ is allegedly still a thing that exists and that you can install if you have Windows. It says it works on Windows 7 and 8, IE, and Firefox. My guess is that they haven't updated that, and it'll no longer work on Firefox since Quantum, but it's likely some flavor of IE will work with you there. And my guess is it'll work on Windows 10 with IE, since most things that work on 8 work fine on 10.

Actually, it's still being updated, but only on Windows. Director (the authoring tool used to create Shockwave Movies) was discontinued, but Shockwave was not.

I wonder how it feels to work updates for software that nobody is using and has no future. That's got to suck.

Come and join the multitudes working in big corporate legacy application support, where the applications all have <100 users and are scheduled to be replaced imminently (and have been for the last 10 years).

Interesting, I don't play games, but I'm all for preserving stuff.

It seems that if you change your user agent you can get the links.


Shockwave Windows Full Other Browsers


Shockwave Full (OS X 10.6 and above)


Shockwave Player 10 for Mac PPC


You don't need to change your user agent. Just click the "Need Shockwave for a different computer?" button on that page.

You definitely want the Full version not Slim. The Slim version throws out some backwards compatibility stuff to decrease the filesize.

It probably still works with the Firefox fork Pale Moon.

Can confirm it does!

Safari will stop loading NPAPI plugins in macOS Mojave.

Latest standalone player: https://fpdownload.macromedia.com/pub/labs/flashruntimes/fla...

No clue how to find that link on official adobe.com website :/ I had to googlefu it just so my Mum can play some old majong games.

Internet Explorer still runs Shockwave. It's what I always used for Shockwave, so that hasn't changed.

Yes. Alternatively, you can use Pale Moon which is an actively maintained fork of Firefox that never got rid of NPAPI. Or, if you don't want to leave the comfort of your preferred browser, you can use the IETab extension.

Note that plugins do not work in Microsoft Edge. It has to be Internet Explorer. Edge didn't replace IE, you can still find IE by searching for Internet Explorer in the Windows 10 start menu.

It would be cool for someone to archive some of the early Java Applets, they are even more endangered.

Unfortunately, Java is a bit of an archival nightmare. Java Applets can do pretty much anything they want, they aren't consistent in that sense. Unlike Flash you can't just run them offline in a Projector, and the code structure of an applet is different from that of a normal Java app. This is on top of being unable to play Java games without getting a tonne of (well deserved) security warnings (unless you want to pay Oracle $100 per month for a signature.) Java in the browser was just a bad idea all around.

I understand that the implementation of Java in the browser was bad, but why do you think the idea of Java in the browser was bad?

Because it gives the Java programmer too much power in an environment that should be safe. For example there are applets like AppEmbed that can run an EXE in the browser. That's just insane. Flash and Shockwave in contrast are limited in that sense, you are constrained to doing what you are able to accomplish with ActionScript or Lingo (or at least, that is intended to be the case.) Flash is insecure because it's buggy, Java is insecure because it's buggy AND because it's intended to work in ways you'd think are obviously insecure!

Applets, unless especially privileged by the user, run in a sandbox that prevent them from interacting with the local OS [1]. They certainly cannot run EXEs, again, unless the user consents.

In theory the Applet sandbox works really well. It's an extremely secure environment that's been deployed widely in the most demanding conditions -- think banks and governments. In practice the Applet security model encountered the following problems:

(1) Users are really, really dumb. They are happy to grant escalated privileges to the some 3D farming game they stumbled upon on the internet. Users will literally click on anything you tell them to. [2]

(2) Getting users to upgrade Java was terribly difficult. This meant when a real security flaw was discovered it might hang around for years and years and years. There was no mechanism to force users to upgrade Java or to actively disable Java installations proven insecure.

[1] https://docs.oracle.com/javase/tutorial/deployment/applet/se...

[2] https://www.trustedsec.com/2013/04/java-7-update-21-applet-s...

Maybe I'm confused because it's only relatively recently that I started again to take Java seriously, but isn't that precisely an example of a domain the Java security manager addresses? Again, I am well aware of the implementation bugs that have existed, and I don't know offhand if the security manager was part of Java's initial design or was added later, but I'm still confused as to why your ire's directed at the general concept of Java in the browser, rather than the specifically flawed implementations.

There's just no safe way to do what Java applets enabled (arbitrary code execution), because of the massive attack surface. It's one reason why NPAPI is dead.

Java applets never enabled arbitrary code execution. (Where do people even come up with this stuff?) Spend five minutes on Google and you can learn about the Applet sandbox which prevented Applets from doing most anything but draw to a section of the browser window and connect back to their origin server (not unlike Javascript).

Yeah, what do you think the applet is run on? The JVM. That's the attack surface. And securing that went so well that everybody uses Java applets everywhere and applets are allowed by default (hint: securing it is impossible and they're disabled by default because of it).

Unfortunately Javascript-infested websites are a bit of an archival nightmare. Javascript can do pretty much anything it wants, it isn't consistent in that sense. You can't run them offline. Javascript in the browser is just a bad idea all around.

You can generally "Save As..." and they tend to work just fine. Like any code which has network access, they can be dependent on various resources. I sometimes run a downloaded file through an insecure chrome instance (--disable-web-security and a unique --user-data-dir) with a catch-all service-worker. That'd probably not work with applets as they make their requests outside the browser AFAIK.

Also the security sandbox of Javascript is one of the best, if not the best. So it cannot do anything it wants.

> Like any code which has network access, they can be dependent on various resources.

Online resources. So you cannot run them offline.

Well sorry you can't use some chat app without internet connection, our bad.

Not everything is a chat application. But even a chat application can and should partially work without an internet connection: Reading old messages and composing new ones can work offline.

That has nothing to do with Javascript. If you use canonical, cacheable URIs for your requests, my method above works fine.

In my day job, I'm working on a CRM and sales system that is 100% web based and does work offline and is even offline-first (I love you Germany, but your mobile network sucks).

There may be many other problems with it but offline is mostly a solved problem in the web world.

Quick experiment: In a new Firefox profile, I opened a couple of websites [1]. Then I went offline and tried to load them again. Every time I just got the default "server not found" page of Firefox.

"Offline" is no more solved "not hijacking scrolling", "linkable URLs" and "not re-inventing <a href> badly".

[1]https://news.ycombinator.com/, https://www.google.com/, https://en.wikipedia.org, https://www.reddit.com/, https://www.nytimes.com

Did you try right clicking and choosing "Save as..."?

As I said before, it's a 5-minute thing to get started with service-workers. Web-sites can use that and then you don't even need to save. There is this great offline library, fellow developers! Use it! What other platform gives you such easy-to-use offline capabilities?

> "not hijacking scrolling", "linkable URLs" and "not re-inventing <a href> badly"

You are dealing with a Turing-complete language here. Navigation situation is still way better than the applets.

What is the alternative you are supporting instead the current situation?

> As I said before, it's a 5-minute thing to get started with service-workers. Web-sites can use that and then you don't even need to save.

I don't care if websites can use that if they don't.

> You are dealing with a Turing-complete language here.

That's the fucking problem.

> What is the alternative you are supporting instead the current situation?

Using a proper application platform instead of a pile of hacks on top of the web. Without that pile of hacks, the web would actually be usable because publishers would not be able to break the UX.

> I don't care if websites can use that if they don't.

It's new, and you can still save pages. Browsers will do their best to include all resources they depend as well.

> Using a proper application platform instead

Which one? Is there any cross-platform one with consistent design and UX? I don't think so.

> It's new, and you can still save pages

No, I can't. That does not work reliably.

> Browsers will do their best

In other words, they will fail.

> Which one? Is there any cross-platform one with consistent design and UX? I don't think so.

Frankly, even Electron applications are better than making web pages that behave incorrectly.

> No, I can't. That does not work reliably.

In all your given examples, it does.

> Frankly, even Electron applications are better than making web pages that behave incorrectly.

You know that 90% of Electron apps do not have any native function calls and are just wrappers on top of a web-app?

I just don't understand what you are criticizing anymore.

> You know that 90% of Electron apps do not have any native function calls

That does not make sense. If they made no native function calls, they could not even display a window.

I don't see how this contradicts my point at all. This project is about saving Flash games, not Javascript.

> I don't see how this contradicts my point at all.

It doesn't, sorry for suggesting that.

haha oh man homage to macromedia

It's a damn shame that HTML5 implementations of Flash, like Shumway (https://en.wikipedia.org/wiki/Shumway_(software)) and Swiffy (https://en.wikipedia.org/wiki/Google_Swiffy) are no longer being actively developed. I would have thought running SWFs in the JS sandbox would be a good way to get the compatibility of Flash, without the insane security bugs that it comes with.

And in case anyone is still in doubt about Flash's security woes - take a gander at the Flash CVE page at https://www.cvedetails.com/vulnerability-list/vendor_id-53/p.... There were FIVE CVSS 10 bugs (total and complete remote code execution with minimal user interaction, i.e. visit a malicious page and your computer is owned) published just two months ago. The author of Flashpoint is absolutely correct in his assessment that Flash will be overrun with security bugs as soon as it hits EOL in 2020.

> I would have thought running SWFs in the JS sandbox would be a good way to get the compatibility of Flash

And these days a WebAssembly build of Flash player would be an even better way, but it would depend on Adobe being willing to spend the time and the money to do it.

I’ve spent a ridiculous amount of time reverse engineering SWF files. There was even a time when Adobe published the SWF file bytecode format. It’s not a terribly complicated format like photoshop psd.

WebAssembly is probably a good target. However flash added a ton of apis in their latest versions. They were so ahead of the game before html5 before even became a thing.

I’m sure Adobe has patents/trademark on some of the things. Also Adobe Flex, that was a god send for rich internet applications. Their components were really well done and I still can’t fine equivalent things in this day and age.

I do strongly believe if Adobe had open sourced big chunks of things, Flash and a number of technologies would still be relevant today. Their big money makers were the IDE’s like Flash Studio, dreamweaver, photoshop etc. The formats and the runtimes should have been open from the get go.

Although it was the Ballmer era when most corporate CEOs truly believed OS was cancer.

Flash was mixed with licensed non-opensource-able stuff and it wasn't a trivial code base in the first place. Given that Adobe hasn't actually made much money off Flash, such an effort would have been likely unfeasible and prohibitively expensive. Someone from the Flash team could chime in here to give more details.

Another option was for Google to buy Macromedia, instead of Adobe. I believe web would have looked completely different today.

This is true. Several aspects of the player were licensed tech. All text rendering, for example.

The _format_ was open, but the implementation was not.

On a sidenote, swf specification was simply great. It was only after I read it that I fully grokked the Flash development (not that I did much of it, because I wasn't a fan of Flash webpages, and couldn't find a way to make money off Flash games).

> However flash added a ton of apis in their latest versions.

Excuse my ignorance: I never used Flash (I was already against abusing the browser for things like that so I only built desktop apps with Delphi etc) but I do use Haxe(with OpenFL) now; is that not supposed to implement those APIs?

Another option might be for them to open source the code and let others do the port. However, there might be legal barriers to doing that if they don't own the rights to it all.

The thing is, Flash is still in use, just not on the web and it's not called Flash. It's called Adobe Animate. Adobe Animate, formerly Flash, is still in use for animating shows on television. Open sourcing Flash would mean creating a potential competitor with Animate, which Adobe surely doesn't want. The only reason Adobe would have to open source Flash is "out of the kindness of their hearts" which is not enough. This is nothing but a needlessly risky business venture to them.

They wouldn’t need to open source the editor, only the player, so competing with Animate shouldn’t be an issue. But yes, there’s not much incentive to open source anything.

Or they could get some of their lawyers to get together a libre but not commercially available license.

Yes, we're in a different situation than people who preserve old console or PC games because those have a platform that is pretty much known and extensively documented. Even if you can't run the hardware anymore there are emulators that work great. It's harder on closed platforms like Nintendo.

With Flash, I don't know that we'll ever have an open source desktop player to allow preserving these games and allowing them to play on all future platforms. You might as well ask someone to write a complete implementation of Java, with no access to the source code, for free. Eventually we'll probably be stuck with old virtualized editions of windows running old versions of Flash. Let alone the possibility of leaving x86 behind completely.

I do understand some of the reasons behind the web community’s rejection of flash over the past decade and a half — security and accessibility issues, closed standards, etc. However Flash and Shockwawe technology enabled smooth interactive graphics on 90’s and 00’s desktop hardware, in packages that are friendly for 56kbps dialup connections. Nothing compares to it, still to this day — web platform tech still horribly underperforms and is only now capable of what flash could do a decade ago. We could also blame Apple and Smartphones and Yourube for its demise, but I feel like we haven’t moved forward in terms of quality shareable interactive media since Flash.

It all moved to mobile. The audience, the devs, the marketing money, all of it. There's 100x more lotto ticket buyers on mobile than there ever were Flash devs which obscures it; but every Flash dev moved on to mobile or simply moved on from games. You could release the perfect canvas game engine tomorrow and if Unity didn't port to it not a single game dev would build a company around it

I hope by smooth you're referring to the graphics being vector vs bitmap, because Flash performed really badly once you added any kind of complexity to a scene. (edit: simple things worked brilliantly though, and often that was enough.) The key innovation of Flash was and still is the creation side of things in Flash Pro rather than the runtime.

My main experience was with Line Rider. I didn't create it, but I became involved in the community and started making tweaked versions with tools that made it easier to create tracks (as opposed to versions that let you do things like change the physics or the rider).

Every line you added to a track caused a new MovieClip to be added to the scene that had a line drawn in it. By the time you had around 3,000 lines or so you'd start to get reduced framerates. 3,000 lines sounds like a lot, but is tiny when you consider tracks that have accompanying artwork.

A few years ago, we released a JS + WebGL rewrite of Line Rider that has a physics engine that's bug-for-bug compatible with the original (you can play it at https://www.linerider.com/ if you're interested - sorry if that's too self promotional). With access to WebGL and a massively faster ECMAScript runtime, the JS version runs multiple orders of magnitude faster than the original Flash version.

It's now possible to work with tracks that have hundreds of thousands of lines without experiencing frame rate drops as opposed to just a few thousand lines. So as for web platform tech underperforming from a runtime point of view, I disagree.

The problem is that all the ingredients are there to make something great, but the developer effort required is monumental in comparison to how fast it was to make something work with Flash Pro.

To be fair, it became possible to do deeper graphical optimizations in Flash later in its lifespan(particularly after the BitmapData API, and towards the very end, Stage3D) but I would agree that it wasn't in the spirit of the tool to work on Flash games with an eye towards high framerates, that just happened as a byproduct of the web-game space professionalizing around the close of the last decade.

It really was an odd, "software is brutal" history in that in a very short timeframe Flash progressed from being the domain of hobbyist game makers, animators and web site designers into the core client technology of every web site using audio and video. And then a few years after that, it was cut off from expanding to mobile and was strangled on the web through expansion of HTML.

Flash was good for games, and sure we don't really have anything comparable yet.

But that is irrelevant. The reason it was killed is because it was mostly used for video and it was really awful at that. Especially on mobile.

Here is the latest dump with almost 4000 titles https://archive.org/details/Flashpoint3.3.zip

Imo this is an incredible project. I wasted thousands of hours playing flash games as a kid, glad to see someone is interested in preserving them

I also grew up spending a lot of time playing those games. I say good ridance to the flash video players, but seeing the screenshots of those games, it makes me pretty sad to think that so many of them might be going away.

Let this be a warning to young developers tying into proprietary platforms.

(Not one mention in TFA of http://homestarrunner.com, for shame)

That's not fair. There was a point in time that if you don't use flash for web games, you just weren't doing web games. HTML was not up to the task.

You could avoid being tied to proprietary platforms now but there is a good chance you're just leaving the market to someone else.

Running another program in a rectangle in your web browser can hardly be called “web”.

You accessed it on the Web, in your Web browser. For pretty much everyone, that's the definition of "Web" .

Does WebAssembly running in a <canvas> tag count as "web"?

Maybe. However, wasm will eventually tightly integrate with the DOM.

Yeah it seems like people don't understand this. We've had an era of JavaScript dominating web standards. I also don't think people realize this is only the start of wasm...

And open platforms, if browser vendors decide to break your content. Hard to say at this point whether HTML5 games will end up lasting any longer than Flash games did. Openness is valuable but you also just have to look at whether the platform owner(s) are going to stick around (Google isn't going anywhere, at least) and whether they have a long-term commitment to the products and APIs they put out there. HTML5 is starting to look like a churn nightmare between arbitrary changes to audio policy and major features getting shut off due to threats like Spectre.

Adobe was a very bad platform steward regardless, but 5 years from now it may turn out that Win32 was a better choice in terms of developer investment/maintenance than HTML5 for many developers. iOS has had an incredible upkeep cost for indie game developers who released products on it early on, and we've seen many developers opt to pull games from the store instead of spend time+money updating them.

Hopefully WebAssembly helps fix things here by providing a much cleaner compile target (with well-defined APIs) that has good performance. Moving to HTML5 had a major performance hit for people previously using Flash or Unity's plugin but most of that hit is gone once you use wasm.

This was the only good option at the time. One alternative was for people to pass .exe files around. That was a great way to spread viruses. Another alternative was Java applets which was a great way to lock up a browser. JavaScript didn't do shit in the the Netscape and IE 4/5 days. So was everyone supposed to make Windows games or just give up? Would that have been better?

Let this be a warning to young developers tying into browser platforms.

For all the openness of web standards, let's remember that browsers are proprietary.

If a browser vendor decide to do something (whatever it is, good or bad), there is pretty much nothing users or developers can do, we saw it with IE6 for a long time, we now see it with Google Chrome too.

AFAIK browser plugins were considered part of those web standards (see [0] and [1])

[0]: https://html.spec.whatwg.org/multipage/infrastructure.html#p...

[1]: https://html.spec.whatwg.org/multipage/system-state.html#plu...

> proprietary platforms

... as in Windows, MacOS (to a much less extend), PlayStation, XBox, Switch (and/or other Nintendo platform)?

This warning makes no sense.

how is MacOS to a much less extent?

Actually you're right... it isn't.

I was thinking in term of player base size. But now that I think about it more, player base size makes no difference in the context of this conversation.

is unix proprietary? macos is based on unix

OS 10.4 was the last version to support classic mac apps - https://www.cnet.com/news/apple-confirms-no-classic-support-...

Mojave is the last version of OSX to support 32 bit applications ( https://appleinsider.com/articles/18/06/05/mojave-is-apples-... )


Essentially, all software has a end of life. I'll grant that Apple has done work to maintain their software across major processor and operating system changes, but at some point that support is dropped.

Yes. Well, since 2002 some old versions aren't, but v7 onwards is. macOS is based on XNU and NeXTSTEP, which are based on Mach and BSD, but macOS is not solely a Unix system and few use it as such. In fact, if you were to make a program using only the FLOSS unixy parts of macOS, porting it to other POSIX systems would likely be trivial. I hardly even count that as "macOS software" in the exclusivity sense.

macOS being unix-based doesn't make it less proprietary. z/OS is Unix certified and proprietary as balls.

People forget that actual Unix descendants are really mostly proprietary. Linux and BSD are what we often think of today, but those are really more "Unix-like's" and many of the "true" Unixes tend to be proprietary systems like AIX, HP-UX, IRIX (now deceased), z/OS etc.

The bare core of macOS (Darwin) is open source, but pretty much everything people identify with macOS is proprietary code built on top of Darwin. You used to be able to get standalone distributions of Darwin (maybe you still can?) that people built from Apple's source and they were almost completely unrecognizable.

It's only completely unrecognizable because Darwin is the kernel and userspace. The UI is whatever you want it to be.

Right, that's my point. What most people associate with "macOS" is actually the stuff layered on top of Darwin, which is mostly proprietary. It's not just the GUI, it's also a lot of the frameworks and libraries as well.

No, but OSX certainly is. I doubt it's viable to write games without using any of the proprietary APIs.

You can write games just fine using OpenGL (and SDL for windowing/inputs/audio/etc).

For now, but in the next version there will probably be no OpenGL support.

Doubt it. There are still dozens of frameworks that still link to OpenGL, and Apple’d need to drop or update them all in a year. Most likely it will remain on the system for at least a couple years.

You'll still be able to use MoltenVK to get Vulkan support, and SDL will still work for windowing and everything else.

I was just referring to the "lesser degree" of being proprietary

Thank you to everyone preserving these games. I made over 40 flash games in my career and I'd like to see at least 3 of them preserved indefinitely

To capture more than just the SWF:

- Load the game into a real web browser and let it run for a bit

- Intercept all network requests with a caching proxy

- Save the external resources loaded to disk

Would that help? The process could be automated, though only for games which load all their resources without human interaction. But then, clicking through a few screens to get a game to start is a much less time- and knowledge-intensive task per game than reverse-engineering the source code of each, at least to get as much data backed up in some state as possible before it disappears.

There's an excellent command line application called Auto Saving Sniffer which can be found here (ignoring the rather crude abbreviated name.)


While you need to play through the entire game to be sure you have all of it, this is a big time save, though with the downside it doesn't work over HTTPS. It's also possible to use a Fiddler script to accomplish something similar, which defeats the HTTPS problem.

I like this idea, but (and I know barely anything about games) then I wonder that maybe the resources for lets say the final level of a game are not included, if you let it idle only on the first level, no?

From the article:

There’s eventually going to be one question on the lips of everyone involved, though: is this legal? And the only real answer is nobody knows and really, nobody should care.

I can understand having an urge to preserve something that is in danger of decaying past recovery — I feel the same way when I see an interesting building or a classic airplane rotting away somewhere — but the usual course of action is to choose what you find most worth saving, purchase it from the owner, and restore your new possession. Any other course isn't legal, in most cases, and it isn't here either, in most cases. I care about that, and some of the game creators will care about it too.

Here's the thing. A lot of the games being saved here are games that the original publishers/developers no longer care about - that or the original creators don't even exist anymore. That throws a large portion of Flash games into the gray area of abandonware, although that's a different discussion entirely.

This is actually a place where I differ with BlueMaxima (BlueMaxima is Flashpoint's creator and the writer of the article linked here.) Personally, if I were running the project I would remove a game if the original creator asked, simply out of respect for them.

However, I think that most of the staff involved with Flashpoint would disagree with me here. It is more of a "for now, just go go go and we'll worry about organizing everything and dealing with the repercussions later." There's a lot of Flash games out there to say the least and Flash being discontinued in 2020 leaves us limited time if we hope to save as much as possible.

If we care about legality when it comes to media preservation, more often than not works will end up lost or destroyed one day.

Today's pirates are tomorrow's historians.

That is true. Other people's rights are often an inconvenience.

Copyright isn't really a right in the sense of the public freedoms/choice.

It's there to limit publishing and distribution to only those with the legal document saying they can. It's more of a anti-right. In fact historically it was created for the purpose of censorship.

People have a right to the fruits of their labors. I don't care a tinker's mother about the history of copyright — the principle is simple, and copyright is a flawed protection of that right.

Though it may be used by industry on some occasion to protect someone's ability to profit. Copyright and the right to the fruits of your labor are not the same thing.

In cases like this disregarding one isn't equivalent to infringing on the other.

I expressed the contrast between copyright and the right it attempts to protect above. Notice that I didn't say anything about profiting from the fruit of their labors, but the right to them, no matter whether they choose to profit or let it rot. It's just as much an infringement to preserve it without their permission as it is to sell it.

Yep that's the definition of copyright. Seems like more of a anti-right as it's about limiting others rights.

I see the problem here: you don't know what a right is.

Say you somehow have advance knowledge of the burning of the Library of Alexandria. Is it legal to steal as many books as you can from the Library prior? Of course not. Is this the only way to save unique volumes from irrevocable destruction when you have no way to convince the librarians of its imminent fate, or even to contact them at all? Yes.

And then return them to the owner once the emergency is over? Yes. I don't see that happening here. What you describe is an emergency response; what's happening here looks like looting.

(Edit: soften what could be read as an outright accusation.)

> And then return them to the owner once the emergency is over? Yes. I don't see that happening here.

The emergency is very far from over, they’ve only just begun the salvaging operation.

To clarify, I should have said, "I don't foresee that happening here." I predict, based on the attitudes the article expressed, that the writer has little interest in the owners of these games, and even less interest in their rights.

I think when it comes down to a conflict between an individual's property rights, and the entirety of future human culture having access to a work to learn from and build upon; I say fuck your individual property rights.

Especially in situations where a work is entirely digital, and preserving the work does absolutely no harm to the owner of said work.

You see, that's how you discourage an innovator: if you let society benefit from his work to his detriment, he's likely to tell society to innovate without him and go get a nice office job.

Strongly disagree, at least in situations where the works are abandoned, largely unmonetizable and on the verge of disappearance.

I believe that the risk of discouraging innovators who would be upset at the idea of their works existing in some form, years after their relevance is a reasonable trade off in comparison to the value that the sum collection of these works could provide to the future.

Especially when you consider that every innovator working today is building off of the preserved knowledge of past generations who's works have similarly fallen into the public domain. Disney didn't have to cut a check to Shakespeare Holdings, LLC when they made The Lion King; for example.

That's not to say that I am an anti-IP absolutist in this regard. I think that the ideas of copyrights and patents aren't inherently bad. I think it makes pragmatic sense to offer a temporary monopoly on works. I just think that the balance point between serving the creator and serving society needs to be evaluated.

Some years from today it will be proper chunk of retro scene, but I for one am happy we’ve moved on. Flash was horrible and a burden.

Edit: missing word

In hindsight, sure. But it was perfect (or as close as you could get) for the time it was created.

Mozilla tried with Shumway project, but it got abandoned.

And this is the problem I have with tying anything to a remote server. Every digital movie, song, book, or video game that requires a remote server for patches, activation, or anything else will eventually end up like this.

What happens in 5 years when Sony turns off their PS3 servers? And what happens in 10 years when most of the hard drives in those PS3s need replacing?

Not only this, but I've had a very difficult time even finding original SWFs of animutations. Albinoblacksheep only seems to host video renders these days. While that works, many authors hid extra content in their videos, and that's now lost to time.

One could ask is the attempt to save lost games, or lost innocence?

It's about saving cultural goods. The worst thing about the modern age is how transient and impermanent data is. In 100 years, the past 30 years will be effectively a big black hole for anybody interested in studying our culture and civilization.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact