Flash
Developer | Adobe |
---|---|
Release date | 1996 |
Discontinued | 2020 |
Emulated | ✓ |
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.
In fact, Flash's popularity 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 would never support Flash. Google followed suit when it dropped support for the platform in new releases of Android, and it didn't help that a series of security issues, coupled with Flash itself being a closed standard, led Adobe to wind down on Flash and retire 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.
Contents
Implementations[edit]
- 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).
Comparisons[edit]
Hybrid[edit]
- Ruffle (web demo) (avm1 compatibility) (avm2 compatibility)
- 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'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 Newgrounds, Homestar Runner and CoolMathGames, and also by the Internet Archive's Flash library. It's also the most actively developed and arguably the most accurate of the open-source players that are available today, so this is likely your next best option if you don't want to bother with Flash Player or anything that's been forked from it.
Desktop / NPAPI[edit]
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, and so NPAPI started being phased out by all the major browser vendors in late 2020 (around the same time that Adobe was preparing to 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.
- 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. It's also worth noting that the player hasn't been completely discontinued: Harman International continues to maintain an extended support version intended for enterprise 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 Flash 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 Free and Open-Source 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.
- GNU Gnash
- A desktop-only C++ player that went inactive in 2017, with the most recent stable release dating back to 2012. Probably not much reason to use it over newer versions of Lightspark, which seem to have mostly (if not entirely) superseded Gnash for compatibility.
- GameSWF & swfdec
- Two very early efforts to create non-proprietary replacements for the desktop Flash Player, both inactive since 2009 and very much obsolete nowadays. Gnash began as a fork of GameSWF.
HTML5[edit]
Pretty much all of the players listed here are specifically designed to be used as polyfills by webmasters who want to keep their Flash-based sites going despite the forced obsolescence of Adobe's in-browser Flash plugin. They are, therefore, largely not intended for personal use, although it's usually not impossible and some of them even have official demo pages that you can use to load whatever SWF file you want.
- CheerpX for Flash
- 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 (web demo)
- Developed by the Away Foundation, this is arguably the most direct alternative to Ruffle, although it has fallen behind in terms of compatibility.
- WAFlash (web demo)
- 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 (web demos: free, production)
- 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.
- Shumway
- A relatively early HTML5 player, actively developed under Mozilla sponsorship between 2012 and 2016 but then abandoned before reaching a usable beta state.
Peripherals[edit]
ScaleForm GFx[edit]
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[edit]
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[edit]
- Archive.org-Software Library: Flash - 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 in the Software Library, the Internet Archive can turn your computer into a mini arcade at the click of a button.
Resources[edit]
- Article by nosamu (of Flashpoint): Flash Player Emulators: How to Play SWF Files in 2021 and Beyond
- Huw Pritchard's Flash Matrix (source repo) — an effort to calculate AVM2/AS3 support across multiple Flash players