> Nowadays, games like the McDonald's Videogame, where you corrupt politicians and destroy the rainforest to make fast food, would most likely be banned from the App Store, cutting it off from a large percentage of players.
Brings up a good point of the old WWW: we expected to have to navigate a number of sites to source content, and it was good! I remember having to surf Ebaumsworld, Newgrounds, and a bunch of direct content-creator sites to play a whole slew of games.
At Leaning Technologies, we are working on preserving _all_ flash content by running the original x86 Flash plugin via WebAssembly virtualization (CheerpX). If you want to read more:
Amazing work! Years ago Mozilla was working on a javascript implementation to help support legacy flash content on a Flashless web, but that got quickly abandoned before it mature significantly. Glad that someone else is working on it with a more modern approach.
You are referring to Shumway. I was working at the time on Lightspark, another FOSS implementation. All these efforts, including the recent ones, like Ruffle, are doomed due to the sheer complexity of implementing Flash from scratch.
Our approach is different. We run the binary plugin safely in the browser via WebAssembly virtualization.
Hi everyone! I wrote the article. It's great to see it shared here on HackerNews. The people buildings today's tools and technologies are exactly the people that I want to reach!
So many developers still feel like Flash was the most amazing thing that ever happened to them in their creative careers.
For building today’s platforms and technologies, it is important to remember what made Flash great, but it is at risk of being forgotten because Flash will no longer be supported after December 2020.
I’d like to spread the message to influence and inspire the next generation of tool creators!
Hey, I loved the article! One comment is the animated header backgrounds are pretty jarring for people with sensitivity to motion when trying to read. Would there be a way that you could add a button to pause the animations? I think it would make the meat of the article much more accessible.
It is such a shame that no modern game development tool comes close to Flash in terms of ease of use, development speed, and integration of art+animation (I say this as someone who worked as a professional Flash developer for 5 years and then spent a decade working in Unity).
Yep. It was also an amazingly natural way to learn to code. Gen Z has a lower barrier to entry than before for creating just about every form of multimedia content except games — I’d love to see someone build a fully integrated, easy-to-learn game design platform to encourage more of them to get into programming.
You might be impressed by the things some kids make with Scratch. I understand that Flash was ultimately a more powerful tool, but in terms of Flash games that a child could have made, they're definitely pretty similar.
It's impossible to tell which games were made by kids, but take a look at this:
It hasn't had functionality removed but it feels clearly like an unloved product at Adobe. The updates have mostly managed to make it feel worse instead of better.
On top of that, for kids learning to make games, the idea of getting a $20/month Adobe CC subscription is a massive stretch. For it to catch on these days there would really need to be some free tier.
The core animation tools are still in place from the Flash era, but simple distribution via SWF files is no longer supported in browsers. The animation tools in Adobe Animate are still excellent and are still in the creative industry to produce cartoon series on broadcast TV.
I think what made it so easy was mostly because it was 2D, but more important than that, it was 2D vectors.
I did a few Flash games myself when I was young, it was amazing, so quick to achieve a result. A decade later I tried doing the same over Unity, and I couldn't do much...
Vector graphic allow you to easily draw something quick and animate it easily with interpolation. It also has the advantage of looking great whatever resolution you got. 2D graphic allow you to not be concerned about performance that much, nor does it require complex manipulation to be used quickly.
This is missing a pretty big chunk of the end-game(s) of Flash: social network gaming. All of the top Facebook games were using Flash. We built the engine for FarmVille, CityVille, etc. using ActionScript3. Our artists would author the animations and sprites in the Flash editor and we'd be able to drop them in seamlessly into the game.
Additionally, PC/Console 2D & 3D games were using Flash to author and render their UIs for a very long time via ScaleForm. They only discontinued it in 2018.
Flash gaming became much bigger than Newgrounds and had massive influence on how to build future WYSIWIG tools to empower designers and artists.
Yeah that’s a huge oversight. AS3 was in fact the highest paid language in the industry for some time, and it was all of the social games. Then we all mostly jumped ship to mobile or PC or VR or whatever.
But it was a very significant industry, every major games company had divisions building FB games, we had games hitting 20+ million DAU overnight, it was big business.
I made Flash games (among other things) at Sony, Disney, PopCap, and Amazon. I’m not sure people understand how widely it was used.
Now... I also saw the writing on the wall and made a hasty exit in 2012 because it was clearly dying. But for a while it was a vibrant and well-paying niche.
The videogame industry is terrible at knowing about anything that isn’t in the ‘cool’ bubble. FB games were definitely deeply uncool and whilst people will have heard about and even played them they will never be part of games haiography. Same thing with games like Neopets and other predominately ‘girl’ games.
Even stuff like Roblox is only just getting noticed by game development influencers and it’s a huge platform pointing at the road towards the next big thing in games.
Glad this is no longer a thing, still remember playing Borderlands for the first time and thinking the UI was really janky and unresponsive feeling, then I googled ScaleForm because the logo was at the start and I hadn't heard of it and suddenly it all made sense because the UI had that jank that was really unique to poorly coded Flash content.
I'm pro Flash on the whole because of the explosion of creativity in the web game scene but ScaleForm was one case where the technology made a few engineers lives easier at the expense of making the end user experience way jankier.
AS3 added classes and static typing on top of ECMAScript, but lost out to regular ES3 in browsers.
In a surprising twist of history, AS3's ideas were rediscovered years later with a language called Typescript that among other things added classes and static typing...
Flash development's language and tools were surprisingly ahead of their time!
There is still no replacement tooling on the web, the way you can manage movie clips (as instances), attach animations, control the timeline.. (compose them)... That was really a joy..
Also was awesome the feedback loop within the ide (just hit ctrl+enter) to run it and try it.
On these times, flash was also the predominant option for embedding video on websites.. (there are lot's of stories that are coming back to now: preloading, lazy loading, easing... (I still follow Robert Penner for they ease equations). Thought people still uses tweenlite ;)
Ha hey, Greensock was and was and is the best, and it’s still going strong for Js. Frankly we could probably get half the experience of flash if we all just went and worked with that library!
> AS3 added classes and static typing on top of ECMAScript, but lost out to regular ES3 in browsers.
That's a bit jumbled. AS3 was an early implementation of the ECMAScript 4th edition spec - Macromedia/Adobe implemented it expecting that the same changes would soon be coming to standard JS. ECMA later wound up abandoning that spec (for reasons unrelated to Flash), leaving AS3 sort of stranded as its own separate language.
They were! We had much better build and art pipelines than many of the PC games I’ve worked on. And the metrics data tracking and ugly anti user behavioral stuff was years ahead of itself.
Newgrounds will always have a special place in my heart. I remember learning flash over the summer on a lark and porting a game a friend of mine had originally written in Q-basic. It was the first time I'd ever "shipped" something and Newgrounds was where I launched it. The game ended up on the frontpage which at the time was a huge deal. From there, my game started showing up all over the web at various flash game websites. One site offered me $50 for a non-exclusive license which for a college kid was fantastic! Paid for a nice dinner and drinks for me and my friend. Its neat seeing the game show up in the top 2000 as well.
Flash cartoons were also a big deal, off the top of my head: Homestar Runner, Happy Tree Friends, Family Guy, Harvey Birdman, Fosters Home for Imaginary Friends, Squidbillies, Metalocalypse, and tons more.
For all the problems with Flash, we definitely lost a lot when we dropped it.
The key aspect of early flash was the vectorization of graphics. It resulted in tiny filesizes for videos that could scale to arbitrarily high resolutions yet still be downloaded over a dialup connection.
Is there any easy to use, safe flash game preservation project?
I remember some project that seems to require you to download the entire 1 TB torrent and/or some sort of custom launcher, but nothing that focuses on trying to translate games into JavaScript (or WASM, or something else that lets you go to a web site and start playing right away), or just provide ZIP files that you can drop into a VM with an old browser.
Edit: The project I know of is https://bluemaxima.org/flashpoint/ and seems the most promising so far that I've seen. It's windows-only, the sandboxing seems sketchy (seems to explicitly make changes on the host then try to revert them), and the launcher is almost 2 GB, but I suspect it's the best we have right now.
The problem with this is finding/getting the SWFs and compatibility, but newgrounds.com seems to be using this to make old games available, e.g. https://www.newgrounds.com/portal/view/81219
Unfortunately not all games are compatible yet. (Edit: actually, I could only get two games to run - the above-mentioned Fishy and Divine Intervention https://www.newgrounds.com/portal/view/136337; everything else fails)
I wasn't much into games but wrote a lot of ActionScript. Some such as the video engine for Vongo (STARZ), quite a bit for Walt Disney, and Educational tools for Pearson Publishing, and few thingies for Nokia.
Let me tell you a story.
So, there was a gathering of supposedly some of the best ActionScript developers in the world in the Macromedia office in San Francisco (just as they were about to be acquired by Adobe). These developers were the ones that wrote libraries the world uses, best game developers, et al.
One of the talks was by Gary Grossman, the father/inventor of ActionScript. He starts off by saying in the lines of, "I'm going to go a bit technical in this."
Well, we heard him talk about things after which we begin to think if he was talking about ActionScript or something else. We looked at each other, “We are all n00bs here.” ;-)
As a game developer it feels like _nothing_ has replaced flash; sure, there have been attempts to recreate the ease of creation, but the surrounding community was as much flash as the tech itself.
I remember at the time how everyone were simply saying that Flash was no longer needed, that sure JS wasn't as fast, but that it would quickly surpass Flash...
We talk about tool capabilities, but it's also a standalone format, a single file that you include and it works. There's no way to achieve the same yet in JS. I'm sure some people tried to push standard ways, but none never became as standard as including a SWF file.
> a single file that you include and it works. There's no way to achieve the same yet in JS.
You can include all your JS and CSS into one HTML file.
It's widely considered a bad practice for sure, but you absolutely can include it all in one file. Even your images can be included in the file with base64 encoding.
Great piece of work, seems to focus completely on NewGrounds, which, as a Flash games developer from 1999-2009, I had not heard of back in the day. There were Flash games EVERYWHERE from b3ta to Orisinal. We wrote games for clients and were paid for doing so, and these often had decent marketing budgets behind them to popularize them, had competitions attached and the like. The biggest was for LBi and British Gas, Generation Green, where we threw everything including the kitchen sink at the game, Box2D, particle emitters, level editor for our game designer, everything. It was pretty amazing. In the end I was working on Facebook games for Square Enix, which was - for me - the beginning of the Free-to-play genre but monetization behind the surface for extras. What a time. Way more fun than it is now.
this website almost made me cry. It was a magical time to learn to program games, with such a low barrier of entry. I loved it so much, it helped me through a horrible childhood. I no longer feel like I want to make games but I will never forget the way it felt to be part of that community. I'm so glad this project is here to honor it and remind me of it.
Has there been much of an effort to make something to convert a Flash animation/game into HTML/JS? Certainly anything ActionScript could do, JS could do as well, right?
Nearly everything anyway. ActionScript had access to lots of system apis and things that may not have browser level equivalents still. In particular the networking capabilities and I'd be surprised if there's not more.
There are a couple of emulators out there, including Ruffle[0], a Rust and wasm-based runtime for Flash content that's sponsored (in part) by the team at Newgrounds.
Really great work here. I love the way the visualizations are laid out, and the subject is near and dear to me. I often think about getting back into making games/movies and/or creating a Macromedia Flash 8 clone in the browser. I loved how there were just a few simple concepts such as frames, tweens, movie clips, and an asset library that you could tie together with js-like code to make whatever you wish.
Probably most won't remember Fantavision for the Apple II, I loved making animations with it and then became an early adopter of Flash, programming AS1 to AS3 websites and car customization apps for General Motors. The last cool thing I did with it was 3D graphics, then moved to Unity.
Interestingly the first versions of Unity game engine included support for Javascript as a way to bring Flash devs into their product.
What an amazing, nostalgic site! Flash was definitely ahead of its time. I recall the pure excitement of the early Flash days in 1999. It was a perfect storm of a having simple to use tool with easy distribution, combined with being on the cusp of major increases in Internet usage and bandwidth. The Internet was ripe for a change and Flash offered a perfect combination of vector drawing, animation, development and distribution tools.
I vividly remember my first experience with Flash: watching an artist use a Wacom tablet to draw and animate a cartoon using vector brushes, the timeline, onion-skinning and then adding sound and publishing all from his laptop. As a web developer pushing out HTML pages with single-pixel gifs and tables, this was eye-opening. I worked heavily with Flash over the next few years and it really opened my eyes to the power of animation and motion graphics on the web.
I've seen some other people in the comments mentioning Roblox[0]; the creator of the McDonalds Videogame mentioned on that website is a CMU professor who recently explored some Roblox games on his twitter[1]. It definitely feels like Roblox is the platform that will inspire future generations.
I don't think any of the new development platforms have gotten even close to how accessible it was to make games in flash - pre as3 was the perfect combination of ease of art creation and programming
Rpg Maker, GameMaker, JS itself, Unreal Engine. - it's true Flash gave way to allowing creativity to flourish easier but accessibility has come and gone - at this point it's personal preference and CPU usage that dictate the expanse of your games
I'd argue that none of those can do both the art and programming side of things as well (for beginners) as flash did
I haven't used RPG Maker in a decade, but when I did you had to import sprites, same with GameMaker. JS doesn't help you with art. Unreal Engine has a basic modeller but you have to use Blender which is quite complex for beginners
Flash was like an animated paint, super accessible
Which brings me to Java. Java left the browser even before flash did. Not all of these are javascript jvms, but all of them are intended to run Java applications in the browser (some are transpilers, others require code changes):
Brings up a good point of the old WWW: we expected to have to navigate a number of sites to source content, and it was good! I remember having to surf Ebaumsworld, Newgrounds, and a bunch of direct content-creator sites to play a whole slew of games.