Adobe Flash’s Gaming Legacy


#1

Sometimes ago this was posted

Adobe Flash’s Gaming Legacy — Thousands upon Thousands of Titles — and My Efforts To Save It

and here a little extract

Look back up at that screenshot two paragraphs ago, specifically the right side, which is a screenshot of Newgrounds taken around the time this article was slapped together. Those twenty games listed there all run on Adobe Flash. When your browser no longer has the plugin to run those games, what happens to them? Do the 3,500 pages of 24 games on Newgrounds simply vanish?

The short answer is, more or less, that nobody knows. These businesses — Armor Games, Kongregate, Newgrounds, NotDoppler, and every other Flash portal — have no public game plan. Some may survive (with every site above accepting non-Flash material, such as Unity or HTML5) but with the disappearance of 90% of their game libraries simply due to the idea that no-one can run them.

When no-one can run these games anymore, why would these copies even be wanted on the servers anymore? Anyone can imagine them simply deciding they aren’t worth the effort keeping around for those few people who have specifically modified web browsers (or possibly just older versions of said browsers). When that happens, goodbye Flash games.

Which is basically the heart of the problem, even if Flash is not updated you could still play all those flash games, but without a flash player plugin, yeah … you can kiss those games bye bye.

The article got mentioned and posted on few other places



So far the solution is to install Flashpoint (hehe that’s funny)
which can be found on torrent here

Flashpoint 3.0
magnet:?xt=urn:btih:f58eddc7ec42b5d4128e68e194baf69fc629ef7a&dn=Flashpoint%203.0

But little problem with that is that it is a 13GB download, and even with a fast connection it kind of crash from times to times so you have to go back at it and restart it to download it to the end.

Other URL worth mentioning is FlashFreeze, a Google Drive directory containing ! TeraByte or more of zips containing backups of different web sites SWF files.

Here a little tip, if you happen to want to download TB of datas from gdrive and are on a Linux server
install Google Drive CLI Client

and install it

$ sudo cp gdrive-linux-x64 /usr/local/bin/gdrive
$ sudo chmod a+x /usr/local/bin/gdrive

To download all files from a directory

# example: https://drive.google.com/drive/folders/1r8I5hpSPCf_9JWECwa6c4E4tQZELd3cx
$ gdrive download --recursive 1r8I5hpSPCf_9JWECwa6c4E4tQZELd3cx

To download a single file

# example: https://drive.google.com/open?id=1FtAqqa-AqCLDANQ96BKOwmf9ZysBLuXo
$ gdrive download 1FtAqqa-AqCLDANQ96BKOwmf9ZysBLuXo

And be sure to have enough disk space :smile:


Some personal comments, the idea is pretty good but I see few problems

  • Flashpoint is only a Windows app (because based on LaunchBox)
    would be much much nicer if the app could run on macOS and Linux
  • It is a 13GB download
    there is no way people will download that just to play few games
    I can already see the jokes “hey look you replaced a 1MB SWF game by a massive 13GB exe”
  • the dramatic titles like “One Guy Is Trying To Save Them All” is fun 5mn
    but it should be a crowd effort

If I was to do something like that (not that I do but maybe if time allows) I would

  • simply use Adobe AIR
    • because it got a browser inside (and we don’t care if it’s old)
    • because you could easily program a small web server with SocketServer (instead of Apache)
    • because it reuse the Flash plugin installed on the system
  • publish a proper installer
    • that either install Flash,
      or if distribution license issue download and then install Flash
    • for Linux publish with snapcraft (yeah it would work)
    • keep it small in the range of the 50 to 100MB
    • maybe pre-load thumbnails for a game gallery but that’s about it
  • make it work like game emulator
    • eg. download/install a ROM, click on the thumbnail and that run the game
    • a ROM would be a zip containing the directory structure and the assets of a Flash game
      and probably some kind of config file
    • allow people to create/contribute/patch/publish those Flash “ROM”
      • crowd contribution (not everyone will be interested in preserving/saving the same games)
      • to hack/circumvent game protections and improve that over time
    • allow to sync everything from an API/server
      • maybe a public archive somewhere
      • also allow private server archive
      • allow to sync games between users (probably use RTMFP)
      • probably allow to sync from a Github URL or the like

Food for thought?


Build an Open Source Browser Based on AIR
#2

I would hope Adobe or someone makes a AS3, AST or SWF to WebAssembly converter. There are decompilers out there that revert a SWF back to AS3.

Then the browsers when encountering a SWF can decompile to AS3 and recompile to WebAssembly on the fly. Maybe it takes a minute or two the first time but at least you can play it in your browser.


#3

It boggles my mind that no working SWF player has been built in native browser technology, and not for lack of trying. I’ve lost count of the failed projects. It proves that there was more to the Flash Player’s capabilities than many tried to lead us to believe. If it was so easy to replace it with native tech we’d have a drop-int player replacement by now. Maybe the 2020 nail in the coffin will be a forcing function someone to build something.


#4

Little comment to mention that this post made the frontpage of Hacker News
and there are some comments there

I was almost sure it had already been posted but in fact not :blush:

@flexcapacitor
The problem is not really converting the SWF content but playing that content.
If the content can not be played anymore (because of “no more plugin”) then the hosts will archive or most probably remove those contents.

Decompiling on the fly would not help much, many SWF games were structured in multi-parts to load levels etc.

A real solution for that would have been Shumway but it got abandoned.

@AaronBeall
A lot of people got carried away on the hate side, everything and anything related or connected to Flash they just decided to hate it, but in fact what they were hating is the advertising and other bad stuff.

Proof lives in Adobe AIR, it will not work on the web but the technology is still preserved there.


#5

So what you’re saying is you can run run Flash games using Adobe AIR browser (since embedded webview has Flash support).

So someone needs to make Adobe AIR browser.


#6

Yep it is exactly what I’m saying, the webkit browser in Adobe AIR reuse the system plugin,
even for Adobe AIR 2.6 on Linux I’m pretty sure you can overwrite the plugin *.so to get the latest version.

So yeah we have all the tools in Adobe AIR to build our own browser that can still play SWF files,
there is no click-to-play or other bullshit.

It’s not like we would try to display the latest HTML5 stuff, we would just need the HTML to host the SWF.

Even better, if some hosted SWF needed special trickery at the domain level, we could use SocketServer to build a good enough HTTP server, for case where a game will only load/work from a specific domain.

See it like the Standalone Flash Player, you can embed a SWF within it to distribute and run an exe,
here instead you would distribute an AIR app that would embed a SWF with the options to either play from local HTML or local hosted HTML (with SocketServer).

Under Linux and macOS you could edit the /etc/hosts, same under Windows with C:\Windows\System32\Drivers\etc\hosts to point whatever domain to your localhost

eg.

127.0.0.1    www.domain.com

Illustrated here
Is there a way to possibly get the game on my computer and play this game offline? This would be really cool!!!

The methods described below won’t give you the true offline option, as they require internet connection to start the game anyway.

I’ll explain how to really run the game offline. This method will also allow you to play any version of the game you previously downloaded. So if at some point developers will decide to ruin the game by adding something you really don’t like, or just completely remove it (to, say, force people to use the mobile version) you’ll be still able to play the old one, even 10 years later. So:

  1. Download the game swf file. Current link looks like this: http://d1snsxh2hr65cz.cloudfront.net/ClickerHeroes_v2542.swf . You can find the link yourself by going to the clickerheroes.com, viewing the page source, Ctrl-F -> .swf

    Put it somewhere, like c:\ch\

  2. Edit your C:\Windows\System32\drivers\etc\hosts (google the path yourself for earlier versions of windows) file to say:

`127.0.0.1 d1snsxh2hr65cz.cloudfront.net`
I guess it's obvious that this is domain name part from the previous link.
  1. Download and run http server. Any will do - apache, nginx, even IIS. I’ll explain how to do it with python as it might be already installed on your computer(probably not though). Python is actually a programming language, simple http server is just one of it’s features. Download and install the latest version from here

  2. Open command line (Win+R -> cmd) and do

`cd c:\ch`
`python -m SimpleHTTPServer 80`

If "python" command can't be found either specify the full path to your python installation in windows PATH variable, or just use full path to the python binary. In my case it's C:\Python27\python
  1. The game will be available to you at

    http://d1snsxh2hr65cz.cloudfront.net/ClickerHeroes_v2542.swf

  2. Enjoy!

Not hard at all.


#7

So sites should keep their domains up because with the AIR browser you will still be able to visit and run the SWFs?!

Someone tell NewGrounds et al to keep their site up…


#8

It is very unlikely they gonna do that, because it is very unlikely that whatever browser which would have the feature to play SWF file would become popular enough.

I would say it is about content that either their creator or the users want to preserve, so here few scenarios:

  • for any Flash game published on a website
    if someone got the sources then he/she can port the game to Adobe AIR for desktop/mobile

  • for any Flash game published on a website
    even without the actual sources but if you are familiar with the hosting site layout (where it puts file)
    and/or the game logic to load assets etc. you can easily embed the SWF and assets into an Adobe AIR app for the desktop.

  • for any Flash game published on a website
    if you know nothing of the hosting and nothing of the game logic (you just see a nice game you want to keep around), then you can at least grab the URL, the HTML where the SWF is hosted and with maybe a bot more effort the main SWF that is loaded first.

So little disclosure, I was working on one of the big web site that hosts thousands of SWF games (Miniclip), from day one when AIR 1.0 got released around 2006/2007 that is the first thing I mentioned “you should port all your Flash games to Adobe AIR”, and here the excuses I got answered back:

  • but a lot of games are in AS2, it would force us to port them to AS3
  • but there are a lot of games we only have the SWF not the sources
  • but it will not work for shockwave games (eg. made with Director)
  • it would force us to hire more developers
  • it is too much effort
  • etc.

I would say, as a pretty good guess, that those guys are pretty much ready to just lose a big part of their online game catalog, and when the day come that the Flash plugin will be completely removed from Chrome, their next move will probably be to stop hosting all those SWF as they will consider them useless.

Only thing I’m saying is as a user you’re not sure if they gonna keep hosting those SWF files or not,
and so yeah users and probably creators of those SWF games should have a way to archive them.

A web browser made with Adobe AIR would just be the first step to do that.


#9

Besides over 300 million votes for Flash support on Android (on Adobe Forums - will add link) we can keep a tally for anyone requesting a browser with support for Flash to like this post.