New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New Flash/AS3 -> WASM Attempt Announced #102
Comments
Please just create a pull request with edited readme, thanks! |
@pakastin Sure I will do that, Was hoping to also open up some sort of discussion as well about what people think of this. I found AJC by accident since I obsessively Google where Flash currently stands on a regular basis, so this is an extremely new project that has been under wraps for the past several months. |
excellent! I just received an email about it (thanks Cleod9) |
That is cool! 🤘😎 |
I'm still skeptical of WASM, myself. Sounds promising, but seems already it's being basically ignored by the people that effectively make the rules of the internet. Last major milestone I heard from them is cross-browser consensus... alright, now what? Also, I personally don't like the proposed text format, the last time I saw it. Very unappealing. Regardless, neat to hear of projects like this! |
(Thanks @pakastin for updating the readme, i was about to finally make a PR this morning 😅 ) @Brian151 Yeah I've also been skeptical of WASM for exactly that reason, but I do think it has the potential to make the web a more appropriate target for games and rich interactive content if given some love. Since the majority of web devs don't have a need for this kind of rich content that leaves it up to ex-Flash devs and game engine developers (e.g. Unity's WebGL target) to push for it. Also I just noticed my Smash Flash project is actually in the readme as well, I feel honored! :D |
@Brian151 it seems that major software companies started to adapt their software with wasm |
@Cleod9 congratz on that! @ROBERT-MCDOWELL |
@Cleod9, they still are building the spec, so I think the best creative and useful idea would be accepted there... but from what I understood wasm would not be done to directly code on it because of the pseudo assembly language which is not really easy to read, but rather as a final format after conversion. Also there is apache royale working on it. |
@ROBERT-MCDOWELL From what I gather, you're talking to me, right? TBH, I'm disappointed how the icon works-out. It's so bland, and it honestly needs context to be understood... I do recall the official WASM site mentioning the idea people might want to write it directly. How many people actually will? hard to say. Besides they want a view source option. The current text format is kinda ambiguous and honestly not well explained. If the goal is to at least have the ability to understand a compiled WASM module, they failed... I challenge the readability statement. Hope that makes sense? |
Sorry I forgot to add your name for the follow up. I think it would be worth to copy/paste your comment directly to the webassembly git repo, it seems you are well experienced on it and for sure if they don't have any logical answer about the choice they are making so something is wrong. I agree with you that if a text format must be adopted so more it will be easy to understand better it will be, if not what's the reason to create a text format? An assembly developer from Japan complained about it some months ago, but they just answered vaguely. |
@ROBERT-MCDOWELL Although, if they basically over-looked input from that type of individual, I can't say it sounds promising... |
@Brian151, as always isn't it? ;) development never been a question of Ego, those who think that their ideas are better than other is not what is called open source community, and if then they just ignore it, so it sounds wrong for sure. there are plenty of git projects claiming to be open source as long as you are just a pleb dev working for free (i.e. bitcoin git). |
@ROBERT-MCDOWELL github is owned by google? Didn't realize that! Honestly, I'd like to see some native code translations. |
No, Robert is just spreading misinformation here. |
@toolforger According to https://equityzen.com/trending/github/ Investor Track Record let's say github is owned by the whole W3C club by proxy.... |
Nah, it's just investment capital companies that happen to invest in the whole industry. Overlap is to be expected. |
--- Nah, it's just investment capital companies |
Could you kindly stay on-topic, thanks! 🙏 |
well, you like or not, it's absolutely not off topic |
This topic should have been about the AJC project. If you want to discuss code licenses and "behind-the-scene interests", I recommend you:
Every single issue on this repo discusses Flash, it does not mean that every issue should discuss the same thing. |
--- demurgos |
@ROBERT-MCDOWELL Just a reminder that we're all on the same side here! 🙂 I don't think anyone would even find this repo if they weren't remotely interested in preserving flash. I'm saddened and angered what's happening with Flash too, but the most productive thing we can do now is spread awareness about these projects as they come up. Speaking of, does anyone know how to get in touch with Jason Huang, the creator of AJC? He seems to have gone silent since the new year, which doesn't look good for its momentum. |
@toolforger @toolforger @ROBERT-MCDOWELL @pakastin @ROBERT-MCDOWELL @demurgos @Cleod9 Now, with all that said, I hope to see future discussions here actually be relevant to the WASM thing |
Me too. |
Without any kind of knowledge transfer it would be pretty difficult to take over a project like that. Perhaps Jason is just waiting specifically on a response from Adobe before he jumps back into the conversation. Either that or he is just on vacation, or too busy with other projects... |
@Cleod9 |
@Cleod9 seems like the example links is broken, is there any progress with this plugin? Anyone heard from @JasonHuang3D? Found a fork here for everyone interested: https://github.com/shanewfx/AJC-Flash-WebAssembly-Examples |
@Sandstedt Sadly there is no progress... You would have to speak with Jason directly for details but what I can say is that he is no longer involved in that project, and I am not sure of its current state. |
Sorry, the original AJC project has been suspended for some reasons. I will be contributing to emscripten repo, mainly focusing on embind, and hopefully writing an As3 to wasm compiler which is similar with the solution for TS-> Assembly script-> wasm. |
Thanks for the answer @JasonHuang3D! Sad to hear about the cancelation of the AJC project, but exciting with the emscripten As3 compiler. Would be a wonderful contribution to be able to both continue working with the tools many of us is used to work with for years, and also be able to let old flash-projects continue to live in the future without Adobe's involvement. |
Here we are in 2020 and WASM is very promising, more and more languages have made efforts to be able to compile in WebAssembly. Hopefully AS3-WASM does not become an unicorn.. |
Another promising Flash emulator project to check out is Ruffle, which is also using WebAssembly. Ruffle: https://github.com/ruffle-rs/ruffle There's even a PR to include it into this repo: #127 |
@hako, thanks for the info! I went to see .. I am a little sad to see that 2 similar projects exist. Why did the efforts not focus on a single work? Because of the language used? An emulator, so a player, right? the ideal would be to be able to compile directly in webassembly from source code AS3> WASM and that FlashDevelop can target it. I read Ruffle's roadmap I knew Alchemy, I had built an installer that I had published on the French FlashXpress site. Then tests in AGAL (assembler for GPU). I see that there are more collaborators for Ruffle project, I will see to force the project. The ideal would be to have support from Adobe or Mozilla fondation which already has FLEX. |
Ruffle is still nowhere with AS3, he is still developing the AVM1 for AS1 and 2. |
AVM is probably the hardest part of any full flash player to get right. To me, it kinda makes sense to maintain a branch/module for every individual version of that language/VM. Not sure how the official flash player works, but it's personally what I'd do. Also, I'm pretty sure shumway didn't have AS3 before mozilla canned it. AS3 is more complicated than the previous dialects. And I'd hate to think what's needed to optimize an AS3 virtual machine running in the browser's js engine! on compiling AS3 code directly to web assembly, this is more or less how i plan to use the flash format in the future, to have the code compiled to something platform-specific and not even have a VM at all. the similar projects is a side effect of us not being a coherent group. we're all in this for our own reasons, and we all have our own ideas of how to do things. i wouldn't say this is bad until it delays/stops progress. i don't think that's what's happening here, though. most of us are busy, and this is an extremely involved project to spend time on. For me, the commitments I would make are related to the asset formats and the preservation/resurrections of content I specifically care about. AS just isn't as important to me, and I don't expect that I would do a good job of implementing it, either. Despite not having a specific focus or tools/language, most of us are willing to collaborate, and to share our findings. [Also, even despite the internet, it's still possible for people to discover this project for the first time TODAY, after already making efforts towards their own solutions. ] sad to hear jason has folded... |
At the end of the day, wouldn't it be easier to transpose an AS3 source code into another, like OpenFL or C # (blazor) or TypeScrip, then compile it to WASM or HTML5 Canvas. ? For the SWF without source code, there are reverse engineering softwares like Sothink or AS3 sourcerer. I know, it's strage, but why not? And It would allow lovers of AS3 like me, to continue to use this language / Framework: D |
just compiling straight to web assembly would make more sense if that were the end goal. transcription/transpilation also still involves the more complicated parts of compiling, anyways, like parsing/lexing the source code. it might actually be slightly more feasible to JIT re-compile the bytecode, but even that has its problems. some flash games/applications use obfuscation, so recovering the source is not always viable. even then, people seem to gravely under-estimate how much work and how difficult this kind of process really is. re-doing the AVM in web assembly actually isn't too bad. and WASM is typically compiled from C++ or similar, anyways. |
Newgrounds has its own flash player that you can launch from within the web browser! The ads still work and all! I wonder if all other flash websites will follow this method. |
@tsunamicoding , I went to see, I don't see anything related to flash or SWF in the code, nor in the JS files that I opened, they use Players JS (https://videojs.com/) and for games it's Unity 3D, so JS also at final. |
@Alama32 and as for JS files, release code usually is minimized/obfuscated. you may or may not be able to find anything generally without spending a sickeningly long time reverse-engineering it. sad to say, i know just how true this statement is, having tried it a few times... T-T |
Just thought I'd share this new effort revealed in 2018 by a small team to create a plugin-free, WebAssembly-powered Flash Player!
Repo: https://github.com/JasonHuang3D/AJC-Flash-WebAssembly-Examples
Thread to Adobe: https://forums.adobe.com/thread/2432179
This looks very promising as it has some working demos, and the developers seem determined to complete the project (though could use some assistance). Most notably the project makes use of the FalconJX compiler to preserve 1:1 AS3 support, and they are currently building out their own WASM runtime for interpreting an AJC-based project. It may even be possible to address their needs on the Flash API runtime via some of OpenFLs efforts.
I think we should add this to the Readme, and start to open up a discussion. Let's spread the word!
The text was updated successfully, but these errors were encountered: