HaxeFoundation / haxe

Haxe - The Cross-Platform Toolkit
https://haxe.org
6.19k stars 656 forks source link

Re: removing flash in Haxe 5 #11191

Closed 0b1kn00b closed 12 months ago

0b1kn00b commented 1 year ago

I think ruffle is going to make it, there's a thriving community there.

https://ruffle.rs/demo/

back2dos commented 1 year ago

A few problems here:

  1. Getting FlashPlayer to work in CIs is increasingly difficult.
  2. AVM2 support (which is what we really need) is at 60% at the time of writing, according to the ruffle homepage, so it's unclear whether Ruffle would make for a suitable replacement
  3. Ruffle primarily aims at conserving the wealth of existing content built for FlashPlayer. I find it doubtful that people will start new projects explicitly targetting Ruffle, in particular because the platform is stuck. The eco system around Flash is not being updated anymore. Installing existing tools becomes increasingly challenging. At the same time, other platforms have thriving eco systems.

To my knowledge, there are still quite a few AIR based projects alive and kicking, and there's commercial support for AIR. I have no idea how many Haxe users that comprises and how many of those would really be affected by being stuck with Haxe 4.

I think the compiler team would be much more open to dragging along the FlashPlayer target, if the CI situation were solved.

As an alternative I could imagine this becoming a community thing, via one of two paths:

  1. leverage the recent work on custom targets, although that may impact generation time considerably
  2. make hxb a thing and then tie in a jvm/hxcpp based tool to go from hxb to swf/swc/etc.
tobil4sk commented 1 year ago

Getting FlashPlayer to work in CIs is increasingly difficult.

Flash CI has always been a bit finicky because it was not really designed for cli usage, but in Haxe's CI the actual flash part is pretty stable now. Recently there were some weird download failures, but that was an issue with eval, not flash. That being said, IF ruffle could run our unit tests (which it cannot for now), there would be potential for an easier testing setup, and we could avoid using the EOL flash player. Haxe's unit tests could probably be a useful testing ground for ruffle for improving compatibility with Haxe-generated swf games.

Either way, I don't think the CI difficulties are the main reason why flash is planned for removal.

nanjizal commented 1 year ago

https://awayfl.org/ offers better avm2 support than ruffles and is sponsored to improve.

joshtynjala posted linux flash player link on openfl discord, it seems to run haxe flash on pop_os for me. https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux_debug.x86_64.tar.gz

I think haxe feathers aims to support AIR, and feathers is active project creating interest in haxe. There seems one AAA games company still using scaleform saw a recent job ad in Scotland, I am not sure what AIR apps on iphone are still current but expect there maybe still a lot.

Historically there has been a lot of negativity to the flash graphics tool and player, but I do believe flash is becoming a reto platform, like old computers. If it is easy to keep supporting then I do feel that the retro aspect of flash will only keep growing as the comercial side dissappears.

For latest Animate you have to have a Harman AIR licences so for retro developers trying to emulate the flash player in the future, adobe is dissappearing as really an option for generating content.. Flash through it's neglect - is becoming purely an open tech!

For creatives at the time flash was amazing. Even now it is really hard to do 2D vector graphics with WebGL or GL generally, I know Shapes on Unity and Slug C++ library are good but they are closed, there are some interesting progress in Rust community, but flash tech remains powerful beyond it's time in a few unusual ways. Unity currently hold the role where designers and creatives can mix, as in flash day but it is far from as good at integrating the designers and coders. Flash had many fault but it was ahead of it's time.

Flash seems the largest inspiration of where haxe evolved from so it would be sad to see it go, and hxflixel seems one place where the next generation make thier first steps into graphics and code, being perhaps the easiest newbie game tool that haxe currently offers. It would be nice if they can use ruffles or awayfl to play swf versions, not tested but awayfl maybe faster and have better filter support in the browser than openfl?

Having said that I do believe with the loss of flash target to OpenFL would allow cleaning the current code base significantly, perhaps even reinvent something much faster than stage3d, I am not sure that haxe code base would improve much with removal of flash as it has been refactored long ago and does not impact the general code base. I gather that Hugh may still have flash support in NME and swf format support but only actively supports or progress with Cppia/C++.

I think less is gained by Haxe lossing flash and once it's lost it will become much harder to ever get back, but really it depends on what Haxe5 offers, if something like a Rust target was implemented then if loosing flash made that easier then great, but feel reality is that haxe mostly only looses by removing flash target as it is closing the door on one of the stable targets ( ignoreing some unusual issues ).

Removing flash from haxe will not make haxe more popular it will largely have little effect on popularity and any announcement will probably not even make a dent on the tech world, it is better to keep if the cost is low?

barisyild commented 1 year ago

All I know about flash target, it is that it is very useful for testing similarity of behavior in OpenFL.

Simn commented 12 months ago

I'm not sure why this is being discussed. I don't think I had planned to remove the Flash target for Haxe 5 because it doesn't usually bother me. If I said something to the contrary, I likely didn't mean it!

However, one thing I'll definitely just delete is support for @:font.

Simn commented 12 months ago

I just noticed that I did talk about Flash target removal in this change: https://github.com/HaxeFoundation/haxe/commit/fde0fe5cac8158da768ace4ee05553e125725a37

So maybe I wanted to remove it, I don't remember. I suppose the decision will be made shortly before Haxe 5.

lvyitian commented 9 months ago

https://awayfl.org/ offers better avm2 support than ruffles and is sponsored to improve.

joshtynjala posted linux flash player link on openfl discord, it seems to run haxe flash on pop_os for me. https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux_debug.x86_64.tar.gz

I think haxe feathers aims to support AIR, and feathers is active project creating interest in haxe. There seems one AAA games company still using scaleform saw a recent job ad in Scotland, I am not sure what AIR apps on iphone are still current but expect there maybe still a lot.

Historically there has been a lot of negativity to the flash graphics tool and player, but I do believe flash is becoming a reto platform, like old computers. If it is easy to keep supporting then I do feel that the retro aspect of flash will only keep growing as the comercial side dissappears.

For latest Animate you have to have a Harman AIR licences so for retro developers trying to emulate the flash player in the future, adobe is dissappearing as really an option for generating content.. Flash through it's neglect - is becoming purely an open tech!

For creatives at the time flash was amazing. Even now it is really hard to do 2D vector graphics with WebGL or GL generally, I know Shapes on Unity and Slug C++ library are good but they are closed, there are some interesting progress in Rust community, but flash tech remains powerful beyond it's time in a few unusual ways. Unity currently hold the role where designers and creatives can mix, as in flash day but it is far from as good at integrating the designers and coders. Flash had many fault but it was ahead of it's time.

Flash seems the largest inspiration of where haxe evolved from so it would be sad to see it go, and hxflixel seems one place where the next generation make thier first steps into graphics and code, being perhaps the easiest newbie game tool that haxe currently offers. It would be nice if they can use ruffles or awayfl to play swf versions, not tested but awayfl maybe faster and have better filter support in the browser than openfl?

Having said that I do believe with the loss of flash target to OpenFL would allow cleaning the current code base significantly, perhaps even reinvent something much faster than stage3d, I am not sure that haxe code base would improve much with removal of flash as it has been refactored long ago and does not impact the general code base. I gather that Hugh may still have flash support in NME and swf format support but only actively supports or progress with Cppia/C++.

I think less is gained by Haxe lossing flash and once it's lost it will become much harder to ever get back, but really it depends on what Haxe5 offers, if something like a Rust target was implemented then if loosing flash made that easier then great, but feel reality is that haxe mostly only looses by removing flash target as it is closing the door on one of the stable targets ( ignoreing some unusual issues ).

Removing flash from haxe will not make haxe more popular it will largely have little effect on popularity and any announcement will probably not even make a dent on the tech world, it is better to keep if the cost is low?

@nanjizal No, ruffle has better support on both avm1 and avm2, and ruffle has many sponsors too, the difference is that awayfl focuses on bringing back flash content by cooperating with flash content authors to let them modify their works to make them working instead of reimplementing flash features that it lacks. Ruffle, on the contrary, tries to reimplement as much flash features as possible. The reason why CoolMathGames chose AwayFL is that it currently works better on low-end devices.