Editing Flash
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
{{Infobox console | {{Infobox console | ||
− | |title= | + | |title=Flash (Fl) / Animate (An) |
− | | | + | |developer=FutureWave→Macromedia→Adobe |
− | | | + | |
− | | | + | Zhongcheng (China) |
− | |release= | + | |
− | |discontinued= | + | Harman→Samsung |
+ | |type=Multimedia | ||
+ | |generation=5th generation to ? generation | ||
+ | |release=1993 | ||
+ | |discontinued=Active | ||
|emulated = {{✓}} | |emulated = {{✓}} | ||
}} | }} | ||
− | '''Flash''' (previously | + | '''Flash''' (previously FutureSplash Animator, before that SmartSketch) is a software platform created by FutureWave Software and is currently owned by Adobe (formerly Macromedia). Originally a drawing program for PenPoint OS, later ported to Windows and Macintosh when pen computing failed to take off, frame-by-frame animation features were added to it in a new program called FutureSplash Animator. The company was acquired by Macromedia in December 1996, rebranding FutureSplash Animator to Flash, an amalgamation of "Future" and "Splash". In turn, Macromedia was acquired by Adobe on December 3, 2005. Their operations, networks, and customer care organizations were merged shortly after. |
Used by an overwhelming majority of websites between the early 2000s and the mid 2010s, Flash was very much the go-to platform for online cartoons and games, being especially popular for various entertainment sites and children's sites due to its rich content, and has spawned its own subculture of animators and game developers as exemplified by the likes of Newgrounds. SWF elements also proved to be a crucial tool for many multimedia hosting sites so that they could actually play audio/video inside a browser, given the lack of viable alternatives in the pre-HTML5 days. However, around the start of 2010 YouTube started pushing really hard for HTML5 media elements, which have since become a standard feature in modern browsers and single-handedly made Flash Player obsolete for multimedia playback. | Used by an overwhelming majority of websites between the early 2000s and the mid 2010s, Flash was very much the go-to platform for online cartoons and games, being especially popular for various entertainment sites and children's sites due to its rich content, and has spawned its own subculture of animators and game developers as exemplified by the likes of Newgrounds. SWF elements also proved to be a crucial tool for many multimedia hosting sites so that they could actually play audio/video inside a browser, given the lack of viable alternatives in the pre-HTML5 days. However, around the start of 2010 YouTube started pushing really hard for HTML5 media elements, which have since become a standard feature in modern browsers and single-handedly made Flash Player obsolete for multimedia playback. | ||
Line 16: | Line 20: | ||
==Implementations== | ==Implementations== | ||
− | + | {| class="wikitable" style="text-align:center;" | |
− | + | ! scope="col"|Name | |
− | {|class="wikitable" style="text-align:center; | + | ! scope="col"|Platform(s) |
− | !scope="col"|Name | + | ! scope="col"|Latest version |
− | !scope="col"|Platform(s) | + | ! scope="col"|[[#ScaleForm GFx|ScaleForm GFx]] |
− | !scope="col"|Latest version | + | ! scope="col"|[[#Adobe AIR|Adobe AIR]] |
− | !scope="col"|[[#ScaleForm GFx|ScaleForm GFx]] | + | ! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr> |
− | !scope="col"|[[#Adobe AIR|Adobe AIR]] | + | ! scope="col"|Active |
− | !scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr> | + | ! scope="col"|[[Recommended Emulators|Recommended]] |
− | !scope="col"|Active | + | |- |
− | !scope="col"|[[Recommended Emulators|Recommended]] | + | !colspan="8"|Desktop & NPAPI |
|- | |- | ||
− | + | |Animate (Flash) | |
+ | |align=left|{{Icon|Windows|macOS}} | ||
+ | |[https://adobe.com/products/animate.html 2023] | ||
+ | |? ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} | ||
|- | |- | ||
|Flash Player | |Flash Player | ||
|align=left|{{Icon|Windows|Linux|macOS|Web}}<ref group=N name=plugin>Web version requires a browser that supports NPAPI.</ref> | |align=left|{{Icon|Windows|Linux|macOS|Web}}<ref group=N name=plugin>Web version requires a browser that supports NPAPI.</ref> | ||
|[https://web.archive.org/web/20220331041116/https://www.adobe.com/support/flashplayer/debug_downloads.html 32.0.0.465] | |[https://web.archive.org/web/20220331041116/https://www.adobe.com/support/flashplayer/debug_downloads.html 32.0.0.465] | ||
− | |{{~}} <ref group=N | + | |{{~}} <ref group=N>Requires the Third-party software component to Access it.</ref> ||{{✗}} ||{{✗}} ||{{~}} <ref group=N>Adobe versions discontinued. Harman versions are currently maintained for enterprise customers only.</ref> ||{{✓}} |
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|[[Ruffle]] | |[[Ruffle]] | ||
− | |align=left|{{Icon|Windows|Linux|macOS | + | |align=left|{{Icon|Windows|Linux|macOS}} |
− | |[https://ruffle.rs/downloads Nightly builds] | + | |[https://ruffle.rs/#downloads Nightly builds] |
|{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}}<small> (WIP)</small> | |{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}}<small> (WIP)</small> | ||
|- | |- | ||
Line 49: | Line 51: | ||
|[https://github.com/lightspark/lightspark/releases 0.8.7] | |[https://github.com/lightspark/lightspark/releases 0.8.7] | ||
|{{✗}} ||{{~}} [https://github.com/lightspark/lightspark/blob/master/src/main.cpp#L365 *]||{{✓}} ||{{✓}} ||{{~}}<small> (WIP)</small> | |{{✗}} ||{{~}} [https://github.com/lightspark/lightspark/blob/master/src/main.cpp#L365 *]||{{✓}} ||{{✓}} ||{{~}}<small> (WIP)</small> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|[https://gnu.org/software/gnash GNU Gnash] | |[https://gnu.org/software/gnash GNU Gnash] | ||
Line 76: | Line 58: | ||
|- | |- | ||
|[http://tulrich.com/textweb.pl?path=geekstuff/gameswf.txt GameSWF] | |[http://tulrich.com/textweb.pl?path=geekstuff/gameswf.txt GameSWF] | ||
− | |align=left|{{Icon| | + | |align=left|{{Icon|Windows|macOS|Linux}} |
|[https://sourceforge.net/projects/tu-testbed/files/demos/gameswf-2009-08-08/ 2009-08-08] | |[https://sourceforge.net/projects/tu-testbed/files/demos/gameswf-2009-08-08/ 2009-08-08] | ||
|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} | |{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} | ||
Line 84: | Line 66: | ||
|[https://web.archive.org/web/20090116113151/http://swfdec.freedesktop.org/download/swfdec/0.8/swfdec-0.8.4.tar.gz 0.8.4] | |[https://web.archive.org/web/20090116113151/http://swfdec.freedesktop.org/download/swfdec/0.8/swfdec-0.8.4.tar.gz 0.8.4] | ||
|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} | |{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} | ||
+ | |- | ||
+ | !colspan="8"|HTML5 / WebAssembly | ||
+ | |- | ||
+ | |[[Ruffle]] | ||
+ | | rowspan="7" {{na}} | ||
+ | |[https://github.com/ruffle-rs/ruffle git] | ||
+ | |{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}}<small> (WIP)</small> | ||
+ | |- | ||
+ | |[https://awayfl.org/ AwayFL] | ||
+ | |[https://github.com/awayfl/awayfl-player git] | ||
+ | |{{✗}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}<small> (WIP)</small> | ||
+ | |- | ||
+ | |[https://github.com/vidkidz/waflash WAFlash] | ||
+ | | {{na}} | ||
+ | |{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{~}} | ||
+ | |- | ||
+ | |[https://swf2js.com/en/ swf2js] | ||
+ | |[https://github.com/swf2js/swf2js 0.7.8] | ||
+ | |{{✗}} ||{{✗}} ||{{~}} ||{{✗}} ||{{~}} | ||
|- | |- | ||
|[https://leaningtech.com/cheerpx-for-flash/ CheerpX for Flash] | |[https://leaningtech.com/cheerpx-for-flash/ CheerpX for Flash] | ||
− | |||
|[https://docs.leaningtech.com/cheerpx-for-flash/Changelog Version 35] | |[https://docs.leaningtech.com/cheerpx-for-flash/Changelog Version 35] | ||
|{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} | |{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} | ||
|- | |- | ||
|[https://open-flash.github.io/ Open Flash / Doμ Player] | |[https://open-flash.github.io/ Open Flash / Doμ Player] | ||
− | |||
|[https://github.com/open-flash/domu-player git] | |[https://github.com/open-flash/domu-player git] | ||
|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} | |{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} | ||
|- | |- | ||
|Shumway | |Shumway | ||
− | |||
|[https://github.com/mozilla/shumway git] | |[https://github.com/mozilla/shumway git] | ||
|{{✗}} ||{{~}} ||{{✓}} ||{{✗}} ||{{✗}} | |{{✗}} ||{{~}} ||{{✓}} ||{{✗}} ||{{✗}} | ||
|- | |- | ||
!colspan="8"|Mobile | !colspan="8"|Mobile | ||
+ | |- | ||
+ | |Animate (Flash) | ||
+ | |align=left|{{Icon|iOS}} | ||
+ | |[https://adobe.com/products/animate.html 2023] | ||
+ | |? ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} | ||
|- | |- | ||
|[[Ruffle]] | |[[Ruffle]] | ||
|align=left|{{Icon|Android}} | |align=left|{{Icon|Android}} | ||
− | |[https://github.com/ | + | |[https://github.com/torokati44/ruffle-android 1.0] |
− | + | |{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}} | |
− | |||
− | |||
− | |||
− | |||
− | |{{~}} ||{{~ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | |||
<references group=N /> | <references group=N /> | ||
===Comparisons=== | ===Comparisons=== | ||
====Hybrid==== | ====Hybrid==== | ||
− | ;[[Ruffle]] <small | + | ;[[Ruffle]]<small> ([https://ruffle.rs/demo/ web demo])</small><small class="plainlinks" style="font-weight:normal;"> ([https://github.com/ruffle-rs/ruffle/issues/310 avm1 compatibility]) ([https://ruffle.rs/avm2.html avm2 compatibility])</small> |
− | :A Rust-based player that targets both HTML5 and desktop. | + | :A Rust-based player that targets both HTML5 and desktop. Notably used by a bunch of veteran Flash content sites, including [https://www.newgrounds.com Newgrounds], [https://homestarrunner.com Homestar Runner] and [https://www.coolmathgames.com CoolMathGames], and also by the Internet Archive's [https://archive.org/details/softwarelibrary_flash Flash library]. By early 2021, it had already reached the point where it could run many early Flash games, including the original Flash version of [https://www.newgrounds.com/portal/view/59593/format/flash?emulate=flash Alien Hominid]; support for newer AVM2-based files is now underway, although still far from complete as of December 2022. Unlike the other HTML5 options, Ruffle can be installed as a WebExtension in browsers that support it, with the caveat that a website's hosted copy will sometimes override the extension even if the site is running an older build. |
− | |||
====Desktop / NPAPI==== | ====Desktop / NPAPI==== | ||
− | [[wikipedia:NPAPI|NPAPI]]—in case you don't remember—is an obsolete browser plugin system designed to allow for interactive web-page elements beyond what early versions of HTML could do on their own. While there were a bunch of different in-browser software platforms co-existing in the earlier days of the internet, NPAPI effectively existed only for the sake of SWF players once the format became properly dominant and pushed everything else out of the in-browser ecosystem. With the shrinking relevance of SWF in the late 2010s, the plugin system that the players relied on was increasingly seen as an ancient relic that modern browsers would be better off without, | + | [[wikipedia:NPAPI|NPAPI]]—in case you don't remember—is an obsolete browser plugin system designed to allow for interactive web-page elements beyond what early versions of HTML could do on their own. While there were a bunch of different in-browser software platforms co-existing in the earlier days of the internet, NPAPI effectively existed only for the sake of SWF players once the format became properly dominant and pushed everything else out of the in-browser ecosystem. With the shrinking relevance of SWF in the late 2010s, the plugin system that the players relied on was increasingly seen as an ancient relic that modern browsers would be better off without. So, while Adobe was phasing out Flash Player in late 2020, NPAPI was also gradually being dropped by all the major browser vendors. It hasn't entirely disappeared (some indie browser devs still maintain NPAPI in their own forks of stuff like Firefox and Chromium), but there's no denying its obsolescence these days. |
;Flash Player | ;Flash Player | ||
− | :The proprietary reference player, which Adobe stopped directly supporting at the end of 2020 and has since fully delisted from their website. The plugin version has a built-in kill-switch that was flipped in January 2021, so it's probably not much use even in browsers that still support NPAPI, but the desktop player version is still usable if you download it from an archived version of the Adobe website. | + | :The proprietary reference player, which Adobe stopped directly supporting at the end of 2020 and has since fully delisted from their website. The plugin version has a built-in kill-switch that was flipped in January 2021, so it's probably not much use even in browsers that still support NPAPI, but the desktop player version is still usable if you download it from an archived version of the Adobe website. Harman International is also [https://airsdk.harman.com/flashplayer maintaining an extended support version specifically for enterprise users]. |
− | :Despite the hard discontinuation and a lack of support for user-friendly features such as URL spoofing, | + | :Despite the hard discontinuation and a lack of support for user-friendly features such as URL spoofing, Flash Player still remains by far the most capable desktop player for Flash games as of mid-2023. If a Flash game is listed in [[Flashpoint]], it almost certainly uses Flash Player to run the SWF. |
− | |||
− | |||
;Lightspark | ;Lightspark | ||
− | :A C++ player designed to provide drop-in FLOSS replacements for both the desktop and NPAPI versions of Flash Player. It claims to have 83% of the overall SWF spec covered as of August 2022, but development has been slow | + | :A C++ player specifically designed to provide drop-in FLOSS replacements for both the desktop and NPAPI versions of Flash Player. It claims to have 83% of the overall SWF spec covered as of August 2022, but development has been fairly slow since 2015, when it became a mostly one-person effort. Lightspark historically focused on more recent versions of the SWF spec that weren't supported by Gnash, hence why Lightspark could (and still can) use Gnash as an automatic fallback if both are installed simultaneously. |
;GNU Gnash | ;GNU Gnash | ||
Line 177: | Line 139: | ||
:A proprietary software package designed to make the Harman version of Flash Player usable in modern browsers by running it inside CheerpX, a payware x86 emulator in WebAssembly. No one on this wiki has had the chance to properly evaluate it, but we'd expect reference-level accuracy at the cost of woeful performance. That being said, CheerpX can also function as a streaming client to a bundled server app that does the emulation and processing work instead. | :A proprietary software package designed to make the Harman version of Flash Player usable in modern browsers by running it inside CheerpX, a payware x86 emulator in WebAssembly. No one on this wiki has had the chance to properly evaluate it, but we'd expect reference-level accuracy at the cost of woeful performance. That being said, CheerpX can also function as a streaming client to a bundled server app that does the emulation and processing work instead. | ||
− | ;AwayFL <small | + | ;AwayFL<small> ([https://exponenta.games/games/AFL/ web demo])</small> |
:Developed by the Away Foundation, this is arguably the most direct alternative to Ruffle, although it has fallen behind in terms of compatibility. | :Developed by the Away Foundation, this is arguably the most direct alternative to Ruffle, although it has fallen behind in terms of compatibility. | ||
− | ;WAFlash <small | + | ;WAFlash<small> ([https://clubpenguinadvanced.github.io/waflash-demo/ web demo])</small> |
:An inactive, closed-source C++-to-WebAssembly player that technically hasn't been made available to outside users, although there are a few sites where you can use it. It was considered the most accurate of the unofficial Flash players as of late 2021, although other still-active projects have caught up significantly. | :An inactive, closed-source C++-to-WebAssembly player that technically hasn't been made available to outside users, although there are a few sites where you can use it. It was considered the most accurate of the unofficial Flash players as of late 2021, although other still-active projects have caught up significantly. | ||
− | ;swf2js <small | + | ;swf2js<small> (web demos: [https://swf2js.com/free/index.html free], [https://swf2js.com/prod/index.html production])</small> |
:An open-core player that uses a dynamic recompiler. The source-available "Free" version supports limited features, such as AS1, AS2 and ZLIB compression. In contrast, the payware "Production" version is better suited to newer Flash files using AS3 and LZMA compression features. Built on more traditional JavaScript code, so it pretty much always performs worse than any of the WebAssembly players, sometimes noticeably so. | :An open-core player that uses a dynamic recompiler. The source-available "Free" version supports limited features, such as AS1, AS2 and ZLIB compression. In contrast, the payware "Production" version is better suited to newer Flash files using AS3 and LZMA compression features. Built on more traditional JavaScript code, so it pretty much always performs worse than any of the WebAssembly players, sometimes noticeably so. | ||
Line 203: | Line 165: | ||
==See also== | ==See also== | ||
− | * [ | + | * [[Flashpoint]] - preservation effort for games designed in commercial web frameworks (not just Flash). |
== Resources == | == Resources == | ||
* [https://nosamu.medium.com/flash-player-emulators-how-to-play-swfs-in-2021-and-beyond-d56c3899b7e6 Article by nosamu (of Flashpoint): Flash Player Emulators: How to Play SWF Files in 2021 and Beyond] | * [https://nosamu.medium.com/flash-player-emulators-how-to-play-swfs-in-2021-and-beyond-d56c3899b7e6 Article by nosamu (of Flashpoint): Flash Player Emulators: How to Play SWF Files in 2021 and Beyond] | ||
− | * [https://huwdp.github.io/Flash-Matrix/ Huw Pritchard's Flash Matrix] ([https://github.com/huwdp/Flash-Matrix source repo]) — an effort to calculate | + | * [https://huwdp.github.io/Flash-Matrix/ Huw Pritchard's Flash Matrix] ([https://github.com/huwdp/Flash-Matrix source repo]) — an effort to calculate API support across multiple Flash player implementations |
[[Category:Not really emulators]] | [[Category:Not really emulators]] |