Ruffle: Flash Player Emulator
ruffle.rs
ruffle.rs
Rust's type system encodes more information than most languages, and so you can offload more work to it. That becomes more and more valuable as the project grows.
Rust also attracts good developers in general, moreso than the average language certainly.
I suspect at least one of the developers would argue with you as I have listened to his rants. :)
Rust is a remarkably poor match to implementing Flash because Flash has lots of object orientation with child and parent pointers--which Rust really hates.
> Rust also attracts good developers in general, moreso than the average language certainly.
I suspect this is way more relevant.
Could you elaborate more on this? I don't think programmers that primarily use a particular language would be anymore skilled than programmers that rely on another language.
Note that a lot has changed since 2004 :)
This may change very soon :)
The only thing I've seen it fail with is the [video galleries]https://www.slaveryinnewyork.org/gallery_2_responses.htm) on the same exhibit site. They're supposed to be video clips that people took in dedicated booths after going through the exhibit. I've read about the exhibit extensively and it seems like these videos were a really good insight into the way the New York public viewed slavery at the time: "They have the awkwardness of amateur home videos: background noise, long silences, people looking away from the camera." (taken from The Anger and Shock of a City's Slave Past, New York Times) It's supposed to be a subset of some 400 videos, but I can't get Ruffle to work on these pages specifically. I've had a couple flashes of audio come out of the tab while trying to view one, so I know that something is going on, but I've never been able to watch any of the videos. Does anyone with more knowledge than me know what's going on here? I'd hate to see all that disappear.
https://www.slaveryinnewyork.org/flash/Gallery2Responses2.fl... https://www.slaveryinnewyork.org/flash/Gallery7Responses2.fl... https://www.slaveryinnewyork.org/flash/Gallery9Responses2.fl...
The videos are densely packed with great insight from many different points of view. I'm very happy I was able to watch them.
I'd say that AS3 wasn't ahead of its time, I'd say that we were sent back in time when we had to abandon Flash thanks to Steve Jobs and the bend-over Adobe CEO at the time.
AS3 was super cool, easy to learn and safe to scale amongst many developers. Flash had gotten pretty darn fast near the end... And it was all sent down the toilet.
For the record, that is exactly how it did not happen.
At the time I was a full time flash developer, doing flex and flash on AIR.
One day, Steve Jobs made an announcement that Flash was crapware and had to die for standards (sic!)
I shook my head in disbelief. The same week, the CEO of Adobe (some shmuck) went to CNN to address what Steve Jobs had said earlier this week.
I fully expected a rebuttal, but instead, NOPE: he totally and literally threw his product under the bus, on the world stage.
Flash was dead. Its replacement was said to be coming, and yet nothing good came out.
Javascript at the time was pitiful. Typescript didn't exist yet, and MVVM in HTML wasn't a thing. We were back to web 1.0.
Flash gaming was a billion dollar market at the time that Apple knew they could convert the big dev shops into native app developers for their app store (see Zynga and others) by enforcing native-only app development.
This was the last straw for flash, which was already struggling for funding. See, Flash was already a rather unprofitable project, having no app store, no ad network, or payments platform. The Flex/Flash dev licenses made only peanuts. With Apple closing down roads to adoption, this caused Adobe to finally reconsider its long term investment in runtime engines. source: flash team friends
edit: For history completeness, here is CNET's article with Apple's media statement on why it dropped flash. Job's statement was that Flash wasn't a good enough runtime to allow on iOS (or any runtime): https://www.cnet.com/culture/jobs-why-apple-banned-flash-fro...
Please take me back to that world
Apple is just very good at spinning the narrative in their favor, i.e. it was because of "stability/security/performance issues" and not "it's a potential App Store competitor, bury it now".
See also: Apple preventing apps from downloading/including scripts dynamically (read: AIR), which was a total security risk, until it wasn't when they lifted the restriction years later when AIR was not so relevant anymore.
Glad to be corrected tho
It's irrelevant though as if Apple cared so much about preserving the user experience, they would also block slow or crashy websites, which they didn't, because they don't pose a threat to their business model.
And it doesn't pose a threat because they (still) control what is possible on iOS web by restricting browser engines to webkit only.
Dunno about Android, but crashy web sites weren't really a thing I've ever had to deal with on iOS (or BB10).
"only player in mobile space" iOS had 28% market share when the letter was published (Q2 2010), just after Symbian with 33% and Symbian was not on the same level of "smartphone". Android was 4%. So yes, what was supported in iOS had a significant effect on the industry as a whole. Source: https://www.statista.com/statistics/272698/global-market-sha...
"It was bad/slow/unstable" Sure, but that's irrelevant. It's not even the main problem Jobs had with it. It's that he lost control over the platform and, if you read between the lines, the App Store revenue. Read the letter and ensuing battle yourself: https://en.m.wikipedia.org/wiki/Thoughts_on_Flash#References
"It was bad/slow/unstable" Sure, but that's irrelevant.
No, it's pretty much the only thing that mattered. The iPhone wasn't the first smart phone, not by a long shot. It was the first smart phone that worked well enough for the masses. HTML5 video wasn't the first video framework either, it was the first that worked well enough for the masses. If Apple had thrown their weight behind flash, we wouldn't be having this conversation… because mobile would not be as popular. Users were not clamoring for another flash experience.Sure, if literally everything were different flash could've been great. But that's not how life works. Sure, Adobe could've added a bunch of spit and polish (ignoring that flash was inherently bad for video), but they couldn't / didn't.
If flash were some sort of killer feature, surely Google could've doubled down on it and flown the "look how much better than Apple we are" flag. Or Palm, or Nokia, or Blackberry. Nobody defended flash because no users wanted it.
Adobe couldn't even get the desktop experience up to snuff, they had no chance with mobile. That is not and was not an Apple problem, that's an Adobe had an "awful product that nobody wanted to use on their hands" problem. Flash was as popular as it was because a.) that's all there was and b.) it allowed for abusive ads so adtech companies loved it.
Sure. I did not put a wall of text because I thought the context was still clear but apparently not, fair enough.
* Adobe's CEO was far from compliant, fought as he could and pushed development up to the point where even he saw the writing on the wall:
https://www.theguardian.com/technology/blog/2010/apr/29/adob...
Eventually they just cut their losses, without having put working versions for Android tablets or Windows Phone, and the implementations on Android and BlackberryOS having their own issues.
* Even by the end of its run on mobile, Flash had performance and stability issues:
https://www.wired.com/2011/11/adobe-mobile-flash-dead/
https://www.extremetech.com/computing/134551-why-flash-faile...
It was also the leading cause of crashes on OS X at the time. That was a big point when process separation for plugins was added to Safari:
https://www.macworld.com/article/198369/keynote-48.html
* It was also disastrous effects on laptops' battery life:
https://arstechnica.com/gadgets/2010/11/the-future-of-notebo...
* I am not going to link stories on security issues (there have been tons of those all the time when Flash was used, so it's difficult to find some from around 2010), but I hope you agree on that one.
* To this day, there has not been any convincing argument regarding the lack of accessibility and bad user experience with websites that included Flash elements, or the privacy issues related to Flash cookies that kept appearing.
* I don't have a link offhand because the instance I remember was in Walter Isaacson's book, but there were several people saying that Adobe engineers had been pitching Flash for iPhone to Jobs, with demonstrations, for quite a while and never managed to solve the technical issues. It is completely untrue to say that Jobs was dead set against Flash from the beginning.
Overall, there is a summary of technical arguments here: https://daringfireball.net/2010/01/apple_adobe_flash
> At the time I was a full time flash developer, doing flex and flash on AIR.
At the time I was a student and relied on Flash for several things (websites we had to use for lectures, games, even some development in CS courses, etc). This may be why we seem to have wildly different perspectives. But I can assure you, Flash had been rubbish for quite a long time in 2009. It was buggy, crashy, notorious for turning laptops' fans the moment it appeared on a web page and sucking batteries dry.
> One day, Steve Jobs made an announcement that Flash was crapware and had to die for standards (sic!)
Come on, Adobe is and has been many things, but certainly not a champion of open standards. Apple's track record of supporting standards is stellar in comparison.
> I fully expected a rebuttal, but instead, NOPE: he totally and literally threw his product under the bus, on the world stage.
He really did not. He complained that it was unfair, threw a lot of FUD around (there even was that Flash evangelist telling Apple to go screw itself, and look into any post by Kevin Lynch from that time if you want more vitriol). They lead an anti-Apple campaign for about 2 years at that time. What he could not do is contest the technical points, because they were founded. If it were not for the Android community trying to convince itself that Flash was great because was not on iPhones, there would be absolutely no discussion.
Then, Flash for Android stopped in late 2011 (more than 18 monts after Jobs' letter, at which point Apple and Adobe had been talking about what to do with Flash for years). This would make absolutely no sense if its only issues were politics and Apple (it was still on pretty much any device on the Internet except for iPhones and iPads), and development stopped for all platforms around 2015. None of that is the kind of capitulation you describe.
> Flash was dead. Its replacement was said to be coming, and yet nothing good came out.
That much is right Web apps took a long time to improve.
> Javascript at the time was pitiful. Typescript didn't exist yet, and MVVM in HTML wasn't a thing. We were back to web 1.0.
Come on. None of the popular websites stopped functioning. All the things we associated with Web 2.0 worked just fine on iPhones and iPads. What we lost was games, which should not have been in a browser in the first place.
I don't think this is fair to say Apple is better when it's specifically the open web. While Apple has been timid to expand web capabilities, Adobe has been an enormous aid in pushing the open web, and they have teams of researchers that work with TC39, khronos, and other partners. WebGL, WASM, WebGPU, and a huge part modern CSS today is due to years of R&D and spec work. While Apple had a native app platform to lock users into, Adobe (especially post-flash) had not much to gain other than growing the web to be a better export target for their creative tools.
> Come on. None of the popular websites stopped functioning.
Popular is pretty relative. What about Newgrounds, Zynga (209 million users), schools using Flash rich media for courses, and every website that used Flash for video content. Once Apple iOS decided to forever block flash, it caused these sites to become inaccessible for years on Apple until web alternatives arrived.
Ugh flash based video was a scourge on the web. It was bad on desktop where you're tethered to a power cord and the worst problem with excessive CPU usage was that your fans would spin up. That would never fly on mobile where you're way more constrained by battery life. Besides that flash video widgets always caused problems on desktop with focus stealing and whatnot.
The benefits of standardizing video under the guise of HTML5 cannot be overstated.
I can grok the benefits of using flash for "rich" content (ignoring that most of the rich content were popup ads), but video? No. Video was hands down one of the worst uses of flash.
I loathe Apple, but their influence in killing plugins will go down as one of the most important steps forward in web development history.
The only sad part is how many AS3 and Silverlight games just kinda disappeared into the void.
The real argument Steve Jobs should've forced was make it work for mobile.
But that wasn't what he wanted - Flash was "free content/games", so he attacked it on one front, but won two. Sadly, Adobe didn't quite listen to the public, and he was charismatic and forceful, and won.
Since Flash has been banished, so many artists and developers have wanted something that fit that middle ground as much as Flash did. Me too :D
I wish there were a law to ensure that if you're not selling a software anymore, you have to leave it in public domain.
At least all the relevant specifications are freely available from Adobe themselves.
> I wish there were a law to ensure that if you're not selling a software anymore, you have to leave it in public domain.
Shortening the copyright to something sensible like 5 years would've been nice too. Or better yet, require an exponentially increasing tax every year for copyright to be maintained.
Even juste going down to 20 years like it used to be before IP portfolio owners lobbied to extend it would be a massive improvement already.
A law change could fix this. Ie. A new antique software preservation law could enable any software be opensourced, yet prevent any lawsuits relating to any actions taken under that law. The law could give extra incentives too, for example requiring that any software ever sold commercially either be archived in perpetuity, or opensourced. Legally archiving something forever is expensive, so many will opt to opensource it.
The code quality would be an embarrassment. So many exploits yet to be discovered.
Obviously the back catalog is insanely massive, but from what I hear a lot of developers loved making Flash games - it would be interesting if anyone were dedicated enough to try to revive the scene.
It's true that it's not really needed anymore and there are some promising web standards evolving every day. But that never stopped the crazy ones from making it work anyway. People are still finding ways to make new games for old Nintendo hardware.
One of the best parts of a "dead" platform is that it doesn't change!
It was an incredibly accessible authorship tool that produced cross-platform single-file animations that were low-bandwidth and scaled.
We still haven't made up for its loss. Javascript + canvas + web stack is a mess. If the Ruffle runtime could quickly start up, I'd start authoring new Flash.
Nonsense. Java is one of very few languages that was designed to handle untrusted code from day 1, and it showed in having far fewer vulnerabilities than Flash.
Unfortunately the JVM was slow to start up, so you had an even worse "grey rectangle effect" than Flash, and applets like all plugins were poorly integrated with the rest of the page. Top that off with Java not being particularly great for writing UI or video in (it's fine, but it's not great) whereas Flash had excellent tools for doing vector animations and you can see why Flash was more popular.
Flash at least implemented a VM with a fairly minimal surface. It can only blame its quality of implementation.
Lolwhat? It's fine. It worked great. (It had some vulnerabilities in its history, but so does every sandbox/hypervisor/what-have-you out there)
It granted access to _code_, not to the environment. Basically, you declared in the manifest that "com.mycompany.blah.*" wants to have full access rights, and SM granted permissions to that _code_. So it was predictably easy to subvert this, because Java code was not typically written in defensive style, sanitizing all the input data.
All the modern sandboxes instead isolate the environment.
I shed tears for the Flash games that were killed off by the demise of Flash. I don't shed any tears for Flash itself.
The way some people used to make entire websites as flash apps that would bring old computers to their knees is not something I miss. Websites that should have just been static html, like a restaurant's website for their menu, were getting turned into monstrously inefficient interactive nightmares that wouldn't even load at all if you didn't have flash (which btw, broke constantly with Linux.)
This kind of superfluous interactivity is still possible with javascript/etc, but it seems to be less popular and is more likely to gracefully degrade (usually the relevant content still displays even if you have JS disabled.)
What has filled the role of flash for commercial websites is native iOS and android apps, which still somehow end up being way larger than a flash payload and also drain battery faster.
The truly magical bit of flash though was the small scale culture of making tiny little once-off things to share for the love of it, for free. Hacker culture, if you will.
In the flash days, you could make a little toy for fun as a 10 year old kid without a credit card, post it on newgrounds for free to let others see it, brag to your friends, and feel good. Now, you need to buy a macbook ($1000) and apple dev account ($100/yr) to be able to share your dumb joke with your friends at school.
No wonder young kids instead use the even more closed roblox platform to make dumb jokes rather than building iOS apps.
> This kind of superfluous interactivity is still possible with javascript/etc, but it seems to be less popular and is more likely to gracefully degrade
I'm sorry but— do we live in the same planet??
Either you only browse websites you find on marginalia.ru or there's no way you're possibly serious about this.
By my estimation, 90% of websites work better with all javascript disabled (by works better I mean they displays the content legibly and doesn't waste my bandwidth or CPU time with superfluous nonsense). 9% need first party javascript enabled. 1% need more.
Here's a short clip of me browsing the top results for pecan pie recipes: http://0x0.st/HJUU.webm
I chose this example because I think it's relatively representative of normal web browsing without a techie/retro bias, but the same demonstration works with links from HN too. All of these pages are rendered with javascript disabled. Most websites behave like these. Websites that need javascript, like youtube or various social media sites (including github, the only site presently linked on the HN front page that needs javascript), are a small minority.
The only way this could ever have been possible is if a widely-available and -adopted Flash runtime was made that was ironclad in security and reasonably performant. Ideally, it would also have been open-source.
Honestly, while I absolutely sympathize with you and people who share your feelings on Flash, I genuinely believe that its demise was better for the web, especially given that Adobe very clearly had either no interest in or no ability to make such a runtime. With Flash dead, there was huge impetus to make reasonably open and widely-accepted standards for more explicit layout, animation, and other kinds of presentation on the web—and now we have that! It may not reproduce absolutely everything Flash did (particularly on highly Flash-specific sites like Newgrounds, where you're guaranteed to have people trying to push the boundaries of the medium), but it does reproduce the vast majority of what Flash was actively used for on the web in general.
Like, my God, do you remember the restaurants that used Flash just to do simple mouseover drop-down menus? Do you really think that kind of bullshit should still be done in Flash?
They've moved to restaurant specific apps (written in Swift or an Android equivalent), that you need to install on your mobile device just to order from their menu. While in their store already. :( :( :(
But the iPhone and iOS really killed it by not supporting it, at least that's my memory of it. I remember feeling fundamentally "uncool" by doing Flash/Actionscript/Mxml because right when I got that first job out of college was when Steve Jobs was doing the "Flash sucks" rounds. "It's dead." etc.
I remember a couple of the Flash folks at my job went to a Flash conference where they would do cool things with art and animation. When they got back they bumped into some members of the iOS team who back then were the new hot commodity (both in demand and salary). And they said to the flash folks: "Oh people still use Flash?" snicker snicker.
As an entry-level at the start of my career it made me feel like I was deprecated out of the gate working with legacy tech.
I still remember Actionscript fondly though as well as all the web games I'd play.
The reason why Flash became so popular is that while the development tools cost money, the player was free for anyone to install. Browsers eventually started installing Flash by default (mostly so they could solve some of the security issues with prompt updates). By 2005, Adobe had a major monopoly on dynamic web content.
And then smartphones and tablets became a thing. Adobe didn't want to keep giving flash away for free, they wanted to exploit their monopoly for profit, by charging phone manufactures 25 cents per device for the right to include the flash runtime on their phones. Many Symbian, Windows CE, and later Android phones were paying this licensing fee to Adobe.
I suspect this royalty fee is large part of the reason why Job's "Thought's on Flash" letter came about. The letter mostly talks about need for open standards, and it is right. But I think Adobe's insistence on royalty fees really rubbed Apple the wrong way. Maybe if Adobe wasn't trying to extort smartphone vendors for royalty fees, it would have survived, and Adobe could still be charging money for the flash creative tool today.
Hell, if Adobe weren't trying to profit of the runtime, they wouldn't have had any objection to making the runtime an open standard and allowing anyone (including apple) create their own flash runtime implementations.
Flash didn't die because it was bad. Flash died because Adobe tried to exploit their monopoly for profit, and the wider industry responded to the threat.
Well, it certainly wasn't helped by the Flash Player being a never ending source of serious security exploits, sandbox bypasses, and more. :(
I remember a number of people pushing Adobe to transform the runtime into an open standard. Then every browser would have been allowed to create their own implementations that actually fit with their security model.
"Only". Heh. Bit more than just some minor implementation detail, seeing as until Ruffle there's never been a successful 2nd implementation. ;)
Plenty of false starts and half arse attempts to make one, but none that gained traction until now. :/
If Adobe had committed to turning Flash into an open standard back when it was still relevant (certainly before 2010, maybe as late as 2013), various companies like Google, Microsoft, Apple and Mozilla would have committed dozens of full-time engineers towards working with Adobe to document flash as a proper standard. And then those engineers would have gone back to their browsers to create implementations.
None of those companies would have made a 2nd implementation of flash back then without Adobe's permission. Not only did they all have working relationships with Adobe (mostly around keeping adobe flash player updated and secure), but there was a risk Adobe might sue them.
Also, without an offical standard, Flash was a moving target. Part of the reason why Ruffle is viable now is that Flash is dead, and there is no offical implementation that might change at a moments notice.
Which is a shame because it was bad. Like having to run an app from Adobe to clear out pernicious tracking cookies kinda bad.
If you don't like the idea of paying Adobe money you can use Apache Flex, which is the FOSS version of Adobe's toolchain. That's a command line compiler tool, of course, and it only compiles AS3 files, so you'll still need to author and link graphics separately, and for vector art stuff you'd probably need to find a way to convert SVGs to SWFs, embed them in your main SWF thru some weird class declaration magic in Flex, and deal with the subtle masking problems that would cause.
there are a few open source tools that can create SWFs, but the old adobe tools are the best unfortunately (up until cs6) thankfully those programs are floating around out there
the only thing about flash that really seemed to die was support from adobe (and they had long since stopped caring, good riddance) and the browser plugin itself. all the rest is all still up and going
We still write fresh new AS3 code at $work. All IDEs and tooling are running fine on W10/W11.
- flash plugin bundled into electron, for players with old hardware, ~30% user base
- Flash transpiled into TypeScript transpiled into ES5 JS, with custom runtime based on WebGL
The whole runtime is kinda like Ruffle, but we don't support all Flash capabilities, just what was required to make app running (but it's still a lot of API surface).
What they actually do is they run whole Linux (!!) in VM in webassembly, then they run the officially licensed Adobe Flash player there (and you need a separate license for that from... Harman? as those now own Flash IP).
https://labs.leaningtech.com/cheerpx/for-flash
(I'm not affiliated with them in any way. Just found it interesting one day.)
Yuri talks about CXFF's architecture here:
https://youtu.be/7JUs4c99-mo?t=1045
...but if you wanted full Linux system emulation, we got it! https://webvm.io
Basically it's a "monkey patch" to give you extensions-like capabilities but on mobile devices!
Citation needed. Saying that because Flash was widely touted as a significant contributor to browser crashes.
Though, looking for a citation for that myself just now... all of the search results I'm getting back are just an endless sea of "Flash crashed my browser" type of things instead. :/
---
Using some different search parameters is turning up some results:
* http://web.archive.org/web/20140903235611/https://crash-anal...
* https://wiki.mozilla.org/CrashKill/Flash
* https://wiki.mozilla.org/CrashKill/Flash_Breakdown_Data
There is some talking around the problem on the old Mozilla Blog:
* https://blog.mozilla.org/en/mozilla/firefox-3-6-4-with-crash...
Things being about a decade old is adding further difficulty. :/
This is a page where Firefox developers are discussing how to inject their own crash-reporting code into the sandboxed flash container. I never said that 3rd party plugins didn't occasionally have crashes, so I don't see the point of this link. Can you elaborate?
> https://wiki.mozilla.org/CrashKill/Flash
This lists crashes seen in the Flash module. But again, I never said that 3rd party plugins didn't occasionally have crashes.
> https://wiki.mozilla.org/CrashKill/Flash_Breakdown_Data
This is a documentation page about types of all-cause failures related to Flash, (could be Firefox code issues)
> https://blog.mozilla.org/en/mozilla/firefox-3-6-4-with-crash...
Javascript also has "crash protection" in the form of a sandbox. That's why pages can "crash" without taking down the entire browser. This would also work exactly the same for Flash.
Did you manage to find citations supporting your assertion? :)
Adobe had stopped trying years before Apple officially stopped caring.
Flash died because while it sucked on desktop systems, it was somehow way worse on mobile just as mobile was becoming more important.
The only population that liked flash were: - marketing departments - wanna be game devs and the teenagers that played their games
I for one won't shed a tear for developers and their users that have been screwed over by their garden master. You go for closed proprietary technology because it has certain benefits, so have the consequences too. Same thing also goes to classic ASP, Silverlight, etc. You have one master.
But I can't say I did not enjoy flash games. They had a mini boom around mid to late 2000s with "tower defense" type of games which was excellent. For me it felt a bit back in earlier 90s DOS, you had a lot of well made and unique minigames heavily concentrated on gameplay as opposed to "assets"
Fastly error: unknown domain: blogs.adobe.com. Please check that this domain has
been added to a service.
That's a current live error when trying to go to old blogs.adobe.com articles. The above one is from this url: https://blogs.adobe.com/asset/2012/06/inside-flash-player-pr...I wonder how Ruffle get it working so fast.
or at least, that was the fear at the time so, imagine making a program like gnash, without installing flash
as it turned out, adobe never could actually enforce such a thing, but that didn't stop gnash from absolutely turning into a ghost town
memory is a bit hazy, but thats the gist I got back then
they were so careful, they buried the project, well done
Edit: You can't edit in
> as it turned out, adobe never could actually enforce such a thing,
and not explain it - did the courts change their whole view of reverse engineering or something?
I'm not sure how they got as far as they have in a fraction of the other's time, but they're doing something right. the adoption of it is very noticable. eat shit, Jobs.
There wasn't only memory issues. Flash was also vulnerable to clickjacking for instance. Also, if you do not break the browsers resitrictions, flash is not feature complete (e.g., make cross origin requests and read responses). But if you do support it, you also have the security implications.
Ruffle might ask the user, and let the user deny such requests, allow them once, or allow for a particular combination of domains, and blindly everywhere like Flash would do.
But I am still irrationally bitter that Shumway ended up getting abandoned by Mozilla and that Ruffle took its place, for obvious reasons.
Sure the Web stagnated a decade catching up with 2011, but thanks to Unity, Flutter and Blazor, among others, we're getting there.
Some examples: Age of War, Bloons, Bowman, Charlie the Unicorn, Frog Blender, Impossible Quiz, Interactive Buddy, Line Rider, Madness Interactive, N+, Pandemic 2, Dinorun, Ratmaze, Portal, Red., Snowcraft, Fancy Pants Adventure
I need to dig into some old zip files and see if I still have some of the old downloaded copies of some of games I used to play around
Which is not an emulator, but more of a spiritual successor, following the same API, and with tools to convert Actionscript projects
You'll need to install the Ruffle extension in your browser to view them.
There's a switch in the footer
whole different worlds of not confusing