8 ms·
Ruffle – Flash Emulator – Progress Report
- marcodiego 4y agoPosted a few days ago: https://news.ycombinator.com/item?id=35201729 https://news.ycombinator.com/item?id=35201729
- dang 4y agoYes - sorry it's a bit of a lottery which submission 'wins'. It's still on our list to write software to handle this better someday, i.e. share the credit and the karma.
- jkingsman 4y agoRuffle is truly impressive. It provides the viewer for archive.org and I frequently use it to go play young memories like Motherload [0]. [0] https://archive.org/details/motherload_202210 https://archive.org/details/motherload_202210
- causality0 4y agoYou can also play Super Motherload on Playstation and PC.
- _piif 4y agoPersonally I like Flashpoint [0] which is a webgame preservation project with a very sizable catalogue of archived Flash games from all over the web + a FOSS launcher app with support for all 3 major desktop OSs in one. It doesn't use Ruffle by default but there is an extension [1] implementing support for it. [0] https://bluemaxima.org/flashpoint https://bluemaxima.org/flashpoint [1] https://github.com/colin969/FPL-Ruffle https://github.com/colin969/FPL-Ruffle
- rapiz 4y agoI thought it was some kind of device emulator for people to try on storage algorithms. But I'm more happy to see a long-dead Flash to revive in Rust! The word almost vanished from my dictionary in mind.
- echelon 4y agoFlash was an amazing platform and we should not forget it. We lost incredible capabilities when Adobe abandoned it and Apple signed its death warrant. Moreover, we lost the best authorship tool of its kind. Nothing has ever been as easy to use, easy to deploy, comprehensive in capability, and complete in functionality. Adobe let Flash languish after the purchase of Macromedia. Google hated Flash since they couldn't index it and use it for making money. Flash also competed with YouTube for eyeballs. (In fact, one of my favorite analogies for Flash is to imagine if YouTube was interactive - that was Flash.) Apple hated Flash as it undermined their complete control over their device (no runtimes). Microsoft hated Flash because of the security flaws and how deeply their browser integrated into the host OS. Creators, however, used it to make the best experiences. If you discount the awful splash pages it enabled, the work being done in Flash was leagues above the web games you see today. I wish Adobe had donated it all (editor and runtime) to the w3c as open source. We could have started to iteratively polish it into a standard. Maybe WASM deployables will fill the gap.
- doublerabbit 4y agoWASM welds powerful potential of advancement. However is limited to only those to who actually know what WASM actually is. My mother learned flash at night courses, shes in her seventies and still creates flash galleries of her artwork to take to exhibitions. She wouldn't have a clue on what or even WASM is; nor any stranger in the street for that matter. Flash gave anyone the ability to do anything with its simplicity. Without it, the way of the web has become limited. A great shame, a corporation playground almost.
- echelon 4y agoThat's why it's such a tragic loss! We're still not to a point where we have the same capabilities Flash packaged together, and even if we were, we don't have the easy authorship tools to match. Flash let you deploy a single file. That's unthinkably easy. No hoops. No transpiler builds. Everything about it was so simple. The switch from a web where everyone publishes to a web where Facebook and YouTube dominate also helped kill it. I'm convinced Flash was ahead of its time and because corporations couldn't bank off of it, we murdered it. Flash was amazing and we threw it away.
- doublerabbit 4y agoIf you were to take Ruffle and then create an open source creator, would that lead to trouble with Adobe? As AS2 has been reversed-engineer that means you could create an editor right? Or would you need to branch and make a new "flash" scripting language? The beauty of flash was that even with an install of a plugin, it worked the same everywhere. As Ruffle is an browser extension thats less faff then having to download a binary. I guess what I'm saying is I miss flash and would love to see something rise upon the web again.
- kmeisthax 4y agoAdobe specifically released documentation under the Open Screen Project to counter accusations from Steve Jobs that Flash was a closed platform. The documentation we got is full of missing information, but it constitutes explicit permission to write this sort of thing. Even without that permission, reverse engineering and creating work-alike emulators is specifically allowed by several Ninth Circuit precedents. Google v. Oracle also protects us here, too. The reason for this is that software copyright is very weird. Ownership over interfaces is, depending on what circuit court you listen to, either nonexistent or very very very thin. There really isn't an analogue of this for copyright on creative works[0] so it's hard to explain to nontechnical people. You could use our SWF crate to generate SWFs, but the real meat of Flash/Animate's editor is the animation UI, none of which is part of the SWF spec or player. As far as I'm aware nobody ever made a good FOSS replacement for that. If you just want to program games all the AS3 tooling was released as Free Software by Adobe. Ruffle isn't just a browser extension - that's just a convenient way for users to put it on old pages. Our real value prop is being able to put it onto your own website and have your Flash content just be part of the open web, even on iPhones. [0] Which is why the Google/Oracle lawsuit was full of analogies to filing cabinets and Harry Potter chapter titles. I suppose the closest would be tabletop game rules documents, which are explicitly not copyrightable.
- noduerme 4y agoRuffle used to be based off PixiJS did it not? So this is a whole new implementation in Rust > WASM?
- noduerme 4y agoGosh. It's awesome to see the progress! I was afraid this project would stall at AS2 and never really get very far with AS3. I have such an ungodly number of fun old multiplayer games in AS3 that I'm dying to revive; but a lot of them rely on Matrix3D and Socket, (plus packages like Away3D and Starling)... I'm scared to try yet... I still have a laptop that runs Flash that I haven't let update for the last few years, just to be able to play my own games ;P
- kmeisthax 4y agoAS3 is one of those things where we needed to put in a lot of work just to get basic things working, because the runtime is a hell of a lot stricter[0]. On AS1/2 we could hook up a few basic things and have basic games working. Further complicating things was that a lot of under-the-hood things about frame lifecycle are different, in ways that took a while to fully understand. There's a bunch of work going on with Stage3D that's pretty promising. Socket support on the other hand is probably not happening since the web doesn't allow arbitrary TCP/IP sockets. You'd need to switch to WebSockets for Ruffle clients - fortunately we support `ExternalInterface` so mixing AS3 and HTML5 code is possible. [0] AVM1 has no runtime errors aside from infinite recursion and infinite prototypes. This leads to some absolutely ridiculous consequences even for basic operations, like prototype-less objects sorting differently from ones with prototypes.
- noduerme 4y ago> runtime is a hell of a lot stricter interesting... I always thought of AS3 as compile-time strict, which I miss about it. But I forgot all those additional (verbose) runtime errors... > fortunately we support `ExternalInterface` so mixing AS3 and HTML5 code is possible. Out of curiosity... it makes sense that WASM can't open an arbitrary socket, but couldn't there be a uniform wrapper for flash.net.Socket or NetConnection to talk via WebSocket or AJAX? (NetStream / RTMP seems mostly pointless now, since all those apps are long since dead; but NetConnection at the least is critical...) Not to criticize. The work you've done is fantastic!
- 4y ago
- can3p 4y agoRuffle looks really cool as well as flash and especially flash studio did, since it was a truly simple way to get complex interactions out. I've been even toying with a thought to at least try to prototype a similar tool, but nothing happened so far. One question that I have though in case anyone has insights: how would you imagine a platform like flash to work on mobile? With html it's solved with query expressions and css which solves the problem there - html is not a gaming platform anyway, more like a place to use canvas and webgl on. With vector graphics and timeframes I don't see an easy way to do the same
- JimmyRuska 4y agoMy old interval ear training music theory program finally works, off the demo on their site. https://trainear.com/trainear_binaries/trainear.com.swf https://trainear.com/trainear_binaries/trainear.com.swf The menu is super twitchy on the form data, but it works in default settings. Wow!!
- bitwize 4y agoI will forever be grateful to the Ruffle devs for enabling all the Homestar Runner content to be kept online in its original form: https://homestarrunner.com https://homestarrunner.com
- dang 4y agoRelated: Still Have a Use for Adobe Flash? Ruffle Is Working to Safely Emulate It in Rust - https://news.ycombinator.com/item?id=35196442 https://news.ycombinator.com/item?id=35196442 - March 2023 (60 comments) Ruffle: WebAssembly Flash Player Emulator - https://news.ycombinator.com/item?id=32011842 https://news.ycombinator.com/item?id=32011842 - July 2022 (60 comments) A Flash Player emulator written in Rust - https://news.ycombinator.com/item?id=26033561 https://news.ycombinator.com/item?id=26033561 - Feb 2021 (125 comments) Ruffle – A Flash Player emulator written in Rust - https://news.ycombinator.com/item?id=25242115 https://news.ycombinator.com/item?id=25242115 - Nov 2020 (89 comments) Emulating Flash Player with Rust and WebAssembly - https://news.ycombinator.com/item?id=25164531 https://news.ycombinator.com/item?id=25164531 - Nov 2020 (1 comment) Ruffle – An Adobe Flash Player Written in Rust Compiled to WebAssembly - https://news.ycombinator.com/item?id=20728019 https://news.ycombinator.com/item?id=20728019 - Aug 2019 (70 comments)
- somishere 4y agoAmazing work going on here. Big thanks to the Ruffle team - runs most of my AS2 memories effortlessly along with some AS3 (seems to fall over for me with side loaded assets). Just FYI if anyone is impatient and in need of an "unsafe" way to run flash with AS3, etc. you can still download a developer edition of flash player for Mac/PC via Wayback .. warts and all.
- ClapperHeid 4y agoWow! --there's a lot of rose-tinted spectacles going on in this comment thread! Flash was a security nightmare, acessibility crippled, non-searchable, flashing bleeping abomination. Maybe it wouldn't have been so bad if people had just stuck to making games and animations with it.
- chall3ng3r 4y agoWow, almost perfectly played my Corner Flag Rock app for EuroCup 2008. https://orison.biz/demo/cfr/ https://orison.biz/demo/cfr/ Only last complete dance messed up, rest of the app works (without using custom image as uploading script and DB is not there anymore)