Changes

Jump to navigation Jump to search

Flash

7,972 bytes added, 28 March
m
Implementations
{{Infobox console
|title = Adobe Flash|logo = Adobe_Flash_Logo.png|developer logowidth= Adobe160|type = |generation developer= Adobe|release = 1996|discontinued = 2020|predecessor =
|emulated = {{✓}}
}}
'''Flash''' (previously FutureSplash Animator, before that SmartSketch) is a software platform created by FutureWave Software, and is currently owned by Adobe (previously 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 in between the early 2000s to and the mid-2010s, Flash has been was very much the go-to platform for multimedia online cartoons and animationgames, being utilised especially popular for streaming video providers such as YouTube, various entertainment sites and children's websites sites due to its rich content, and has spawned a its own subculture of animators and game developers as exemplified by the likes of Newgrounds. A number 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 popular animated series were also animated using Flashviable alternatives in the pre-HTML5 days. However, most notably ''My Little Pony: Friendship Is Magic''around the start of 2010 YouTube started pushing really hard for HTML5 media elements, ''Phineas which have since become a standard feature in modern browsers and Ferb'' and ''Happy Tree Friends'' to name a fewsingle-handedly made Flash Player obsolete for multimedia playback.
In fact, Flash's popularity declined as a whole started declining steeply in the mid-to-late 2010s due to the rise of alternative (and open) web standards such as HTML5 and mobile device manufacturers dropping support for the platform, a prominent example being Apple , who publicly stated that iOS will would ''never'' support Flash. Google followed suit when it dropped support for the platform in subsequent new releases of Android releases, and it didn't help that a series of security issues, coupled with Flash itself being a closed standard, has led Adobe to wind down on Flash and retire it the official player in 2020. The Flash authoring toolkit, since renamed Adobe Animate, is still actively supported and has undergone a total market shift towards animators; a number of popular cartoon series are already produced using Animate, most notably ''My Little Pony: Friendship is Magic'', ''Phineas and Ferb'' and ''Happy Tree Friends'', to name a few.
==Implementations==
; If you don't want to mess with these tools, just use [[Flashpoint]] - preservation effort for games and animations designed in commercial web frameworks (not just Flash).<div style="overflow-x:auto;width:100%">{| class="wikitable" style="text-align:center;width:100%"! scope="col"|Name! scope="col"|Platform(s)! scope="col"|Latest version!scope="col"|[[#ScaleForm GFx|ScaleForm GFx]]!scope="col"|[[#Adobe AIR|Adobe AIR]]! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>! scope="col"|Active! scope="col"|[[Recommended Emulators|Recommended]]
|-
|Adobe Flash Player|align=left|{{Icon|Windows|Linux|macOS|Web}}<ref group!colspan=N name=plugin />|[https://www.adobe.com/support/flashplayer/debug_downloads.html 32.0.0.465]|{{✗}} ||{{~}}<ref group=N>Adobe versions discontinued. Harman versions currently maintained for enterprise customers only.</ref> |"8"|{{✓}}Desktop & NPAPI
|-
|[https://github.com/vidkidz/waflash WAFlash]Flash Player|align=left|{{Icon|Windows|Linux|macOS|Web}}<ref group=N name=plugin>Web version requires a browser that supports NPAPI.</ref>|[https://clubpenguinadvancedweb.archive.org/web/20220331041116/https://www.githubadobe.iocom/support/waflash-demoflashplayer/ Webdebug_downloads.html 32.0.0.465]|{{~}} <ref group=N name=scaleform>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> ||{{✓}}
|-
|[https://rufflegitlab.rscom/cleanflash/ Ruffleinstaller Clean Flash Player]|align=left|{{Icon|Windows|Linux|macOS|Web}}<ref group=N name=plugin/>|[https://github.com/darktohka/clean-flash-builds 34.0.0.289] (Windows, Mac)<br />[https://github.com/darktohka/clean-flash-builds/releases/tag/v1.7 34.0.0.137] (Linux)|{{~}} <ref group=N name=scaleform/> ||{{✗}}||{{✗}} ||{{✓}} ||{{✓}}|-|[[Ruffle]]|align=left|{{Icon|Windows|Linux|macOS}}|[https://ruffle.rs/#downloads Nightly builds]|{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}}<small> (WIP)</small>|-|[https://lightspark.github.io/ Lightspark]|align=left|{{Icon|Windows|Linux|Web}}<ref group=N name=plugin/>|[https://github.com/lightspark/lightspark/releases 0.8.7]|{{✗}} ||{{~}} [https://github.com/lightspark/lightspark/blob/master/src/main.cpp#L365 *]||{{✓}} ||{{✓}} ||{{~}}<small> (WIP)</small>|-|Moco|align=left|{{Icon|Windows}}|[https://github.com/naomiEve/Moco git]|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}|-|[https://gnu.org/software/gnash GNU Gnash]|align=left|{{Icon|Windows|Linux}}|[https://www.gnu.org/software/gnash/download.html 0.8.10]|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}|-|[http://tulrich.com/textweb.pl?path=geekstuff/gameswf.txt GameSWF]|align=left|{{Icon|Windows7|macOS|Linux}}|[https://sourceforge.net/projects/tu-testbed/files/demos/gameswf-2009-08-08/ 2009-08-08]|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}|-|[https://web.archive.org/web/20090116113151/http://swfdec.freedesktop.org/wiki swfdec]|align=left|{{Icon|Linux|Web}}<ref group=N name=plugin/>|[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]
|align=left|{{Icon|Web}}
|[https://github.com/awayfl/awayfl-player git]
|{{✗}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}<small> (WIP)</small>
|-
|[https://lightsparkvidkidz.github.io/ LightsparkWAFlash]|align=left{{Na}}|{{Icon✗}} |Windows|Linux|Web{{✗}}<ref group=N name=plugin>Web version is only available as an NPAPI/PPAPI plugin, and is therefore not OS-agnostic.</ref>|[https://github.com/lightspark/lightspark/releases 0.8.5]|{{}} ||{{}} ||{{~}}<small> (WIP)</small>
|-
|[https://swf2js.com/en/ swf2js]
|align=left|{{Icon|Web}}|[https://github.com/swf2js/swf2js Download (Free Version only)]<br />Demo sites:<br />[https://swf2js.com/free/index.html Free Version]<br />[https://swf2js0.com/prod/index7.html Production Version8]|{{✗}} ||{{✗}} ||{{~}} ||{{✗}} ||{{~}}
|-
|[https://leaningtech.com/cheerpx-for-flash/ CheerpX for Flash]
|align=left|{{Icon|Web}}|[https://docs.leaningtech.com/cheerpx-for-flash/Changelog Version 3335]|{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}}
|-
|[https://open-flash.github.io/ Open Flash / Doμ Player]
|align=left|{{Icon|Web}}
|[https://github.com/open-flash/domu-player git]
|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
|-
|Shumway
|align=left|{{Icon|Web}}
|[https://github.com/mozilla/shumway git]
|{{✗}} ||{{~}} ||{{✓}} ||{{✗}} ||{{✗}}|-!colspan="8"|Mobile|-|[[Ruffle]]|align=left|{{Icon|Android}}|[https://github.com/ruffle-rs/ruffle-android git]|{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}}|-!colspan="8"|Consoles
|-
|[https://gnu.org/software/gnash GNU Gnash]FGP3|align=left|{{Icon|Windows|LinuxPS3}}|[https://www.gnugithub.orgcom/softwareDropSonic0/gnash/downloadFlash-Player-PS3-Store 1.html 0.8.1006]|? ||? ||{{✓}} ||{{}} ||{{}}
|-
|[http://tulrich.com/textweb.pl?path=geekstuff/gameswf.txt GameSWF]PSP Flash Player|align=left|{{Icon|Windows|LinuxPSP}}|[https://sourceforgearchive.netorg/projectsdetails/tu-testbed/files/demos/gameswf-2009-08-08/ 2009-08-08swfplayerv13.7z v13]|? ||? ||{{}} ||{{✗}} ||{{✗}}
|}
</div>
<references group=N />
===Comparisons===
====Hybrid====;[[Ruffle]] <small class="plainlinks" style="font-weight:normal;">([https://ruffle.rs/demo/ web demo]) ([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. Ruffle has been able to run many early Flash games since 2021, and the main development focus is now on support for newer AVM2-based files, although that's still far from complete as of 2024. Unlike the other HTML5 options, Ruffle can be installed as a WebExtension in browsers that support it, with the caveat that a website'Common aspects''s hosted copy will sometimes override the extension even if the site is running an older build.:Ruffle has become hugely popular as an alternative SWF player, being 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]. It'Pretty much all s also the most actively developed and arguably the most accurate of the HTML5 implementations listed here open-source players that are specifically designed available today, so this is likely your next best option if you don't want to be used as bother with Flash Player or anything that's been forked from it. ====Desktop / NPAPI====[[wikipedia:Polyfill (programming)NPAPI|polyfillsNPAPI]] —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, and so NPAPI started being phased out by webmasters who want all the major browser vendors in late 2020 (around the same time that Adobe was preparing to keep drop Flash Player itself). NPAPI hasn't entirely gone away though, as some indie browser devs still maintain it in their own forks of Firefox and Chromium and such. ;FlashPlayer: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-based sites going despite switch that was flipped in January 2021, so it's probably not much use even in browsers that still support NPAPI, but the forced obsolescence desktop player version is still usable if you download it from an archived version of the Adobewebsite. It's in-browser Flash pluginalso worth noting that the player hasn't been completely discontinued: Harman International continues to maintain [https://airsdk.harman. They are therefore really not com/flashplayer an extended support version] intended for personal useenterprise users; and there's also a consumer-level Chinese version which is actively developed by Zhongcheng, although you shouldn't get it from their official site (Flash [dot] cn) because it'll be full of bundled malware.:Despite the hard discontinuation and a lack of support for user-friendly features such as URL spoofing, Adobe's usually not impossibleFlash Player still remains the most widely-compatible desktop player for Flash games as of 2023, which is why the [[Flashpoint]] preservation project still relies on Flash Player to run its SWF games.:;Clean Flash Player::An unofficial effort that takes the still-active Zhongcheng version of Flash Player and repacks it minus as much malware as the Clean Flash project can remove.This might be the better option if you're looking for an NPAPI player specifically. ;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 ever since it became a mostly one-person effort circa 2015. 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.
;Adobe Flash PlayerGNU Gnash:The proprietary reference implementation, which Adobe stopped directly supporting at the end of 2020. The web version relies on [[wikipedia:NPAPI|NPAPI/PPAPI]], an obsolete browser plugin system A desktop-only C++ player that for many years only stuck around specifically because of Flash Player; as Adobe was phasing out the pluginwent inactive in 2017, so too was with the plugin system gradually being dropped by all the major browser vendors. The discontinued desktop player version is still available for download from the debug downloads section of Adobe's website, and Harman International is also [https://airsdk.harman.com/flashplayer maintaining an extended support version specifically for enterprise users].:;CheerpX for Flash::A proprietary software package designed most recent stable release dating back to make the Harman version of Flash Player usable in modern web browsers by running it inside CheerpX, a payware x86 emulator in WebAssembly2012. No-one on this wiki has had the chance Probably not much reason to properly evaluate use it, but we'd expect reference-level accuracy at the cost over newer versions of woeful performance. That being saidLightspark, CheerpX apparently has an alternate mode of operation that offloads most of the emulation and processing work which seem to a server app, at which point the in-browser part is effectively just a streaming clienthave mostly (if not entirely) superseded Gnash for compatibility.
;WAFlashGameSWF & swfdec:A closed-source C++-Two very early efforts tocreate non-HTML5 implementation that technically hasn't been made available to outside users, although there are a few sites where you can use it. It seems to be proprietary replacements for the most accurate of the unofficial desktop Flash playersPlayer, both inactive since 2009 and very much obsolete nowadays. Gnash began as a fork of December 2021GameSWF.
;Ruffle====HTML5====:A Rust implementation that mainly targets HTML5, but is also available Pretty much all of the players listed here are specifically designed to be used as a desktop player. Notably used by a bunch of veteran Flash content sites including [https://www.newgrounds.com Newgrounds], [httpswikipedia://homestarrunner.com Homestar RunnerPolyfill (programming)|polyfills] and [https://www.coolmathgames.com CoolMathGames], and also by webmasters who want to keep their Flash-based sites going despite the Internet Archiveforced obsolescence of Adobe's [https://archive.org/details/softwarelibrary_flash in-browser Flash library]plugin. It's progressed to the point where it can run many early Flash gamesThey are, including the original Flash version of [https://www.newgrounds.com/portal/view/59593/format/flash?emulate=flash Alien Hominid]. Unlike the other HTML5 optionstherefore, Ruffle can actually be installed as a browser addonlargely not intended for personal use, with the caveat that a websitealthough it's hosted copy will usually override the addon not impossible and some of them even if the site is running an older buildhave official demo pages that you can use to load whatever SWF file you want.
;AwayFLCheerpX for Flash:An HTML5 implementation developed A proprietary software package designed to make the Harman version of Flash Player usable in modern browsers by the Away Foundationrunning it inside CheerpX, a payware x86 emulator in WebAssembly. Sometimes works better than Ruffle, depending No one on this wiki has had the specific Flash file youchance to properly evaluate it, but we're trying d expect reference-level accuracy at the cost of woeful performance. That being said, CheerpX can also function as a streaming client to runa bundled server app that does the emulation and processing work instead.
;LightsparkAwayFL <small class="plainlinks" style="font-weight:normal;">([https://exponenta.games/games/AFL/ web demo])</small>:A C++ implementation that's designed specifically to provide drop-in FLOSS replacements for both Developed by the Away Foundation, this is arguably the desktop and NPAPI versions of Flash Player. It claims most direct alternative to have 79% of the APIs coveredRuffle, as although it has fallen behind in terms of January 2022compatibility.
;swf2jsWAFlash <small class="plainlinks" style="font-weight:normal;">([https://clubpenguinadvanced.github.io/waflash-demo/ web demo])</small>:An openinactive, closed-core HTML5 implementation that uses a dynamic recompiler. The sourceC++-to-WebAssembly player that technically hasn't been made available "Free" version supports limited featuresto outside users, such as AS1, AS2 and ZLIB compression, whereas although there are a few sites where you can use it. It was considered the most accurate of the payware "Production" version is better suited to newer unofficial Flash files using such features players as AS3 and LZMA compression. Built on more traditional JavaScript codeof late 2021, so it pretty much always performs worse than the WebAssemblyalthough other still-based options, sometimes noticeably soactive projects have caught up significantly.
;GNU Gnashswf2js <small class="plainlinks" style="font-weight:normal;">(web demos: [https://swf2js.com/free/index.html free], [https://swf2js.com/prod/index.html production])</small>:A desktopAn open-only C++ implementation core player that went inactive in 2017uses a dynamic recompiler. The source-available "Free" version supports limited features, such as AS1, AS2 and ZLIB compression. In contrast, with the most recent stable release dating back payware "Production" version is better suited to 2012. It focuses on older versions of newer Flash that Lightspark was historically less focused on supporting properly, hence why Lightspark could (files using AS3 and still can) use Gnash as an automatic fallback if both are installed simultaneouslyLZMA compression features. HoweverBuilt on more traditional JavaScript code, newer versions of Lightspark have so it pretty much superseded Gnash entirely and there's not much reason to use it at all anymore.:;GameSWF::The original basis for Gnash. An ''extremely'' old C++ implementation, definitely one always performs worse than any of the first serious efforts to reverse-engineer Flash Player into an open-source package. Inactive since 2009WebAssembly players, sometimes noticeably so.
;Shumway
:A relatively very early HTML5 implementation. Developed rather player, actively developed under Mozilla sponsorship between 2012 and 2016, but ultimately then abandoned before it could reach reaching a usable beta state. ==Peripherals=====ScaleForm GFx===Scaleform GFx is a discontinued game development middleware package, a vector graphics rendering engine used to display Adobe Flash-based user interfaces and HUDs for video games. In March 2011, Autodesk acquired Scaleform Corporation and Scaleform GFx became part of the Autodesk Gameware line of middleware. On July 12, 2018, Autodesk discontinued Scaleform GFx, and it is no longer available for purchase. Authors created user interfaces using Adobe Flash authoring tools, such as Adobe Animate (formerly Adobe Flash Professional); the resulting SWF files were used directly by the GFx libraries, providing similar functionality to the Adobe Flash Player but optimized for use within game engines. Scaleform GFx supported all major platforms, including game consoles, mobile and PC operating systems. Scaleform provides APIs for direct communication between Flash content and the game engine, and pre-built integrations for popular engines such as Unity, Unreal Engine, and CryENGINE. Scaleform GFx could also be licensed for use as a standalone Flash runtime system on mobile platforms, competing with Adobe AIR. ===Adobe AIR===Adobe AIR (also known as Adobe Integrated Runtime and codenamed Apollo) is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS. AIR is a runtime environment that allows Adobe Animate content and ActionScript 3.0 coders to construct applications and video games that run as a stand-alone executable and behave similarly to a native application on supported platforms. An HTML5 application used in a browser does not require installation, while AIR applications require installation from an installer file (Windows and macOS) or the appropriate App Store (iOS and Android). AIR applications have unrestricted access to local storage and file systems, while browser-based applications only have access to individual files selected by users.
==See also==
* [[Flashpoint]https://archive.org/details/softwarelibrary_flash?tab=collection Archive.org-Software Library: Flash] - preservation effort Internet Archive's Flash Games Software Library is abundant with options for any level of computer gaming. With an in-site emulator ready to run thousands of games designed in commercial web frameworks (not just Flash)the Software Library, the Internet Archive can turn your computer into a mini arcade at the click of a button.
== 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://huwdp.github.io/Flash-Matrix/ Huw Pritchard's Flash Matrix] ([https://github.com/huwdp/Flash-Matrix source repo]) &mdash; an effort to calculate AVM2/AS3 support across multiple Flash players
[[Category:Not really emulators]]
75
edits

Navigation menu