One thing Flash had that nothing else has really seemed to replicate as well since, is an environment that both coders and artists could use. I'd collaborate with an artist, they'd make their animations within an FLA, send it to me, and then I'd copy+paste into the project file, and it'd just work. I could even tweak their animations if need be to remove a frame here or there to tighten the animations and make it feel more fluid, etc.
That being said, I'm not sure I could go back to it now. I've been working with Love2D lately, and I prefer that (especially for the version control). FLA version control was always me going 'GameName-1.fla', 'GameName-2.fla', or when I got a little smarter 'GameName-Date.fla'. Eventually they let you split out the actionscript files into its own files, and that was better for version control, but you still had the binary mess of the FLA file.
But all these sprite-based game editors just can't handle the crazy intricate animations that vector-based Flash games could handle. Porting one of my old games (Clock Legends) that had hundreds of frames of hand drawn animation for a boss that filled the screen would be ridiculously huge nowadays, but the FLA for that was like 23MB, I believe (I'll need to hunt it down, I have it somewhere), and several MB of that were for the songs in the game.
Excited for this project though. It deserves to come back in some form.
I remember trying to produce a Flash renderer in C# when we wrote DudeFactory to render out the characters after you used the Flash app to put all their clothes and accessories on. I think we cheated in the end and pre-rendered large PNGs of them all and used .NET to just layer them all with instructions sent from Flash.
This sounds like a "is there anything you can do in C++ or Javascript that you couldn't do in Brainfuck?".
Flash was a complete authoring environment. Yes, you can replicste the output in JS+CSS (or more likely JS+Canvas/WebGL/WebGPU), but at what cost and with how much effort?
probably not. The only difference is that it'd be build once display everywhere. Flash meant that everything looked the same regardless of browser or platform.
Its a lot better nowadays, but its not as easy as flash was.
The _key_ thing thats missing is the flash IDE/designer. There are no compelling editors/environments that allows both artists and coders to work in the same space.
Sure I can use Illustrator to make graphics, but there are no animation systems out there that allow me to animate well (I can render a unity app to HTML/JS but thats not quite the same)
You can turn the curves into polygons, or render them to textures. Ruffle, I recall, makes everything polygons (so it's a little chunky if you zoom in?), and Super Meat Boy rendered everything to textures.
I'm not sure what the actual flash player did, which seems to have pretty decent performance relative to Ruffle in my testing.
Maybe they have some proprietary technique for rendering curves quickly on a GPU? (I read a paper on rendering curves, and there's OpenVG, which I think came later and nobody uses?)
This has more or less been the line from the day Steve Jobs decided Flash would never be available on the iPhone. And it was readily apparent that no one who said that worked in the audio domain. Things are much, much better now, but I remember challenging myself by trying to build a drum machine in HTML, Javascript, and CSS (not wanting to muck about in Canvas at the time) and while I could make it look decent enough, there was no such thing as a solid, reliable clock in Javascript, for about a decade. Just the way you played audio files back varied from browser to browser on the same machine. It was absolute garbage.
In-browser capabilities have basically caught up or exceeded what Flash did - I don't keep up anymore - but to echo other replies, the authoring tools just aren't as accessible. Maybe vibe coding tools close that gap. But the forced sunsetting of Flash set online interactive multimedia back at least a decade. It was never my main career path, but I more or less abandoned that fun side quest, and as evidenced by my feeling the need to comment here, it still kind of bums me out.
For artists, SVG is probably the worst vector format imaginable. In fact, I'd say any project that uses SVG as backend is doomed to fail with artists. It's pretty much a red flag at this point that if "supports vector" means "support SVG" they're doing it wrong and just chose the easiest to implement vector graphics because you probably have a billion open source SVG libraries at this point instead of rolling their own proprietary vector rendering algorithm that actually improves the artists' workflow.
To answer your question, the important thing about Flash wasn't the vector rendering but the vector art authoring tools. You could make Inkscape work like Flash, but nobody has done that yet. All you need is a brush tool that automatically does union of shapes of same color and subtraction of shapes of different color so the whole layer is always "flattened" with no shapes overlapping. This is the sort of thing that made Flash exceedingly easy to use for artists. It was a vector art program that worked exactly the same way as a raster digital art program. It thought of vectors not as shapes that the program was going to render but as paint strokes on a canvas.
If you were building a vector art software today you probably would want all sorts of things that SVG doesn't provide, e.g. line art with varying thickness based on tablet pressure (although Flash didn't need this, since you could draw shapes instead of strokes). You might also want to take a look at OpenToonz' vector implementation, which has "fills" that automatically expand when you change the enclosing strokes and an indexed color palette system, and CSP's line art vectors that let you use textured raster brushes with settings like dab scattering in vector strokes.
By the way, I also believe the idea that HTML5 could replace Flash games was insanely stupid. Anyone could make a Flash game and deploy it to web browsers in one click. Do that in HTML? With Javascript? Which means you need to download all these images/audio from the Internet? You want to play it locally? CORS issues, baby! Now you need to turn this mess into an electron app or use the most disgusting build step imaginable to turn whole jpegs into a base64 strings so you can create a single HTML file that is several megabytes. How did the entire world convince themselves that this was an actual replacement of Flash's functionality is honestly beyond me. For Flash websites, sure, you have <video> now, but for everything else that Flash provided there has never been a proper replacement (at least until Godot/Unity started WASM'ing, but that was a long time after).
The ease at which Flash CSx would just let you draw a circle in a spot, then click on it to get its script file and immediately add a little bit of behavior is magic for prototyping
Edit: but of course, the standalone variant should work for non-game animations as well!
Maybe Rive fits this well enough? (Not affiliated, just looked into it at a time from a render engine perspective)
I was pretty proud of a solution where we could feed a web CMS that had a flash and a html version with the same editable text fields. IIRC you could grab the input of some fields from a text file and Flash didn't care where these came from, so on save the CMS just spit out a bunch of text files in a folder. That must have been around 2001.
Better to go the route of doing Spine2D animations then leverage a real game engine like Godot or Unity and load the animations there.
But then you're essentially back to "traditional game development" which is very different from what you could do with Macromedia's Flash back in the day.
We built a dedicated cluster in a colocation center in Bucharest to handle all of this. Had issues with max floor weights and what not. Then had to upgrade the RAM on on the cluster. No remote hands. Every operation was a trip to a really cold place.
Used a lot of early stage stuff like Nutch, Hadoop, HBase etc. Everything was then processed and dumped to an SQL database with a nice UI on top. It took a few weeks to set it up, then we passed it to a team of interns that built the SQL database and UI on top. They learned a ton of stuff. Some are now in the Bay Area.
The tool uncovered a ton of security issues.
It was fun building it. I wonder if Adobe kept the data. It could be useful and/or good donation for the Computer History Museum.
But everyone's in an AWS world right now.
This said, it was always cool when we could control the entire stack, but the reality was that once we scaled things up, we had to throw things over the fence to IT, DevOps, SRE and whatever name evolutions there were and the reality is AWS/GCE/Azure made things easier than dealing with these teams internally.
But once I started processing the data, it became a thing and we made a small cross-team team to get this going. We eventually expanded the effort in a few different directions and wanted to do a Flash analytics, but ended up with the internal tool only due to privacy concerns.
I've said it a million times, but I stand by Flash being the most fun development environment ever made.
Being able to draw your cartoons, make them a movie clip, export to code, edit things around without having to re-count all the frames, built in hit-detection, etc. It's a blast to write software for Flash, and I am not sure I've ever had more fun than being a teenager developing Flash games in my bedroom with a pirated copy of Flash MX 2004 Pro (or was it Flash 8? I can't remember).
Now, I'll admit that part of that was because I was a teenager at the time, and programming was still a cool novel thing to me, but I do think that the platform was uniquely fun and interactive, and I have been chasing that high for awhile without being able to find something to fully replace it. Stuff like Construct and GameMaker and stuff are pretty cool and fun, but they still don't really hit the same for me that Flash did.
If we can have a new Flash, I will be very happy.
If they had done that, then it could have been incorporated into the web standards (or at least something somewhat inspired by it). Instead it took like 10+ years for web standards to catch up, Flash Player got crappier and crappier and eventually murdered in 2020.
If they had FOSS'd it, Adobe could still be the de facto leader of web-authoring tech.
I hated flash only for their video player being so widespread despite immediately redlining my Mac’s cpu and holding it there during the entire experience.
(Okay also security issues, but that was more like adding the ammunition to getting rid of the video player)
Early on, I saw my colleagues working in Flash but didn’t notice anything that interested me. I don’t quite remember the exact chain of events, but I think it all started when I saw a friend writing code called “ASfunction” inside Flash, “What? You can write code to make the drawings do stuff?”
So, that was the magic; I can code and see things happen in real-time (no compilation, no render). And that was the only thing I did for quite a while.
Unfortunately, the Flash IDE was a sloth. I spend most of my time writing ActionScript in TextPad and compiling it with a CLI called MTASC (from the same developer behind HAXE.org).[1] If memory serves me well, I used to maintain the ActionScript syntax for TextPad.[2]
1. https://brajeshwar.com/2005/haxe-programming-language/
2. https://brajeshwar.com/2002/textpad-syntax-file-for-asmx/
But in the process I learned about ActionScript and found I had a lot of fun coding things and playing with different programming constructs.
I keep meaning to try out haxe, it looks neat enough, but to me it's still kind of missing half of what I liked about Flash, which was the animation tooling.
Now I do agree that even something like Unity or PlayCanvas fail short of Flash's game development experience, because the browser debugging for 2D and 3D development sucks.
At least of the stuff I have used, Flash is the most fun. Admittedly I never really got into any other kind of graphics-first development like VisualBasic and the like. Flash just spoke to me for some reason.
This is an under-appreciated aspect of Flash's popularity, and probably a reason why Animate didn't have the same appeal. A kid could get a "free" cracked copy and make fun things.... and maybe not help Adobe/Macromedia's bottom-line, it DID help the general ecosystem.
Rive seems fine, but monthly subscriptions need to die in a fire. I'm not going to pay $10/month to allow me to build some stupid animation idea I have every few months. There are a few, like GameMaker, that do one-time pricing... but even that doesn't scratch the same itch Flash did for me.
The worst thing about tech is people who don't know any better get advertised tools that aren't sustainable and aren't suited to the job. If someone sees a flash game and says "WOW! that's so cool I wanna do that", then I don't have problem with it. But if people want to learn a language and are handed an SRS app, or want to make a unique game and are told to use an engine that's when it becomes harmful (and in many cases viral due to network effects)
I think Flash was fun to develop in. It was easy and fun to write a game in it and it was something a lot more approachable and easier to distribute than trying to cobble together something with OpenGL or DirectX.
Also, I think a lot of the games on Flash actually are fun. I played through Mystery of Time and Space a few months ago and it still holds up. The puzzles are clever, the jokes are funny, the art is likeable, it's a good game.
But what I liked about Flash was that, because it was so approachable, there was a lot of creativity to stuff. A lot of the games weren't good in any kind of "objective" sense, but there was at least a distinct lack of cynicism with a lot of them. The people who made the games weren't doing it for money, they were doing it because they thought it would be cool to make a game. Some games, like Pico's School for example, were unlike basically anything that had come before it. Is Pico's School a masterpiece of game design? Nah, but it's certainly unique, and it was something that could be played on pretty much anyone's computer.
The backwards compatibility here is pretty clutch. I agree -- if he can build something that is compatible with old files AND pushes things forward for new, then this could do some really awesome stuff.
It's been quite awhile since I've written ActionScript [1], but I remember when I wrote it I didn't write it significantly differently than C#. You still have similar Java-style OOP semantics with types that I think wouldn't be too hard to map into C#, especially if you're willing to be dirty and use reflection.
[1] Gah, has it really been almost fourteen years? Time is stupid.
A whole generation of people learned how to create art, games, music, animations, using flash, and the same kind of tool hasn't existed since then.
I think Minecraft and Roblox replaced flash for the new generations.
I can still run Flash MX 2004 via Wine and play with that there, so it's not "lost media" or anything, but what I want is something as close to Flash as possible, that runs on Linux, and gets regular updates, and that doesn't require I subscribe to it for forever.
I have a perpetual license to ToonBoom (that I bought when they were still doing perpetual licenses), and ToonBoom is very cool software, but it's purely an animation software. I also have a license to Scirra Construct 2, and that's pretty neat as well, but in my mind that's basically a game engine. Flash was this cool, weird hybrid of both a game engine and artistic software that I haven't found a good replacement for.
With Flash, you could make a cartoon without touching ActionScript. It was designed around animation. If you wanted to extend the cartoon you could then add code, piecemeal, and if you wanted to make a full game then you could make a full game. It was great.
I think this is the biggest shift. Minecraft starting out as a .jar file allowed for reverse engineering and modding support became a huge part of its "culture". Coupled with artists focusing on spritesheets, you got to have that same Newgrounds online underground scene but for the next generation of kids.
Roblox is takes a similar place now that Minecraft is ~15 years old and all "grown up". Maybe once Roblox hits that similar fate this new Flash will be ready to fill its shoes.
The main things that jump out are the inconsistency in writing style (sometimes doing all lowercase and no punctuation) but then the brief rundown is all perfect spelling and grammar with em-dashes.
The "Not just" parts stick out like "Not just play them back — edit them" as well as "This isn’t a proof of concept or a weekend project. It’s a real authoring environment."
Anyway, best of luck to the author with their project!
The big one it missed: the headers are mostly "The [Noun:0.9|Adjective:0.1] [Noun]". LLMs (maybe just Claude?) love these. Every heading sounds like it could be a Robert Ludlum novel (The Listicle Instinct, The Empathy Performance, The Prometheus Deception).
This is hilarious.
If you look at the icons of the tools in the image they appear to have been generated using a LLM. So yeah it's probably vibecoded a lot, it would be cool if the author reports how much and how it was used but I don't think newgrounds would like it much.
There were some really cool Flash tools in the works around then. Some internal developers had gotten some version of Flash Alchemy to run Doom in the browser. There was a lot of work going on to add proper GPU integration into the platform. I got to see some cool prototypes. Ultimately though, my timing was poor. This was right around when Steve Jobs decided that the iPhone shouldn't run Flash. The internal lore/rumor mill was that some PM had missed Steve Jobs reporting crashes in Safari enough times that Jobs was just DONE with Flash and had decided to kill it on his platform. I have no idea how true that was.
There was a mad scramble at Adobe to try to figure out how to keep Flash running on the iPhone. The AIR team was actively looking into reverse engineering solutions so they could essentially deploy Flash apps that didn't look like they were written in Flash. They tried to rally the community with a "We <3 Flash" campaign. It didn't matter. Flash was taken off the iPhone and Adobe made the call to give up. In 2009 after a few waves of 2008 recession cuts they slashed a huge part of the platform team and I knew it was over.
There were a lot of reasons that Flash probably needed to go, but I wonder about what the web would have been if it hadn't been killed around that time. Regardless I hope this project succeeds. <3 Flash.
Also shipped my only Android game as an AIR app.
I will forever be one of Flash's defenders. Was the best digital creative tool I ever encountered.
(Note: Quick shoutout to Dreamweaver 6.0 which was a power, WYSIWYG editor. Today, things like Pinegrow might fill the niche.)
It's death as a hugely-popular tool was largely due to Apple and Adobe. SaaS model isn't helping it far as wide adoption goes. It also got popular through piracy which hints the replacement should be profitable and widely deployed like open source.
I think this might be a good opportunity for a license like PolyForm Non-Commercial. Free users either can't commercialize their content or, like CompCert Compiler, must make the outputs GPL'd (or AGPL'd). The Flash replacement would have a fair, one-time price for unrestricted use with source or you share like they shared with you. What do you all think?
Honestly I can't understand the mental calculus that went on in the heads of Adobe execs at the time. Yes, cleaning up the ball of mud that the Flash codebase had become and making it not so battery hungry wouldn't have been an easy task, but it would've futureproofed it significantly. Instead they decided to keep tacking on new features which ended up being entirely the wrong decision.
EDIT: The constant stream of zero-days certainly didn't help things either. A rewrite would've been worthwhile if only to get a handle on that.
The reason it burned CPU cycles is that non-coders could make programs with it and they would produce the world's worst code doing so that "worked". The runtime itself was fine (efficiency wise, not all the other things).
The bugs were definitely Adobe's fault: as with most tech companies, they were far more interested in expanding the feature set than they were on fixing the bugs and stabilizing the platform.
Flash itself was acquired via Macromedia as well.
Adobe's business is keeping technologies billing, and while Flash had it's flaws, the world was not ready for it to depart as soon as it did, because there was not a capable replacement available.
I haven't looked in a while, but I believe there's music and audio production tools with similar approaches.
Source: I worked there at the time and knew the relevant PMs.
I wish they had been able to figure out how to do it, but licensing and patents and whatnot have held back lots of innovation.
A lot of people - including studios who use it for projects that can take years to complete - were very unhappy at the prospect of having the only tool that can read their mountains of FLA files (the file format the Flash/Animate editor uses, and used to compile into a SWF) stop working because Adobe turned off the auth servers. Adobe has pulled back to "okay we're, uh, putting it in maintenance mode, expect no new features, ever, just security patches".
Here's 2?
https://cavalry.scenegroup.co/
I believe Unity doesn't do flash style vector animations. It will take in SVGs, turn them into meshes and apply skeletons. That said, it has replaced Flash in turns of the 1000s and 1000s of web games made with it.
https://itch.io/games/platform-web (majorty are Unity?)
Fun history: There was a flash like (vector animation program) for the Apple II called Fantavision.
https://youtu.be/8_Bm8bidrpE?t=40
It would export executables IIRC.
A bit mad because I spent more time playing with it than I would like to admit
So in some cases you need a native build to try to replicate browser issues, and then being able to plug into RenderDoc, Instruments, PIX,....
Flash had the tools.
We can't trust closed source software for content creation tools.
What happens when he gets bored?
However, I LOVE C# and would totally be down to contribute if it's open source.
as to when they share the source, idk!
I'd feel better if he had some other core contributors, but this is a great start.
Especially if the dev is working on a sound editor, something Flash doesn't actually need before even having an outputted example up and running or even a video of it working.
One aspect that Flash got uniquely right was the ability to push and pull on vectors like clay. It's the only vector editing tool I've ever used that didn't concern you with bezier abstractions and just let you directly manipulate them.
I don't know what algorithms were that enabled that, but I hope that's part of this tool too!
Curious if C# is the right language for an ActionScript revival. Feels like a strange choice considering ActionScript was the TypeScript of its day, but perhaps the prevalence of Unity now and the ability to share tech with the tool's C# codebase makes it a reasonable decision.
I could remake several of my flash games quickly into web.
I switched to EaselJS, as this was supposedly the official supported libary of Adobe Animate, but then later settled with pixijs.
The vector icons in the side bar have the distinct cruft of LLM-generated SVGs, so just ideally hoping it isn't a quickly-made UI shell. The big claims about .fla import make me a bit skeptical. Though even so, we're not owed anything and I think it's a cool idea to share!
Back then, once Flash projects start to scale up to get more commercial/competitive, the flash editor is no longer as useful for development and transforms to an assets creation platform that outputs loadable SWF files.
The code moves to use Air/Flex SDKs which were more or less equivalent to the tooling we nowadays get with Go/dotnet etc.
So while Flash was an amazing expression tool for learners/hobbyists and is amazing for gamejams since assets creation is part of the workflow, it did hold devs back at higher levels of production.
Many Flash devs moved to Haxe to continue creating on that platform and it managed to survive and thrive.
It's essentially just a BASIC program rotated 90 degrees on its side, full of GOTOs.
https://news.ycombinator.com/item?id=35652164
DonHopkins on April 21, 2023 | parent | context | favorite | on: Show HN: Thoughts on Flash in 2023, in Flash, in 2...
I love all the amazing inspirational open source examples of generative procedural art and artificial life that Jared Tarbell published on his web site https://web.archive.org/web/20070202025610/http://levitated.... .
It opened my eyes to using Flash for procedural graphics and simulations, instead of just using timelines like a glorified graphical player piano, or like a BASIC program full of GOTO spaghetti rotated 90 degrees counter clockwise (which is how Macromedia founder Marc Canter described Director's Lingo, which also used frame numbers like BASIC line numbers).
Jared went on to do a lot more amazing stuff in Processing, co-founded Etsy, and built a toy factory!
https://www.artnome.com/news/2020/8/24/interview-with-genera...
https://www.artnome.com/news/2018/8/8/why-love-generative-ar...
https://beyondtellerrand.com/events/dusseldorf-2018/speakers...
Competition can clone the project in another language and lipstick it to look different.
The real moat is not the source itself but the reputation. Setting the right price point is the actual challenge. You have to find that sweet spot where the price is high enough to fund development but low enough that the friction of paying is less than the friction of cloning the repo and building it yourself. If you price it like a corporate seat then people will fork it out of spite. The goal is to make the official binary the path of least resistance.
For being open-sourced, it was a pretty hot topic, especially at an interesting gathering inside Macromedia in the summer of 2005. Little did we know (or kinda) that it was going to take a different path with Adobe that Christmas.
Honestly, I think, Flash kinda died way before the iPhone was released.
https://en.wikipedia.org/wiki/List_of_Flash_animated_televis...
I don't know Animate - is it basically Flash Updated (I've read here that Adobe kept some elements of Flash in Animate, but it is unclear what).
Also, there are non-Flash players for .fla files (not editors, however).
Is it targeting the web? If not then it's not going to be useful for the same things as Flash was.
> HTML5/Canvas export — Export to self-contained HTML5 with JavaScript Canvas 2D playback.
Threejs is a 3D graphic libary, something different. And godot web I never used but know of as a game engine, not a scriptable animation tool.
True, it can, BUT what's lacking in the total arena is actual authoring and development toolchains, which is what Flash packaged all in one single bundle.
I'm not trying to install 4 or 5 different things, along with all of their dependencies, just to make some 200MB thing that could have been done in 20MB and one program with Flash.
Part of the beauty of working with Flash, at least as a newcomer or someone who leaned more towards graphics/animation than code, came down to a couple of main points:
- Code was *inside* MovieClips (in Flash [almost] everything was a MovieClip, basically a timeline of frames). Code was attached to frames. When the playhead entered the frame, the script would run. Some of us who started as designers later leaned heavily into the code, but even those who were more comfortable sticking to the visual side of things would end up with a little grab bag full of scripts/snippets that they could just copy/paste into a frame and tweak without getting too bogged down with code. Even at a very simple level (if somethingsomething jump to frame 20, else loop back to frame one) this added a dimension of control and interactivity. Crucially, it was implemented well and very simple to understand.
- Everything was nested. MovieClips within MovieClips. Timelines within timelines. Simple behaviours could be stacked up and lead to natural-feeling complexity just due to this nesting.
Of course these things can be implemented today too, and other tools have and do implement versions of them. But there are often just 1 or 2 levels of abstraction too much, enough to put off some kinds of minds, or people at certain levels of experience. The thing about the Flash experience was that it all felt so fluid and intuitive. Direct. Learning it was fun.
Animate (as far as I remember) did keep those paradigms I mentioned. The timelines were still there, the drawing/animation tools too. But something somehow goes wrong in the translation to modern web tech. If it didn't, people would have just carried on using Flash, outputting JS/HTML instead of SWFs and nobody would have noticed.
A lot of the above is testament to Macromedia and linked to their other software, Director (similar to Flash but aimed more at desktop and 'interactive CDs'). They made software that was a joy to use. To give them their dues, Adobe pushed it further. Also their market dominance meant if you wanted to get into this web stuff and make cool things, Flash was *the* (only, really) way to do it. Which makes me think it may have been a time and place thing, which we won't get back. The modern web and range of options maybe makes it too diffuse, harder for something new to catch on. I hope I'm wrong.
As others have said here though, maybe stuff like MineCraft and Roblox are filling a similar conceptual gap for different generations and I'm just old and nostalgic.
You would start out drawing, get tired of the repetitive parts, and learn to automate them. Eventually, you end up with an FLA file that's just an asset library and a reference to a script.
Plus, it had the most intuitive vector editor I've ever used.
It will be interesting to see if this project ends up working more like AS2 or AS3. AS2 gamedev was a real mess, but it sure was great for the simplest things.
I used to teach high school computer science classes and we built web pages with this new thing called "CSS" (no more tables!) and games in Flash. Cutting edge work we did. Those were good times.
I know it doesn't export stuff or have interactive SWF things, but its whole 2D backbone is absolutely fantastic.
One may say "but but but HTML5!" - but many games or applications that used to exist, are mostly gone (not all but many). Flash was creative. Joecartoon was fun back in those days; the HTML version is kind of ... lifeless compared to it. Granted, a lot of the "old" internet was also different so it is hard to compare.