Why can't you do that on Canvas or WebGL today? Honest question. CreateJS is basically all of the tools that were available in Flash, including Tweening, Sounds, preloading assets, and a library for manipulating the canvas. You can even use Adobe Animate and export directly to CreateJS.
What are we missing from the Flash days? The GUI? Is the GUI the main thing that devs are missing to provide these experiences in HTML5? Because the tech is definitely there.
> What are we missing from the Flash days? The GUI?
This isn't so much a problem for developers but the true beauty of Flash was kids went on Kongregate, Newgrounds etc watched Flash animations and played Flash games then got interested in learning how to make them themselves.
They (lets be honest here) the pirated Flash and even a 12 year old would be able to open that interface and make a little animation in it. Now here's the real magic because the second you need to do anything more advanced like pause your animation or loop it you actually need to write a little bit of code.
The real thing we lost with Flash wasn't the technology because canvas and webgl are absolutely superior now, it was the onramp to shipping games and animation content from young creators and the clear path to doing so.
Make a little game, export a SWF, share it with your friends, upload it to a website. You can't even upload something to an app store without having a credit card, paying $99 in some cases and entering legal contracts.
That is a fair question! The tech, as you put it, is definitely fundamentally there today.
I think a big issue is indeed the missing GUI, and the sense of solidity it provided. Flash Pro likely empowered its users more than most people think— its familiar tools lowered the barrier to entry and helped folks collaborate. Its animation paradigm was fantastic, and offered a large degree of control. Most modern offerings built on web tech are much more... fiddly. And none of them have a Newgrounds or Kongregate built around them.
Also! Remember when Flash added support for mobile devices (and later HTML5), and we suddenly had to worry about texture atlases, and had to go through our scene graphs, specifying which graphics' motions could be migrated to "cacheAsBitmapMatrix"? And how all our art suddenly looked a bit JPEGgier?
That was kind of a watershed moment. All us Flash creators suddenly realized that the software renderer that served us so well had no equivalent we could pivot to in 2009, and all available options led to clear visual degradation. We set the bar so low, few of us ever bothered to try, and while the tech has improved significantly in the intervening decade, no toolmaker has tried to exceed those expectations. (three.js is an exception, because prior to its debut the barrier for entry for 3D web content was pretty high.)
While I'm rambling about the tech side of things, I think one additional source of friction nowadays is, if I make a game in CreateJS and TypeScript, and you make a game in Phaser and vanilla JS, and my friend makes a game in OpenFL and Haxe, well, we can't exactly collaborate.
Who cares? Flash veterans, I'm willing to bet! Consider the "tween wars" of the early 2000s. Every Flash dev I knew debated the merits of all those 3rd-party AS3 animation libraries. We didn't want twenty (and there WERE twenty), we wanted one! The same folks see Flash's replacements as another bunch of frameworks to have to have long boring conversations about— except now, they're entrusted with the full burden of representing and rendering our interactive scene graphs.
There's also something to be said about fostering creator-focused communities around these technologies, but I'm out of breath.
I've been away from the flash game business for awhile but was missing maybe 5 years ago (and may still be missing) is a single package file containing everything that can be distributed for an HTML5 game. Like an SWF.
> single package file containing everything that can be distributed for an HTML5 game. Like an SWF.
That's not necessarily an unqualified advantage. I'll say this for HTML5 and having multiple files: you can easily choose what to load and when, which means if you're smart you can load your game very quickly by prioritising only the most essential assets and degrading gracefully until the rest of loaded in the background. This means that people don't have to wait to start playing.
It is more work to do this, although not as much as you might imagine (particularly for sounds and music), but I'd say worth it.
I don't really know Flash - had very limited exposure to it about 17 or 18 years ago - so it's entirely possible similar mechanisms might have existed that I just don't know about.
You can also easily package up your game into a single file for deployment on mobile devices using something like Cordova, which basically just zips everything up.
What are we missing from the Flash days? The GUI? Is the GUI the main thing that devs are missing to provide these experiences in HTML5? Because the tech is definitely there.
See: https://www.createjs.com/ And an example indie game built in CreateJS: https://donnyfromgordoncity.itch.io/gordon-city