[HN Gopher] I still use Flash ___________________________________________________________________ I still use Flash Author : rogual Score : 793 points Date : 2022-12-21 12:01 UTC (10 hours ago) (HTM) web link (foon.uk) (TXT) w3m dump (foon.uk) | Nuthen wrote: | Great article, thank you for sharing this experience. The part I | found most interesting is the section about the aspect ratio and | interpolating between the 16:9 and 16:10 views relative to the | original, although I'm having some trouble fully understanding | the implementation. Why is the game interpolating between them | based on the games aspect ratio? | rogual wrote: | I can't know ahead of time the exact aspect ratio the player | will run the game at. 16:9 and 16:10 are the most common on | today's monitors, but the game might be running in a window, or | fullscreen on an unusual monitor. | | If I just made the game at a fixed 16:9 ratio, it'd leave empty | space at the edges of any window that isn't exactly 16:9. Same | if I chose 16:10 or any fixed aspect ratio. | | By supporting a range of ratios between 16:9 and 16:10, I | maximize the number of window sizes that the game will display | nicely in without any empty space (black bars) at the sides. | | The best way, I thought, to support a range of aspect ratios | was to define two rectangles in the scene, having the minimum | and maximum ratios supported, and interpolate the camera | rectangle between them. | | Hope that makes sense! | RulerOf wrote: | I really appreciated the visualization you provided for that. | superkuh wrote: | I still use Flash too. I even have the old flash brower plugin | that use /tmp for storying flash*... files. I just don't have it | set to auto-play. It's always click to play. | | Additionally I use a flash created "alarm clock" from the early | 2000s almost every day for various tasks. | moolcool wrote: | Flash is fantastic and I wish it got the respect it deserves from | tech circles. It got an entire generation into animation and | software engineering, and had really robust and approachable | tooling which is yet to be replicated. I think back to the gaming | experiences made in Flash and Shockwave as far back as the mid | 90s, and nothing today even comes close. Back then, you could | load up a webpage on a Pentium II and play a really robust game | made by a teenager in their spare time, and that game will be | stable and display extremely good performance. Compare that with | the complexity and barriers that come with mobile game | development today, or the jank and poor performance of JS based | games. | | TL;DR: It's been decades and there's still no suitable | replacement for Flash, and the web is poorer for it. | BulgarianIdiot wrote: | Flash was conceptually fantastic, and today we can do | everything Flash did, and more, with HTML, and WebGL. | Unfortunately we don't have the authoring tool to do so. Flash | IDE became Adobe Animate, but it has relatively restricted | output and capabilities, compared to Flash before. | | Unfortunately also Flash was full of bugs, FULL. I mean the | player, the IDE, everything. And Macromedia and consequently | Adobe were increasingly desperate in monetizing the player by | attaching downloads to it, like Adobe Reader or anti-virus | software. Or adding nonsense features like half-baked 3D gaming | to it. | mFixman wrote: | > today we can do everything Flash did, and more, with HTML, | and WebGL. | | There's one big piece missing: we don't have an | animation/gaming interface that's as easy and intuitive as | Flash. | | Flash didn't become ubiquitous because it was powerful, but | because it was easy for any 13 year old to pick up and do | something nice in a couple of days without reading any | documentation or doing any course. Good luck getting anything | to work in WebGL without any web programming experience. | robertoandred wrote: | The Flash editor is still around, it's just called Adobe | Animate now. It can export to web for you. | rchaud wrote: | Developers love saying "But you can do everything that was | in Flash directly in Javascript today!!" | | I wish they could understand that what they're saying would | be equivalent to switching out Excel for a Python IDE and | saying "but you can do calculations here too!" | dusted wrote: | _slowly lowers flamethrower_ indeed, you 're right, HTML and | WebGL with JavaScript or webasm can do anything flash can.. | | They can't do it in the cycle-count that flash could (I | remember seeing 3D vector demos running in 640x480 pixels on | my 133 mhz pentium), but they will do it, and probably look | almost identical across two different versions of the same | brand of browser.. | | But the real point is the authoring tools, and there simply | aren't any.. We're stuck in the early 80s with a f*cking | text-editor for GUI work.. | | Geez, there were authoring tools for making nice GUI | applications in the Windows 3.11 era.. But modern web | development has yet to reach that level of maturity. | moolcool wrote: | This is admittedly a few years ago, and the scene has | evolved _a bit_ since then, but I remember seeing really | simple JS games (think tetris, or a very simple | sidescroller) being heartily applauded on sites like reddit | and HN. We're unironically cheering approaching parity with | a toolset from almost 20 years ago! Things could be so much | better. | BeFlatXIII wrote: | > Tetris or a very simple side scroller | | Back when it was still Dynamic HTML and I was in middle | school, I copied the page source to put those into my | homepage. I even figured out how to edit levels in the | Mario clone. | dncornholio wrote: | > and today we can do everything Flash did, and more, with | HTML, and WebGL | | This is a myth, theoretical true, but practically impossible. | Flash was so much more than a browser plugin. With HTML5 it | is so much harder to maintain a framerate, while in Flash you | almost didn't need to care about that. | whywhywhywhy wrote: | Adobe never cared about Flash beyond it being the webs video | player. | | Honestly the whole thing just began to rot from a tool | perspective since their purchase. | | Their management is too PDF-brained to think of investing in | quality work in their tools as insane as it sounds they seem | to consider their creative tools an afterthought and B2B PDF | solutions their main business. I can't find any other way to | explain their actions. | moolcool wrote: | I don't deny that it had lots of issues. In addition to what | you mentioned, it was an accessibility nightmare, and had | tons of security problems. All that said, it's difficult to | argue with results. | warent wrote: | No way! This is the creator of Hapland... As a kid playing flash | games on websites all day like Addicting Games, Armor Games, etc. | you don't really think much about the people behind these | projects. Then time goes on and they cement themselves in your | mind as a myth. | | The fact that I now get to read and understand articles by this | legend, and work in the same industry vertical him... what a | privilege! | | Thanks for your work. Hugely inspirational to my career. | coldtea wrote: | It's nothing to be ashamed o..., wait, Flash you said? Well, then | it is... | shzhdbi09gv8ioi wrote: | I'd imagine lightspark would be useful here, rather than yet | again reinvent a wheel. | | https://lightspark.github.io/ | ho_schi wrote: | Interesting read. And it doesn't end up with Electron, which is | "Flash for the Desktop". | | _Notarization_ | | Why I don't wonder? I come from Linux and the weird rules for App | Bundles and Notarization on Mac are pain. And badly documented. | And the tools suck! Which entitlements my app needs? How to | change libraries paths? Compiling applications on Mac is easy | (with Hombrew), shipping to ordinary users as App Bundles is | complex and difficult. If you're not a MacOS-Developer using | XCode? | mike_hearn wrote: | If you want to create Mac apps from other platforms then check | out Conveyor: | | https://hydraulic.software/ | | It can build, sign and notarize Mac apps (and Windows apps, and | Linux apps) with auto update and can do so from any platform. | So you can ship to everyone from Linux if you want. It also | does auto update, generates a download page that detects your | OS and it includes control over low level OS-specific things | like setting entitlements, custom deb dependencies, Windows | manifest extensions etc. | | Notarization as a process is actually OK in my view. Yes it | sucks to have to pay, especially for hobbyist stuff. Still, | process-wise it's pretty lightweight and it seriously beats | having a virus scanner intercept and rummage through all your | file IO all the time. Windows has a lot of problems with | aggressive AV engines mucking up programs and macOS doesn't, | because notarization is in effect an ahead of time virus | scanner that moves the work off the end user laptop. Also these | days the notarization protocol is open and documented. | Caitlynmeeks wrote: | Man I miss Flash too! | | Tumult Hype is the closest thing to it, but the editor's Mac | only. | | https://tumult.com/hype/ | bashmelek wrote: | Great timing for this article! I just used Flash CS5 this week to | make my first animation. I'll admit that I'm rough with it (made | a few games with it many years ago, but that is all, stuck with | Actionscript and static images). Some of the logic hasn't stuck | with me yet, namely with the timeline and movieclips, and I get | frustrated. That said, I'm having a great time with it. | TylerGlaiel wrote: | Flash is great and tons of devs still use flash. I also use flash | in my custom game engine (the one powering The End is Nigh and | the upcoming Mewgenics), a different approach to what the dev in | this article did (seeing as these are new games and not ports of | existing flash games), my approach is to load SWF files as the | resource files for art and animation in my game, and render them | as vector. Flash puts a lot of information in those files, and I | parse just enough actionscript bytecode that I hook and trigger | C++ functions from my actionscript parser. This lets us use flash | almost exactly the way we used it for making flash games back in | the mid 2000s, with all of the interesting workflow tricks and | hacks that made it so nice, while being able to write all the | actual gameplay code in a real language and render it with openGL | so its actually fast. | LoveMortuus wrote: | Anyone knows of a modern browser that still supports flash? I'm | stuck having to use old browsers, which I'm not very happy about. | Ruffle doesn't work the for game that I play (Crystal Saga). | 4RealFreedom wrote: | I use flash occasionally to run some older code. I've been | running this setup for a few years now on my Intel Mac because | it won't work with Apple's new M chips. There are a couple of | things you will need. First, download Firefox 84.0 here: | https://ftp.mozilla.org/pub/firefox/releases/84.0/mac/en-US/. | Next, you need the Flash Player itself. Adobe, as far as I | know, removed the links to download it and I don't have | anywhere I would trust to download. After you have the Flash | Player, install Firefox 84 and disable the auto-updates. Now | install Flash and everything should work. Good luck! | iKnowKungFoo wrote: | Flash was shuttered due to being a constant, huge security | risk. So no modern browsers support it and there aren't any | plugins for it other than Ruffle. | AndriyKunitsyn wrote: | Web itself is a constant huge security risk - Playstations 3, | 4 and 5 were all hacked through Webkit, for example. The | reason to kill off Flash was just because Apple wanted it | gone, and Adobe didn't want to make them angry. | makach wrote: | Wow! Talk about a love letter at the end of 2022! The dev has | identified a gap and applies time and effort to solve it through | building it. | | Halfway, the dev complains about the orignal devs using XML, | because it is not efficient "Hey, I'm not complaining, it makes | my job easier." | | Well sounds like the original developers of Flash made a good | decision. If it makes it easier to parse the content at a later | stage, I'm willing to call it a win! | chubot wrote: | Yup, this is classic Unix style! Having data-centric | interoperability among tools also helps you port to new | platforms more smoothly, as opposed to throwing away your code | or rewriting from scratch. | | Examples: | | 1. Using text formats embedded in XML -- he took advantage of | this when reverse engineering | | 2. Generating text ASM -- he said this aids debuggability, and | allows using existing ASM tools that he didn't have to write | | 3. Generating C++ -- taking advantage of the type system, as | mentioned, and a huge array of other tools (profilers and | debuggers) | | It's data-centric rather than code-centric. It's a | interoperable and transparent architecture, not a monolithic | one. (Which is not surprising because Flash itself was made for | the web.) | | Related: _The Internet Was Designed with a Narrow Waist_ | https://www.oilshell.org/blog/2022/02/diagrams.html | | _A Sketch of the Biggest Idea in Software Architecture_ | https://www.oilshell.org/blog/2022/03/backlog-arch.html | anonymous344 wrote: | how about swishmax? it still works in win xp and can make exe. | still use that old exe as one app i created is still useful | rogual wrote: | Hey HN, I haven't done a lot of technical postmortem blogpost- | style writing so I'd welcome any feedback or tips on how to | improve. Is it too long, too short, too technical, not technical | enough? Boring? Interesting? Is it enlightening or does it just | come off like content marketing? I literally have no idea how | good I am at this. | Jasper_ wrote: | Worth noting that there is a spec for the custom XML file, it's | known as FXG. S starts a cubic Bezier curve in absolute | coordinates: | https://web.archive.org/web/20110611002637/http://opensource... | darkwater wrote: | I think you nailed it at every layer, it was a very | entertaining, nostalgic and instructive read. Thank you! | namuol wrote: | It was perfect! Full of low-key wisdom and fun observations. | Doesn't feel like "content marketing" in the slightest. | | I wish the Hapland series was coming to Mac, but I respect your | decision to snub Apple. | lsferreira42 wrote: | You are very good at this, i'll follow your site from now on | hoping for more publications like that! | kulor wrote: | There's a gem of a hidden narrative here for more junior | developers that you don't always need to start over (which 9/10 | fails) but instead be resourceful within your constraints and | to be mindful of what your constraints actually are, which | don't have to be new and shiny. | thor_molecules wrote: | Very interesting, and frankly inspiring to see you get this | creative. | HanClinto wrote: | I really enjoyed it! It didn't come off as content marketing at | all. Well done!! | replwoacause wrote: | I thought it was great, and I have no interest in games or game | development, but I read the whole thing top to bottom and came | away thoroughly impressed. Excellent post and work! | bjackman wrote: | It was great, loved the concise writing style, and it was a | cool story. | rogual wrote: | Thanks! It's actually great to hear you describe it as | concise, I was worried it was a bit waffly to be honest. | mastersummoner wrote: | It was long because there were a lot of steps to describe. | But for each, the writing was concise, interesting and | entertaining. | jonathanyc wrote: | Great post! No complaints at all from me. The mix of your | thought process + screenshots + examples is perfect. | wila wrote: | Keep on writing! I enjoyed reading what you tried and why you | ended up with what you did. It is fine to mention your game, I | do not consider that content marketing at all. | sh4rks wrote: | This was a great read. I distinctly remember playing Hapland as | a kid. Armour games or Crazymonkeygames, can't remember which | one it was. So this was a great nostalgia trip. | civilized wrote: | I don't think anyone here is going to complain about a post | where you make a game work by reverse engineering Bezier | splines encoded in XML by Adobe Flash. | | If that's not "Hacker" News, what is? | bambax wrote: | Indeed! ;-) | | However I wonder why the OP didn't try to keep vector | graphics and use to SVG for instance? That would allow for | infinite scalability. It is mentioned that "GPUs don't like | vectors" but if the game doesn't change too often it should | not make a lot of difference? | kmeisthax wrote: | So, I think I need to elaborate on "GPUs don't like | vectors". What the OP meant was "GPUs have literally no | support for rendering anything other than pixels on | triangles and getting them to efficiently draw Bezier | curves and fills is an active area of research". You'd need | specific hardware support for rasterizing them, and as far | as I'm aware no such hardware exists. | | When Adobe hacked on "HTML5 support" to Animate, they did | exactly the same thing the OP did. It renders every shape | in the FLA to a sprite sheet and then draws it to a canvas | tag. If you have knowledge over what will be drawn ahead of | time, this is the most reasonable thing you can do. | | Even before HTML5 support, the AS3 Starling framework that | let you "use the GPU" would pre-render all your vector | assets to bitmap textures at runtime. And that was a | framework built for Flex developers; if you were accustomed | to building things on the timeline, you rendered on CPU, | because that's where all of Flash's _very particular_ | rendering logic has to live. | | Ruffle gets around this by tesselating every shape into a | GPU-friendly triangle mesh. This lets us render stuff | that's technically vectors on GPU. But as you can imagine, | this creates its own problems: | | - Flash has _very specific_ stroke-scaling rules. If a | stroke is smaller than 1px[0], it will be rounded up to | 1px. This is how Flash 's "hairline stroke" feature works: | it actually asks for a 1/20px[1] stroke, and that gets | rounded up to whatever the current scaling factor for that | shape is. When your stroke is a polygon mesh, you can't | vary the stroke to match Flash without retesselating, so | hairline strokes on shapes that stretch don't animate | correctly. | | - Likewise, any stretch of a stroke that changes the aspect | ratio also distorts the stroke, since its baked into the | tesselated mesh. There's a minigolf game that does this to | hairlines and it will basically never look right in Ruffle. | | - Tesselated vectors lose their smoothness, so we have to | sort of guess what scale the art is drawn at and add enough | detail polygons for things to render correctly. Most of the | time we get it right. However, there are some movies that | do crazy things like store all the art at microscopic scale | and blow it up. This provides a compression benefit, | because it quantizes the points on the art with little | visual difference on Flash Player. On Ruffle, however, the | art becomes very low-poly. | | - All the tesselation work takes a significant amount of | time. There are certain movies (notably, a lot of | _Homestuck_ ) that would hang the browser because of how | much ridiculously complicated vector art was being | processed before the movie even loads. We had to actually | limit how much art could tesselate per frame, and expose | that to movies as bytesLoaded, which is why Ruffle movies | have preloaders even though we don't support streaming | download. | | There's another approach to drawing Beziers on GPU: drawing | the hull of control points with a procedural texture that | calculates the underlying polynomial. This is especially | simple for quadratic curves (the ones with one control | point), which is what all Flash timeline art[2] is. | | However, strokes are more complicated. You'd think we could | just take the hull of the stroke and draw that as a fill, | but you can't. This is because the offset of a Bezier curve | _is not a Bezier curve_. Drawing the stroke in a pixel | shader would make sense, except you still need to define a | polygon mesh around your stroke with a reasonable texture | coordinate system to make the math work. And the polygonal | outlines of Bezier curves can get really funky; there 's no | obvious way to quickly say "here's a curve, now give me the | polygon that encloses a 5px stroke around it". Remember how | tesselation takes so long that it would hang Ruffle? | | [0] I'm not sure if this is virtual or device pixels. | | [1] Flash specifies vectors in fixed-point units called | twips. That's why the zoom factor on Flash movies was | locked to 2000%. | | [2] Flash can draw cubics - the two-control-point curves | you think of when you think Bezier - but only in response | to an AS3 graphics command. We haven't implemented this in | Ruffle yet. | Asooka wrote: | Have you tried splitting the area covered by each shape | into several 8x8 pixel rectangles, then running a compute | shader over each one that executes the exact same | rasterisation algorithm as Flash did? That's more or less | how triangles are rasterised on the GPU anyway. | | It's definitely not a simple solution, but might enable | you to do runtime rasterisation with a good framerate on | the GPU rather than pre-rasterising all the vector art. | detritus wrote: | > "GPUs have literally no support for rendering anything | other than pixels on triangles and getting them to | efficiently draw Bezier curves and fills is an active | area of research" | | Well fuck me, I had no idea. I figured that 'simple 2D | vectors' would be beyond piss-easy for modern GPUs. I'd | never considered that it wasn't the actual math space | that was accelerated, rather the fast memory mapping of | everything on presumably comparatively simple geometries. | You've just turned my view of the world upside down :( | ChuckMcM wrote: | Yeah, this is something that many many people assume | (vectors are "easy" on GPUs) and then are amazed (like I | was!) that they aren't even in the function set. My | thought was that if you were "accelerating" desktops | you'd really want vectors right? But no. | jcelerier wrote: | > they aren't even in the function set. | | they are, but on nvidia only... | https://developer.nvidia.com/gpu-accelerated-path- | rendering | karteum wrote: | I though that there were some "GPU accelerated path | rendering" already 10 years ago ? | https://developer.nvidia.com/nv-path-rendering | https://developer.nvidia.com/gpu-accelerated-path- | rendering | | (OK those links are for NVidia, but if they can do it I | guess others can too ?) (also see | https://www.researchgate.net/publication/262357352_GPU- | accel... ) | karteum wrote: | Also, as far as I understood, both GNU Gnash and | Lightspark were using OpenGL for rendering. So I always | expected that GPU would still bring some sort of | acceleration for 2D path rendering ? | Nihilartikel wrote: | Riffing off of other recent HN posts, I'm wondering if | signed distance fields might be a contender for 2d | strokes. | | I've seen some font rendering work that has already | embraced them for high perf rasterization. | | Still, may be hard to get flash equivalency. | bambax wrote: | Thanks for this! Very informative! | [deleted] | rogual wrote: | I did consider it. Infinite scalability isn't required | during runtime; the scene doesn't ever zoom or scale in the | games, because that was always so slow in Flash, so the | only real benefits would be 1) supporting higher | resolutions and 2) reducing file size. | | For 1) I decided I'd rather just release an update with | larger textures if these ones ever start to look dated. | That way I get to keep the runtime code simple. Less code | means fewer bugs. I don't want to spend a lot of time | fielding support requests from users who hit edge cases in | the rasterizer. As for not changing too often, that's true, | but taking advantage of that means doing change tracking | with dirty-rectangles or similar, which not only adds | complexity but also feels like it would make performance | less predictable. | | And for 2) the game as it stands now is under 50MB so I | didn't feel a pressing need to make it smaller, although a | tiny executable would be cool in a satisfying, demoscene | kind of way. | bambax wrote: | Ah, thanks. That could maybe go into the article as well? | Although it's already pretty thorough as it is. | dontwearitout wrote: | Flash was my 2nd programming language (after VB6) back when it | was still Macromedia. I had a lot of fun making really crappy | minigames and learning the basics of coding. This article | brought some good nostalgia and plenty of astonishment at the | lengths you went to. | | Your writing itself is great. A lot of writing linked by HN | seems too verbose because people try to sound smart. Yours is | succinct while engaging. Right length, just technical enough, | and interesting. I really enjoyed this, thanks for writing it! | | Also: | | > Object-orientation is not fashionable right now in gamedev | circles | | Can you elaborate on this? | japhib wrote: | Object-orientation is kind of the old-school way of doing | things, these days it's all about ECS - entity component | system. This is a more data-oriented approach that has the | potential for much higher performance when you have thousands | of objects that need updating in your game. It's similar to | how OO languages like Java/C# are going out of style and more | (nominally, at least) data-oriented languages such as Go or | Rust are in style. | BlueTemplar wrote: | Probably how OO teachers and mentors failed horribly (AFAIK | we _still_ don 't warn new students about the pitfalls of | inheritance ?), so ECS got popular as a better alternative to | shitty OOP code ? | | https://www.gamedev.net/blogs/entry/2265481-oop-is-dead- | long... | stelonix wrote: | Not only that, but due to CPU caches and memory alignment | issues, ECS have better performance than inheritance; also | because most ECS systems ditch virtual function calls. | cogman10 wrote: | > ECS have better performance than inheritance | | Can have. | | Whether or not an ECS will actually be faster depends | entirely on the type of game and access patterns of the | inheritance structure. Further, it matters how you are | doing inheritance (LTO can eliminate a lot of the | pitfalls even if you use virtual function calls). | | This is nothing against ECS. I just find the current | claims of performance dubious and potentially flat out | wrong given modern compiler optimizations and changes in | CPU caches (mainly that they got a LOT bigger). | robertlagrant wrote: | Just to say: thank you for these games. I loved them when I was | in my 20s. | log101 wrote: | It was a pretty insightful article, I didn't know how a flash | game worked internally and how it could be reimplemented! I | think it is also relevant for those migrating their projects to | newer technologies, I always found this process fun(except | there is a deadline) :) | | (Edit: I love your games and used to play a lot when I was a | kid) | unsafecast wrote: | I liked it a lot! It doesn't feel like marketing at all, and I | think it's a good balance between technical and non-technical | (though I wouldn't mind more details). | | Keep writing! | JoeyJoJoJr wrote: | Great article! I also still use Flash by using a custom runtime | that interprets the output of the "Export as texture atlas" | feature. I was wondering if you had attempted to use this | feature in order the rasterize the graphics? | | https://github.com/jackwlee01/animate_cc_runtime | pie_flavor wrote: | This is pretty great writing, I'd love to read more of it. | Tepix wrote: | It's interesting for sure, I'm left wondering if it was less | work to make flash continue to work somehow instead of re- | authoring the original games. | | I mean you've probably learned a lot, but you could have | learned to author games using a more modern tool than flash | instead and that would have been useful in the future, right? | vfclists wrote: | You know the IT media is full of hacks when they all studiously | ignore the fact that the reason Flash was ultimately abandoned is | that it would allow app developers to bypass the appstores of | Apple and Google. | | The two will never create anything to match Flash. | | Even Microsoft abandoned Silverlight for the same reason and it | is why Mozilla abandoned Shumway because they don't want to bite | Google's hand. | Faruk66 wrote: | Tuhin46 wrote: | yamtaddle wrote: | > GPUs don't really like drawing vector graphics. They like big | batches of textured triangles. So, I needed to rasterize these | vectors. | | I remember in the distant past of like 15 years ago when it was | still common wisdom to avoid vector images on web pages, or | drawing _anything_ using fancy CSS features, because the resource | cost to the client was too high and it 'd hurt performance. | | I think proliferation of runtime-rendered vector-icons/CSS- | drawing/CSS-animation is under-appreciated when it comes to | finding things to blame for why the web performs like dogshit, | even on super computers. Sure it's probably mostly Javascript's | fault, but I think those very likely play a non-negligible role. | gibspaulding wrote: | I was expecting "Attempt 3" to involve Bluemaxima's Flashpoint, | and was surprised not to see it mentioned. Does anyone know why | that wouldn't have been an option, or is this essentially what | Attempt 1 would have involved? | | For anyone not familiar with Flashpoint, it's a project to | preserve old flash games and animations and keep them playable on | modern platforms. It's open source and includes a huge library | (including it looks like Hapland 1-3). | | https://bluemaxima.org/flashpoint/ | | Edit: Reading a bit further down the article, it looks like they | were able to make some big improvements by building their own | engine like supporting wide screen and higher FPS so that sort of | answers my question! | TylerGlaiel wrote: | flashpoint is not a flash emulator, its a preservation effort | that has archived tons of flash content from the web | | Ruffle is the flash emulator https://ruffle.rs/ | EamonnMR wrote: | It's like Steam for Flash, Shockwave, and Java Applet games. I | highly recommend it. Though I do wonder if it's going to | survive the transition away from x86... | oneepic wrote: | I still play games on Flashpoint. Hell, I speedrun and showcase | games in Flashpoint during some regular events with my other | friends playing ""real"" games. It's not the best UI, but you | do have an easy search function to find content you might like. | | Gotta be careful to avoid the porn games though. Flashpoint | archived some. | usui wrote: | > The way forward was obvious; I'd have to make my own Flash | player. | | Uhhhhhhh, hold on a second, wait a second... this is not readily | apparent nor obvious as a course of action at all!! | | I would rather have gathered the raw assets and tried recoding | the game using the same game logic on a better platform... | jmull wrote: | I think that's essentially what the author did? | tinco wrote: | Would it have been less work? I wouldn't be so sure, given that | the author was actually successful. | the-alchemist wrote: | The frustrating thing for me personally is that we--as an | industry--just keep rewriting/porting the same pieces of software | from one API to another. | | Here is was Flash -> Steam SDK. In another HN article, it was | PlantUML (Java) to D3 (Javascript). | | Didn't they re-write Minecraft to something else (Bedrock | Edition)? | Alifatisk wrote: | Yes, they did re-write to Minecraft Bedrock Edition but did not | deprecate java edition, it's still alive an thriving. | not2b wrote: | From the article: "GPUs don't really like drawing vector | graphics. They like big batches of textured triangles. So, I | needed to rasterize these vectors." | | The author certainly wasn't the first person to have this | problem. What is available for fast display of vector graphics | animations with GPU acceleration? Anything better or higher level | than just doing huge numbers of calls to | OpenGL/Vulcan/Metal/etc.? | andai wrote: | You mention that while using Flash you found it missing basic | features, could you give some examples? | | One of my long-term projects is to build a Flash clone (Flash- | the-authoring-tool). So I'd love to hear from people who are | still using Flash, to see what features / pain points are most | important. | rogual wrote: | Sure! | | * You can't set keyboard shortcuts for some common actions like | changing the brush mode between "paint behind", "paint inside", | etc. You have to click the button every time. | | * No way to import or export any standard vector graphics | formats. | | * No easy way to just add custom properties to objects on the | stage. | | * No outliner. Unless you put exactly one object on each layer, | it's very hard to find and select objects on the stage that | aren't large and obvious. Invisible objects? Nightmare! | | * You can name frames, but there's no menu to quickly select | one to jump to. In a 500+ frame timeline, you've just gotta | manually scroll around to find the frame you're looking for, | even if you've named it. | | * You can't set an alpha component for the grid to make it | semitransparent. | | These are all missing in Flash CS6, the last thing that was | called "Flash". I don't know if any were added in Adobe Animate | because I don't like to rent software. | | There's definitely room for a Flash authoring replacement. | Every now again I look at all the programs I can find in the | space and try them out, but nothing reaches Flash yet, in my | opinion, despite its limitations. Best of luck with yours! | eldenlad wrote: | Have you tried writing any custom plugins/editor panels to | use in the editor? The process is pretty arcane at first, but | eventually you are just writing html+javascript and have | access to a very powerful editor API. | | When I was working with Animate a few years ago I wrote a | plugin to navigate around the timeline to find tagged frames | and export things. | FrostKiwi wrote: | OMG, was a huge fan of the Hapland series during middle school. | Definetly gonna buy such a lovely crafted remaster. | | Also happy to see all the libraries I love to work with pop up | here and there. | samiam_iam wrote: | keewee7 wrote: | IIRC many 2D animators considered the old Adobe Flash | Professional to be one of the best 2D animation tools ever made. | codetrotter wrote: | Fun fact: An animated TV series that ran from 2010 to 2019 | developed by Lauren Faust, was animated in Adobe Flash. | | https://en.wikipedia.org/wiki/My_Little_Pony:_Friendship_Is_... | thesuitonym wrote: | Actually, there were quite a few animated TV series that were | animated in Flash (And later Adobe Animate). | | https://en.wikipedia.org/wiki/List_of_Flash_animated_televis. | .. | yreg wrote: | That is indeed quite a few. | isametry wrote: | The abundance of obscure and overly specific lists is one | of my favorite features of Wikipedia. Thanks for linking! | tetris11 wrote: | Many Adult Swim shows too: Harvey Birdman and Metalocalypse | come to mind | themodelplumber wrote: | Many 2D illustrators, industrial designers, and graphic | designers considered it one of the best 2D drawing tools ever | made. | | One of my roommates in the heyday of Flash was an industrial | designer who was paid by an Italian business to design | aftermarket wheels for cars, which he did in Flash. Eventually | he figured out a Flash > Studio Max workflow he liked and | finished projects in 3D that way. | | That guy could draw anything in Flash and preferred it over | Illustrator, Photoshop, and Fireworks. | kmeisthax wrote: | Funnily enough that was actually the original goal of Flash - | back when it was called SmartSketch. The idea was to have a | vector drawing tool for pen tablets. But it sold absolutely | horribly. | | Jonathan Gay pivoted it to animation shortly thereafter and | rebranded it as FutureSplash, and then got bought out by | Macromedia. | robertoandred wrote: | It's still around, it's just called Adobe Animate now. Can | export to video, to web, etc. | rburhum wrote: | I saw the headline and I was ready to talk trash... then I opened | the blog post and wow. What an incredible job for a single | person. Hats off on the different approaches you took. Excellent | work! I loved the post and congrats on launching it on Steam! | alxlaz wrote: | > The vintage Flash UI is great. Buttons have edges. Icons look | like things. Space is well-used. It's amazing! Using old UIs | makes me feel like an archaeologist discovering some sort of | forgotten Roman technology. The lost art of UI design. It's neat. | | This was one my favourites parts in the article. An the real | piece of the pie comes right after it: there's a screenshot with | like thirty icons _and they 're different enough that you can | tell one from the other_. | legohead wrote: | I am _still_ clicking on Gmail on accident because I think it | 's Maps. The icons are horrible. | quickthrower2 wrote: | Classic HTML gmail | https://support.google.com/mail/answer/15049?hl=en (final | link on that page) | indymike wrote: | > The lost art of UI design. | | This sounds like a great title for a really good book. | isametry wrote: | I find it somehow intriguing how you already pre-destined | this imaginary book to be great... That stood out to me for | some reason. How about a great title for a shitty book? | | Funnily enough, _The Lost Art Of UI Design_ sounds like a | potentially very mediocre book to me. One of those stretched- | out "self-teaching" design guides that listicles will | recommend you. It chooses a couple of very specific rules of | thumb, it gives way too much importance to them, and somehow | manages to water them down to 250 pages. Probably written | either by someone who's a skilled writer but barely knows | enough about the industry, or an experienced specialist in | the field who unfortunately can't write for life. | indymike wrote: | Ah... soon the publishers will just have chatgpt write it. | ilyt wrote: | It's like entire industry at one point decide to optimize UIs | for the first 30 minutes of usage and not the _years of users | using apps once they get familiar with them_. | | "oooh let's not put too many buttons to scare users away", | "they got 22 inch screens, let's just waste space for no good | reason, it looks modern and airy" | dkarl wrote: | That's the discipline of data-driven business. If 20 people | use your app and despise it and are depressed by it, that's | better than 19 people using it and loving it. No | sentimentality allowed. | sosborn wrote: | How could anyone possibly measure that an app is despised | and depresses people (or vice versa)? | | Usage can't be it, because I use a ton of software that I | despise and get depressed by, but only because I get paid | to do so, or the app is so niche there isn't a viable | replacement. | layer8 wrote: | They don't. They just measure that the more "modern" | design gets 5% more users, so clearly it must be better. | TeMPOraL wrote: | > _How could anyone possibly measure that an app is | despised and depresses people (or vice versa)?_ | | You'd have to actually _talk to your users_. But that | requires genuine human investment, so it doesn 't scale. | It doesn't come in the form of a third-party SaaS with a | pretty dashboard, generous free plan, and integration via | single <script> tag. | | In short: they could measure this, they just don't bother | to. | fallat wrote: | Yes. What we see in UI design today is a consequence of game | theory at work. It's to optimize business. In fairness you | don't want to scare users away. I think though many people | equated it all to "clean looking", without realizing removing | micro-interactions is a net negative.... | Izkata wrote: | One of the early attempts to balance those two goals was an | option in the settings to switch between | Beginner/Intermediate/Advanced mode. Never really see that | anymore. | zozbot234 wrote: | I think touch screens are a bigger factor. You can't have | small buttons in a touch-screen UI, because they must be | targets for your finger. (OTOH, swipes in a touch UI are a | lot easier than mouse drag-and-drop. So the optimal touch | UX probably has lots of drag-activated pie menus. And | confirmation flows for potentially destructive actions, to | cope with the lower accuracy of touch interactions.) | hansworst wrote: | Yeah, if my memory serves a lot of UI design started to | get more airy around the time smartphones became more | popular. Even on desktops, which I think may just be | because large buttons and text became trendy and although | some may deny it, I think a lot of ui design is just | following trends. It takes a good designer to not just | blindly copy things because they look cool. | rhn_mk1 wrote: | Large buttons and text were trendy already in the 20th | century. There's only so small you can go on an 800x600 | 14' screen. | | The crucial difference between then and now is the amount | of whitespace. | dmitriid wrote: | The problem is these "designers" bring those touch- | optimised UIs to desktop. And so you end up with | hamburger menus on 4k-screens, tall narrow alert dialogs | on MacOS etc. | BlueTemplar wrote: | Yes, and that is one of the reasons why your touchscreen | UI must be radically different from your mouse and | keyboard UI. | squarefoot wrote: | Spot on. And I would add "let's make every GUI either web | based or mobile based just to further annoy PC users". | yamtaddle wrote: | UI is now optimized for PowerPoint. The #1 goal of all UI | work is so the designer and/or product manager can get an | "oh, that looks nice!" showing off screenshots to an | interviewer or to someone higher-up who'll help them get a | promotion. Trendy (you don't want to look _outdated_ , do | you?) and pretty are what matter, not usability. | | I seriously think that's what's going on. | thrdbndndn wrote: | I get (and agree with) this idea in general, but these buttons | are still present in any Adobe apps (esp. Photoshop) and | they're not going anywhere. | | Hell, I don't think they're original to Flash to begin with, | more like borrowed from Photoshop when Adobe bought Macromedia | (this is purely my speculation; but Photoshop is much older). | bugmen0t wrote: | Surprising there is no mention of the wasm/rust-implemented flash | player https://ruffle.rs/ in the article. | ZiiS wrote: | "oldest ones, including the original Haplands, are AS2 Flash, | which runs pretty well thanks to Ruffle." | [deleted] | graderjs wrote: | I recently used Ruffle [2] to get some Flash applications [0] | working in the Pro version of my web browser [1], which is | specifically designed to be remotely accessible and embeddable | in an iframe. To run Ruffle on pages that require it, I utilize | the Chrome Remote Debugging Protocol [3], similar to how a | Chrome extension content script operates. Ruffle itself relies | on WebAssembly and runs smoothly. It's been exciting to see the | audio and video functionality of these old games restored and | being able to play them again. | | - | | [0]: https://github.com/ruffle-rs/ruffle/wiki/Test-SWFs | | [1]: https://github.com/crisdosyago/BrowserBox#bb-pro-vs- | regular-... | | [2]: https://github.com/ruffle-rs/ruffle | | [3]: https://chromedevtools.github.io/devtools-protocol/tot/ | zulu-inuoe wrote: | They did mention it. They use it for some of their older games | but it seems like Ruffle isn't yet feature-complete with Action | Script 3 and thus cannot be used to run their newer games | jokethrowaway wrote: | It sounds like adding those features to ruffle would have | been three order of magnitudes easier than writing a flash | player from scratch | | I understand contributing to OSS is a pain (I often end up | with half implemented features in my own branch and never | manage to merge them upstream) but he could have saved | himself some trouble. | roywiggins wrote: | It seems to me like a very different skillset required to | reimplement a runtime like the SWF player vs hacking | together an alternative FLA compiler that's just good | enough to work on your own games. | | Ruffle still doesn't support Actionscript 3.0, I suspect | the task is not that straightforward. | codetrotter wrote: | Ruffle plays compiled Flash swf files | | The tool that the author made reads Flash fla files and | exports data from that. | | Swf files contain binary data. The ActionScript code has | been compiled into bytecode. The vector data is probably | also represented in binary format. | | Fla files, as pointed out in the OP blog post, contain XML | data. | | It sounds like OP is doing something quite different from | what Ruffle does. | | Ruffle tries to be a player for swf files. | | OP wanted to export data from Fla XML to other formats, so | that he could build executable games. | adrian17 wrote: | While Ruffle's AS3 support is still lacking a lot of | features, since a couple months ago it's been able to play | some simple games that require it. The build used on author's | site is from 2021, and I just checked that the latest build | is able to play several more AS3 games hosted there. | | (note: I'm a Ruffle dev) | LoveMortuus wrote: | I'm waiting for it to develop further, I'm very excited, | especially because I still play Crystal Saga everyday, I | don't know why, but it's got something that I haven't been | able to find in any other games. | | But sadly, I haven't been able to make Crystal Saga work | using Ruffle | adrian17 wrote: | MMOs are pretty much the last game Ruffle or any in- | browser emulator will get to support - not just because | it's likely some of the most complex piece of code you | can find, but also because MMOs are likely to use | sockets, which AFAIK can't really be accessed in modern | browsers at all. | rogual wrote: | That's great news! I've been meaning to write a cron script | or something to fetch the latest Ruffle every week or so, | so thanks for reminding me to do that. Thanks also for your | work on Ruffle, it's really great. | worldsavior wrote: | But flash is terribly insecure. | strix_varius wrote: | One of my favorite things about HN is that comments from folks | who obviously didn't read the article tend to sink to the | bottom. | worldsavior wrote: | There are ups and downs in life. | syntaxfree wrote: | Creatives: look at this beautiful chalice made of Roman | dichroic glass. | | Security people: %drops it on the ground and it shatters% yes | but glass is terribly insecure, why not redo it with PVC and | LEF strip Christmas lights. | numpad0 wrote: | More like "yeah but not RoHS2 compliant and fabrication | involves mercury" | shadowgovt wrote: | The problem wasn't creatives. | | Bank UI authors: Management wanted a pretty UI, so we made a | semi-attractive chalice out of Roman dichroic glass. If it | breaks, bad guys take your money. | nkozyra wrote: | I didn't read the whole thing but my sense was what was | actually preserved was the game's code in AS3. | | I think you could still call this a soft port. | ZiiS wrote: | the AS3 was converted to CPP; sounds like some automation but | fairly manually. | loloquwowndueo wrote: | But if you had read TFA you would have realized it talks about | creating a new player that can understand swf files so those | don't have to be rewritten, it's not about using the old, ugly, | insecure Flash player from Adobe. | teddyh wrote: | Like Ruffle? https://ruffle.rs/ | worldsavior wrote: | The title is just as important as the article itself. It's | something that could be called "clickbait". | bjackman wrote: | > I like to use binary formats where possible for end-user | software; I don't believe in making customers' computers chew | through reams of XML. | | I feel an urge to object here! This is a false dichotomy; there | are efficient middle-ground solutions between XML and custom | binary formats e.g. Protobuf and Cap'n proto. | | Having said that, I loved the trick of using an assembler to | write it. | beardyw wrote: | I was expecting the graphics to be converted first to SVG. | tomsato wrote: | That would be the easy part. From the post they are already | stored as such, but the complexity would be to render the | vector graphics in C++ at 60FPS. There is no simple solution to | this, and rolling it yourself is quite the task too. | | If you look at some of the modern approaches to animation in | C++ (like Lottie or Rive) their C++ clients are pretty poorly | supported in my opinion, mostly for anti-aliasing quality in | native clients over their web equivalents. | T3RMINATED wrote: | throwaway3245 wrote: | I really enjoyed this, thanks for writing the article. Just the | idea of bits of Actionscript on Frames and figuring that out | would have made me quit never mind everything else. I miss Flash. | I used to love the Flex Builder/SWC setup as I used to be really | productive with it. | wolverineoflove wrote: | Real talk, I've been shipping an Adobe AIR app (Flash on the | desktop) to a major healthcare provider still (just did a build | yesterday). | | Samsung subsidiary Harmann took over the support contract from | Adobe a couple years ago, and I think they have one or two souls | running support for the AIR SDK, they're doing... okay. | | After years of searching for an Electron alternative (2016-2019) | I broke down and wrote an Electron + Vue application. I had | really really wanted Wails to work, but it simply has too many | sharp corners for an enterprise desktop application that needs to | run 24/7. | | The corporation customer basically stonewalled and refuses to let | the AIR app die. We're pulling up the ladder with the Apple | Silicon cutover, and hoping they bleed out on bugs. What a mess. | | I'm commenting because I too "still use Flash" in a way. It's a | secret shame :X | dljsjr wrote: | Would ruffle + WASM + Electron work? https://ruffle.rs | astroalex wrote: | I was a huge fan of Hapland back in the day! My friends and I | were obsessed. It actually inspired me to make my own Flash | games, which is how I learned programming. So nostalgic to see | screenshots of that game. | amne wrote: | I would invest more time into a tool that ports your game to | Unity. You already have "code" attached to "sprites" with | "actions" happening based on some triggers and entity states. | | From this far away it looks like it could work. | Alifatisk wrote: | Couldn't stop thinking of ruffle.rs | ux wrote: | > Blending done in perceptual (sRGB) space | | Oh please don't say that. The sRGB transfer function may be | somehow roughly correlated with how we perceive lightness, but | it's in no way a perceptual space. | hgsgm wrote: | jcmontx wrote: | This guy sees the matrix | pfoof wrote: | Glad to see someone trying to reverse engineer it somewhat. We | had a lot of approaches to clone it: Shumway, Ruffle, cross- | compile through Haxe and OpenFL, but we are still not complete. | And open-source AIR can be just a dream. | georgefrick wrote: | Really awesome to see this. I've done some conversion work for | Flash to PhaserJS for educational games. We had to just rewrite | everything as we didn't even have the original source code. | Luckily Phaser animations can get a lot of the "walk across and | open a door" stuff done easily. I was also excited to see Hapland | as I'd forgotten the name and so was never able to Google to find | the games again! | samhickmann wrote: | bulbosaur123 wrote: | How dare you | theandrewbailey wrote: | > GPUs don't really like drawing vector graphics. They like big | batches of textured triangles. So, I needed to rasterize these | vectors. | | I don't follow. In my mind, triangles are natively defined in | vector space. I didn't think it was impossible to convert vectors | to GPU-friendly triangles. Rasterization is the easy way out and | will (probably) help performance, but it will fall apart as | screen resolutions increase. | zozbot234 wrote: | It can be done, see pathfinder and piet-gpu. But these | solutions are still highly experimental, not really in common | use. | logotype wrote: | Working with Flash was like working with future technologies, | back in the day. You could build amazing things with it, things | that was not possible using standard browser API's. In fact, | Flash led the way and was the prototype for what browsers can to | today. | | If you cared about what you built, with clever hacks and bitwise | performance tricks then the Flash runtime could run your code | efficiently. I remember developing an app which used Box2D, | camera based gesture control with sound effects and background | music all running simultaneously, reaching 60 FPS. In other | projects we used software based 3D (a la Papervision 3D), Adobe | dropped the ball and Molehill/GPU accelerated 2D/3D arrived too | late. Perhaps it's not common knowledge but we could develop true | cross-platform apps, compiling for different targets (SWF, IPA | for iOS and .app/.exe). | | AS3 was a good language, and definitely reminds me of TS. Here's | a piece of code from 15 years ago: | https://github.com/PureMVC/puremvc-as3-standard-framework/bl... | | That letter from Steve Jobs destroyed it all, many talented | developers left the Flash world at that time. It was a bit | depressing to see all the (unjustified) mainstream hate for the | Flash platform that started to appear at that time, which felt | bad as there were many of us that put a lot of time, care and | effort in creating amazing stuff with it. Thanks Flash! | d0100 wrote: | I still haven't seen anything beat Flash with its sweet 1-2 combo | of vector drawing, animation and programming tool | | Or maybe it's just me reminiscing | AshleysBrain wrote: | It might not yet do everything, but we're having a go at a | modern web-based animation tool with Construct Animate, | currently in open beta: | https://www.construct.net/en/blogs/construct-official-blog-1... | | It can export videos, GIFs, image sequences, can use modern | JavaScript coding, and has a surprisingly strong block-based | visual alternative to coding. | strix_varius wrote: | I'm sorry this isn't super actionable, but in case it's a | helpful data point, I tried to check this out and wasn't able | to. To repro: | | 1. Clicked on your link | | 2. Moused over "Construct 3" in the header, clicked | "Showcase." | | 3. Clicked on a game in the showcase at random ("Bunnicula in | Rescuing Harold"). | | 4. Page loaded with a graphic & a play button. | | 5. I tried clicking play & nothing happened. | | 6. Shortly after, Brave (Chrome) showed its "Page | unresponsive" dialog. | zamadatix wrote: | Similar experience with using the showcase "AsteroidX" | albeit no "unresponsive" dialog though just wouldn't load. | It looks like the root of that issue is it requires 3rd | party cookies to load but modern browsers block that by | default and the error isn't bubbled up to the user. | https://www.construct.net/en/free-online- | games/asteroidx-650... | zamadatix wrote: | If only web games were this smooth during my childhood :). | Great stuff! | Karawebnetwork wrote: | One college near me still teaches 101 classes through Flash. | When presented as an educational tool with disclaimers that the | end result is not secure, it's a perfect product to teach with. | You can take someone who does not even know how to turn on a | computer and by the end of the class they understand what | programming is, how to draw on a computer, vector vs bitmap, | etc. | rchaud wrote: | Flash could do 3D 20 years ago, before WebGL and threeJS, and | you didn't have to be a Javascript (or ActionScript) expert to | build them. | | Nothing really exists that beats Flash, partially because the | switch to mobile killed Flash's momentum. It also led to the | switch in Internet content from Flash animations/toons/games to | Youtube/Patreon/Twitch videos. It was easier to make money with | weekly videos than trying to get Adsense bucks by making a game | every few months. | deltarholamda wrote: | Flash was actually pretty great. The big problem with it was | the "oh, that thing? it's still around?" attitude of Adobe, | which led to massive security problems. | | Actionscript was a pretty good language, certainly around the | level of what Javascript has become. It was poor-mouthed for | the same reasons Javascript was (is?), but now we use | Javascript to run 90% of the Web. | | I remember back in the early 00s playing with the PHP Flash | module. It was a really interesting environment that had a lot | of promise. But, alas, it was doomed. | mind-blight wrote: | Action script 3 was actually pretty great. It was essentially | a strongly typed JavaScript long before Typescript came out. | | I was always surprised that it didn't get more traction. | Though Typescript is leaps and bounds beyond where AS3 ever | was | goatlover wrote: | The Flash Builder was really good for complex vector | manipulation. I don't know if there is anything as good for | SVG/HTML. | dmitriid wrote: | > I don't know if there is anything as good for SVG/HTML. | | There's not because the DOM isn't suited for complex | animations. People manage to animate SVGs (see Greensock | etc.), but it's a pain in the nether regions | adamredwoods wrote: | Scratch has some nice features: it has a sound editor, vector | drawing, and primitive animation... but I agree, the Flash UX | was the best. | | https://scratch.mit.edu/ | dncornholio wrote: | I still use it to introduce students to coding.. ActionScript | is amazing for this | justinator wrote: | Best of HN - what an incredible read. | hoten wrote: | This was a fun read! | | rogual: I'm sure you would be able to manage this yourself, but | if time is a factor I'd be happy to assist in converting the | final result to a WASM build playable in a browser. | | Shouldn't be difficult to just plop in SDL (which is trivially | portable to WASM) to handle the drawing. Found a basic example | here[1] that uses STB + SDL. Should be rather straightforward. | | [1] https://github.com/svoisen/wasm- | imageviewer/blob/master/rend... | heystefan wrote: | > In the end, I settled for a bit of a hack. My exporter reads | the ActionScript from each frame and applies a bunch of regexes | to attempt to turn it into C++. | | Haha, I lost it at this part. Brilliant read! | | How much time did it take you to build the whole thing? | rogual wrote: | Thank you! | | Git log tells me I started in November 2019, so 3 years, but | the pace of work definitely varied a lot over that time. | Sometimes I was putting full days of work into it, sometimes | stolen moments here and there between paying work, and some | long stretches of just not working on it at all. | | Maybe I'll do another post with a graph, haha. | valeg wrote: | C'mon, Adobe. Open source it. | danuker wrote: | Hah! They have let Flash die rather than open source it. | | Also, it might compete with Adobe Animate. | | "Service as a Software Substitute" | | https://www.gnu.org/philosophy/who-does-that-server-really-s... | rchaud wrote: | You can do 3D on Flash. Adobe Animate is a step backwards, | it's all HTML/CSS3/JS, so 2D only. | DrThunder wrote: | dj_mc_merlin wrote: | I remember creating a simple "catch the falling X" game in Flash | 20 years ago. It was basic, but had everything you'd expect in a | beginner project: points, multiple game states/screens, a victory | condition, basic story (which was just a screen at the beginning, | like NES). The thing is, I was a literal child and I also had no | clue how to code -- I did everything by following tutorials and | gluing together code I copy&pasted&modified. And it worked! And | people played it! | | They all thought it was pretty shit, but to me it was more | important that some random person across the globe genuinely | picked up something I wrote, played it, and then wrote up a | review of it. | | I showed it to my parents and they immediately started pushing me | to learn programming.. and well here I am now. Thanks Flash. | | It blows my mind that no one has made a tool like that in so | long. It had the same quality as Excel, where any non-technical | person could just look up a tutorial, right click a bit, and make | something usable. Why has the pinnacle of ease of use in game | creation been achieved and never replicated since? | iKlsR wrote: | Some of the better years of my life a little over a decade ago | were spent on mofunzone playing the stick figure fights with | friends. I remember bullet time fighting (matrix clone with | swords, guns, slow motion) and there was also an amazing action | narrative series called Ray with Southpark themed characters | and one of the craziest platformers I ever played called N. I | managed to snag some of these a while back and preserve them | offline and can still enjoy them using https://ruffle.rs/. We | lost so many good things from the flash era. | Vinnl wrote: | Wow, hitting a bunch of memories there. Bullet time fighting | was amazing, and I had a bunch of friends who were way into N | ("way of the ninja") - built a couple of the most popular | levels for it. Which also was pretty cool that they were able | to do that, come to think of it. I remember one of them | dabbling into creating games with Flash as well, and when he | got stuck, I encouraged him to reach out to the creator of N | to ask how he had solved that. (I think it was collisions | with curved floors.) Got a nice message back that explained | to him how to do it. Good times. | ddulaney wrote: | N is one of my favorite platformers of all time. Happily, | it's still around and doesn't require any Flash hacks! | https://www.thewayoftheninja.org/n.html | | Do you know if there's been any progress on preserving the | older Macromedia games? I remember those starting to get | flaky even in the Flash heyday. | iKlsR wrote: | Not to my knowledge, I only got introduced to flash ~2007, | I've mostly been going by stuff I can recall and hunting | for them on wayback machine. | Cpoll wrote: | FYI N has some console and PC updated versions. One being N++ | https://store.steampowered.com/app/230270/N_NPLUSPLUS/ | vlunkr wrote: | I really hope all these games a preserved somewhere. There | are big movements to preserve old console and PC games, but | flash, and possibly to a bigger extent, mobile games seem | more overlooked. | | I think there's a tendency to look back at these games as | trash, but it was a pretty wildly experimental time. Indie | games as we know them now weren't really a thing yet. | segh wrote: | Flashpoint has a nice UI and I managed to find many old | favorites. | | https://bluemaxima.org/flashpoint/ | kokanee wrote: | My time spent creating "stick death" videos in Flash as a kid | is probably one of the main reasons I'm a software engineer | today. | kitd wrote: | I'd add Visual Basic to your "glue bits together" list. After | working on C++ & FORTRAN professionally, Visual Basic was like | a breath of fresh air. I remember thinking "how could | programming be this simple". It felt like cheating. | | Ofc, there's an evil undercurrent to the "any non-technical | person can use it". We ended up having to support a tool that | some "business analyst" had written. My eyes bled. | rr808 wrote: | Yep I was going to say the same thing. I write small internal | tools for corporates and my team in 2020 is a fraction of the | productivity of my team in the 90s. Lots of tools, the | complexity is nuts these days. | rapind wrote: | What I loved about VB was how the basic UI was handled | seamlessly and yet you could really dig in on optimizing user | flow on top of it. It wasn't pretty, but it was functional, | and you could spend your time making sure it _felt good_. | | I can still get there with modern tools, but the defaults / | conventions in VB are simply superior to anything I've worked | with since. | clarge1120 wrote: | The redpill in me says MSFT created dotnet to kill VB6. That | tool made it too easy (and cheap) to create value through | automation. | numair wrote: | A lot of large companies did a tremendous amount of back | office using VB6 applications. I remember visiting Disney | and seeing it all over the place in the late 90s. | kome wrote: | it's a generalized trend. Python is the new BASIC, but | Python is SO much more complicated than BASIC. Web | development was easy, now it's impossibly complicated, etc | etc... | | Rebol, Red, tcl/tk are good and easy programming languages, | but kinda niche and obscure. I have no idea why computing | is getting more complicated instead of easier. | marcosdumay wrote: | I only disagree on web development. It was never easy. | The web always always a mess, and nothing really worked. | Today it's a mess, but you can make it work if you know | what you are doing. | | But yes, looks like the web was a trendsetter that pushed | things into becoming harder without any good reason. Or | maybe the web was just following the trend of the | toolmakers all going out business at the early 00's | (thanks a lot to Microsoft). | falcolas wrote: | Ironically - given the article we're commenting on - a | lot of the early problems with the web were solved, and I | hesitate to say it, solved well by Flash. Its insecurity | is what really pushed us away from it (well, and that it | was a closed sourced Adobe project) | Consultant32452 wrote: | I miss the days when JQuery was the only JS library a | person needed to know to do professional web dev. I stuck | with web dev through the peak of Struts, but the constant | changing of frameworks with (imo) minimal benefit to user | experience pushed me to things besides web dev. | bottlepalm wrote: | To be fair, WinForms is the spiritual successor to VB6, a | lot more powerful, and just as productive. | vkazanov wrote: | I remember how the last VisualBasic programmer left the first | company I worked for. | | On one hand, he was ignorant in regards to everything we | thought was mandatory for development: version control, code | style, code structure. We, young Cpp/Python programmers, | despised him. | | But nothing we had (QT, 2007-2008 web tech, etc) made it | possible to spit out a business UI in an hour. | | To be honest, I still don't see anything comparable. | TuringTest wrote: | > To be honest, I still don't see anything comparable. | | I think it's just around the corner for those types of | applications to come back. And surprisingly, they will come | hand in hand with note-taking outliners, not your run-of- | the-mill no-code or low-code tools. | | See for example Obsidian canvas, released this week. I see | it as functionally similar to Visual Basic GUI editor, | except simpler and easier to edit; and its layout is stored | as JSON in a .canvas file. The open-source Logseq is adding | similar visual layout templates together with data-recovery | primitives. | | They just need to add the core interactive data widgets | (text field, text area, buttons) and expose the cards to a | programming language in a end-user accesible way, and | you'll have the power of a visual language, except web- | integrated and with a really simple way to add data (the | outliner editor). | | [1] https://obsidian.md/canvas | dheera wrote: | I feel like Python is starting to get a lot of the same bad | rep because non-techies can learn it. It's actually a great | language if you want to build stuff _really_ fast. Not | everything needs to crunch a billion operations per second | and even if you want that, there are several good libraries | for that. | albertzeyer wrote: | Yep. Python has potential to support some environment like | Visual Basic. But there is no such project, as far as I | know. All GUI frameworks are more complex, and there is no | nice drag & drop GUI editor build into an easy Python IDE. | At least I don't know it. Maybe if you use PyCharm, select | some framework, find the right PyCharm plugins for it, you | would have sth similar, but still much more difficult to | use, and also there is no prebuilt and ready to be used | package for such thing. | jimnotgym wrote: | I have lost count of the number of 'I miss | VB6/Flash/Delphi, they were so much more productive' | threads on hn! | | Yet in this community of all the people who could make it | happen, we can't make it happen! What are we missing? | Time? Money? Co-ordination? | albertzeyer wrote: | For Delphi, there is Lazarus, which is absolutely great. | However, it's somehow really niche? Maybe because Object | Pascal is somewhat outdated now? | jimnotgym wrote: | I don't really know Delphi/Lazurus well enough... but I | suppose it is similar to the following... for VB there is | Winforms and .NET, which as someone above pointed out is | 'much more powerful', but somehow not what people want! | RandomWorker wrote: | Have you tried processing it gets close to action script and | canvas. We just need to put processing on a time framed canvas. | With a Figma like editing experience. | | https://processing.org/tutorials/gettingstarted | zackmorris wrote: | That's how I feel about HyperCard. Some apps were so ahead of | their time that when they were axed, nothing comparable | replaced them. | | I believe that this is due to a tragedy of the commons in the | software industry. We're all so creative, with so many dreams, | but spend the majority of our lives working 40 hour weeks to | outcompete each other and make rent. Then when someone wins the | internet lottery, they succumb to their ego and do a bunch of | stuff in business to hoard even more wealth, rather than | working to reform the system which keeps so many others down. | | I would very much like to write a programming language, a | blogging tool, a web framework, a game, a game development | tool, etc etc etc. But I never will. Most of the people reading | this never will either. | | So I endure. I meditate, I practice stoicism, I go to the gym. | But I had to let my dreams die for my own self-preservation | because opportunity cost grew to consume my entire psyche. I | simply can't think about all of the other things I could be | doing while I have to work. And all I do is work. | | There doesn't seem to be much help coming in terms of UBI or | having N people split a 40 hour workweek or forming artist | communes for makers. Sure, we hear the occasional stories. But | it's like we're all waiting around for a billionaire to | liberate us, rather than creating a scalable cooperative system | to sustain all of us right now today. | | What I'm saying is that until we look beyond the technical | challenges and see that the problem is subjugation, we'll never | get free of the lackluster tools, because we'll never have time | to make better ones. | itsoktocry wrote: | > _But it 's like we're all waiting around for a billionaire | to liberate us_ | | Only in Silicon Valley, and that's probably a big part of the | problem. In some of the highest paying, most creative | occupations on the planet people are drooling at the feet of | billionaires to save them while they slave away M-F. | | Most people throughout history didn't look at the rich with | anything but contempt. In Silicon Valley they're held up as | geniuses on every subject. Look at how a subsection of the | industry treated Elon Musk taking the axe to Twitter | (politics aside). | warkdarrior wrote: | > Most people throughout history didn't look at the rich | with anything but contempt. | | Citation needed. I don't think wealth as the main cause of | contempt. | chucksmash wrote: | > Then when someone wins the internet lottery, they succumb | to their ego and do a bunch of stuff in business to hoard | even more wealth, rather than working to reform the system | which keeps so many others down. | | It doesn't even have to come down to greed though. | | If some meme stock speculation 1000x'd, my family could live | off the gains in perpetuity and I could spend all my time | working in a soup kitchen, doing good. | | But if I instead figured out how to turn that into even more | money, I could start a new soup kitchen and help even more | people, doing even more good. | | But if I instead figured out how to turn that into even more | money, ... | thelastgallon wrote: | Is this effective altruism? | [deleted] | TeMPOraL wrote: | It's altruism if GP stops the recursion at some point and | actually uses the money to help people and do good. | | It's effective altruism if they use the money in a smart | way, that reasonably maximizes the good it does for | others, instead of doing something stupid or just | extremely suboptimal. | quijoteuniv wrote: | " Then when someone wins the internet lottery, they succumb | to their ego and do a bunch of stuff in business to hoard | even more wealth, rather than working to reform the system | which keeps so many others down." | | Well said | imperfect_blue wrote: | Because for everyone to make what they want to make is, as of | current year, a pie in the sky fantasy until scarcity is | solved, and perhaps not even then. | | There are 8 billion humans, the world doesn't need another | hundred thousand programming languages or web frameworks or | game development platform or even indie games or fiction or | music or film, produced every year when the whim strikes | someone's fancy. Even if we could, who can even consume that | much content? | | Being a cog in a machine at least means you're probably doing | something of value to someone instead of writing another book | that nobody reads. | | As of now we have no better solution to coordination failure | except to create the AGI that will save/doom us. | zackmorris wrote: | You make a good point. I've latched onto some goals (like | making games) because I forget that they're a stepping | stone to something bigger. | | The bigger thing would have been the web framework, or the | programming language. But even those aren't quite big | enough. | | If I'm being honest, the biggest stuff is curing disease, | eliminating wealth inequality.. biblical stuff. Truly I | want to be an inventor and work to solve the very hardest | problems. | | So it feels undignified to be fixing someone's computer | when I could be helping researchers to like, cure death and | stuff. | | But you're right, that act of helping someone is the very | essence of our humanity and shouldn't be written off as | something inconsequential just because it's not glorious. | There is glory to be found though, a different kind of | glory in that covenant. | | And I totally agree about AGI. | | Edit: as far as scarcity goes, I think that economics | correctly attempts to allocate resources between people | with unlimited wants and needs. It just never got as far as | the endgame we're in now, where the primary scarce resource | is time. That's an artificial scarcity, so we might have a | chance to turn things around if we optimize for that | instead of material wealth. | | https://en.wikipedia.org/wiki/Artificial_scarcity | yawnxyz wrote: | I left the tech world to "cure disease" (working on a | phage clinical trial, currently treating three patients, | and they're doing super well!) | | With that said, I'm consumed with FOMO and opportunity | cost every day. I've missed the boat on being founder- | level or early designer/engineer on so many projects that | have gone on to raise Series B it's mind numbing. Also, | we were paid $0 bootstrapping our stuff in the first five | years, and now finally we get paid, but $60k a year. | | I'm saying this as a warning to all devs and designers | out there. Do NOT do this. If you can get into Google or | FAANG or whatever, build wealth that way. Maybe you'll | feel like a sell-out or you never scratched your itch or | done something good for the world, but then you can also | remember you can take a year off in Bali or whatever. | falcolas wrote: | Personal opinion: I think scarcity is mostly a solved | problem, in that most of us are working on projects that | only exist to make someone else more money, not to fulfill | any actual needs of those 8 billion humans. | | There are exceptions of course. | | But most of us could stop working tomorrow, and aside from | the lack of income, the scarcity of resources available to | us would not change. | | The real problems that causes hunger/poverty in our world | has more to do with logistics and politics, not a deficit | of resources. | quickthrower2 wrote: | If most of us "humans" not "hn subset" stopped working | we'd be in deep trouble. | | Who will maintain buildings, infrastructure, essential | services, government etc. | | I think we could work towards long term fewer hours and | more people who don't need to work though. | falcolas wrote: | My thinking is this - less than half of the population in | the US holds a traditional job. 150M or so. And a vast | majority of those are not jobs related to "essential" | work. They're largely part of the retail and | administrative workforce. | | And so, if a majority of less than half of the US | population is working unnecessary jobs (i.e. only | valuable to our economy)... how much of what we do is | really valuable to us as a species? | | Which is a roundabout way to say that scarcity is a | mostly if not completely solved problem; working to | survive is largely no longer necessary, just customary. | imperfect_blue wrote: | I cannot understand why you would think so, even in a | first world nation. | | Who would grow your food? Who would make the tools and | fertilizer that enable the farmers to grow your food? The | robotics and software that enables those tools and | fertilizer to be produce? Who would organize, transport, | package, preserve and process the produce so that you can | access it? | | Apply the same questions to healthcare, education, | transport, construction, entertainment, etc. | | Some jobs are superfluous and arise out of coordination | failure, that's true. Lawyers, administrators, | salespeople and parts of finance and the government comes | to mind. But "most people could stop working" is an | unreasonable assertion. | fhd2 wrote: | Parent has a point from my experience - most products I | worked on never really caught on in terms of being | reasonably widely used. I don't think I've ever worked on | anything I'd call truly essential. | | From what I've seen, most programmers are indeed spending | their time building experiments that have the primary | goal of making money for the person that pays them - if | they create true value that's more of a lucky side | effect. And lots of those experiments fail. | falcolas wrote: | > Who would grow your food? | | >> There are exceptions of course. | | There are about 2M farmers and ranchers in the US. 22M | health care professionals. 4M teachers. 2M truckers, 135k | rail workers, 40k miners, etc. | | Even at our highest employment levels, under half of | those in the US are employed. They're just not counted as | unemployed because they're either children, in school, | retired, or simply not seeking employment. | | Yes, I do believe that most jobs are superfluous - that | many more people could not have to work without a | material impact to the availability of goods. | gus_massa wrote: | You forgot to count plumbers, and everyone in the | construction industry. | | Also the guy that fills the milk bottles. My brother used | to work in a milk bottling plant, but he was not filing | the bottles by hand. A machine filled the bottles, | someone overlook the machine, my brother was making the | chemistry and biological test to ensure the milk was safe | to drink. And there was some additional people they call | in case the machine gets broken (or to build a new | machine.) | | You are forgetting to count a lot of people. | falcolas wrote: | Even if every single position in the US held today were | considered essential, there would still be more people in | the US who are unemployed than employed. | | And every job currently held today is absolutely not | essential. | leetrout wrote: | "but spend the majority of our lives working 40 hour weeks to | outcompete each other and make rent" | | THIS. | | I am so sick of the competition in most tech jobs / companies | to climb the stupid ladder. Everyone just wants more more | more and our society reinforces that. I _REALLY_ miss working | on teams that didn't have that amount of competition causing | mild dysfunction. | TedDoesntTalk wrote: | Do you feel compelled to participate in that competition? | If not, why does it bother you? | ThrowawayR2 wrote: | Fail to compete and you'll be left behind in terms of | compensation, performance review rankings, and career | growth, the last of which also limits your future job | choices. It also puts you nearer the top of the list for | layoffs when corporate finances get tight. | TedDoesntTalk wrote: | You must live with a lot of fear. I am sorry. | kortilla wrote: | But those things shouldn't bother you if you aren't | interested in the "more more more" society. It's easy to | get a stable programming job in the US that pays $80k and | has very little lay-off risk. | | You can't have it both ways complaining about being left | behind in comp while not participating in the grind that | allows those comps to go higher. | quickthrower2 wrote: | Lower paid jobs can be worse. That they can't afford to | pay you more might mean they are doing something noble | but usually it is a wannabe growth startup being badly | run and pushing down pressure on lower waged staff to | compensate. | | But you have a point: at 80k requirement you could easily | freelance to earn that, for non technical people. Help | set up shopify stores etc. and not need to constantly be | on a learning grind. | lazyasciiart wrote: | I don't, but it bothers me because the people who win it | get to decide what I work on and they are too often | fundamentally incompetent. | bityard wrote: | Just for some perspective, the 40-hour work week is a | relatively new invention that only surfaced with the recent | rise of the white-collar workforce. In my parents' day, the | 40-hour work week was called "bankers hours" and this was | used in a highly derogatory "sure must be nice" tone of | voice. Many or most of us are probably descended from | farmers that worked doing hard physical labor from sun-up | to sun-down six days a week at a bare minimum with the rare | holiday being reserved for family gatherings and religious | observances. No travel at all unless you could hire someone | (or left your kids at home) to feed the pigs or whatever | while you were gone. | | I'll take 40 hours over that kind of life in a hearbeat, | thankyouverymuch. Although I am still trying very hard to | make it so that I don't have to do even that much for the | rest of my life. | | In general, I don't disagree that it's sad that we spend | such a huge proporation of our precious, finite time on our | planet working. Most work without enjoyment because that's | how you put food on the table. | | On the other hand, the person who cracks this nut will | enjoy unprecedented fame and their name in the history | books for the rest of human civilization if they figure it | out. (And no, it's not going to happen no matter how many | 140-char political rants there are on the bird site. Very | arguably, those are in fact the opposite of progress no | matter which "side" you think you are on.) | teaearlgraycold wrote: | And thousands of years ago it would be feasible to live | on 30 hours of work a week. I wouldn't want to give up | modernity for that, but it's not as though tremendous | amounts of labor is the original work week. | water-your-self wrote: | Can I ask the rough scale of the company you work for? | mejutoco wrote: | This brings so many memories. One could use decompilers to see | how other games were made. It was fantastic for learning. | | I am surprised Adobe did not manage to get Flash / Adobe | Animate adapted to html5/js without people jumping ship. | thatguy0900 wrote: | You should look into roblox. I think a lot of the kids who want | to create are doing it there or in minecraft. There are really | some pretty expansive games created there. | taeric wrote: | The scratch set of tools still enables kids do a lot of this | stuff. | axus wrote: | https://scratch.mit.edu/ seems like a social network for kids | making basic games and learning to code. They seem to encourage | forking and learning from existing projects. | rogual wrote: | I took a similar path to you. Sometimes I feel the best thing | my high school did for me was having Flash, VB6 and HyperStudio | installed on the school computers. | junkieradio wrote: | Wick editor is the closest modern thing to traditional flash | ie. Flash 8. | | I've made a fully animated pixel platformer tech demo type | thing in it, it's somewhat capable. | dandigangi wrote: | Had an awesome experience learning programming on AS also! | Simple projects/games but great language to learn. Can involve | so many key concepts. | thedragonline wrote: | I miss AS. I used it to build a gis engine that packed 5D | into what superficially looked like 2D - item renderers | helped make that happen. It is aggravating to no end to watch | people pile on Flash for its faults - they either don't | understand what was lost or just don't want to understand the | loss. Steve Jobs is in this group. | dandigangi wrote: | Flash really was great. Its unfortunate that they killed | it. The Mini Clip and animated shorts days were awesome. | Used to love finding cool animations in Deviant Art. | yawnxyz wrote: | I made a game / synthesizer combo in AS3 for college. Good | times. I wouldn't even know where or how to begin doing that | today in JS | CharlesW wrote: | > _It blows my mind that no one has made a tool like that in so | long. [...] Why has the pinnacle of ease of use in game | creation been achieved and never replicated since?_ | | FWIW it never went away1 and targets standards-based runtimes | these days. I'm sure there are many kids every month having the | same kind of epiphanies with it! | | That being said, because Adobe Animate is marketed as a tool | for professionals rather than kids/enthusiasts, orders of | magnitude more kids are having the kind of experience you had | with Minecraft and Roblox instead. | | 1 https://www.adobe.com/products/animate.html | dj_mc_merlin wrote: | I remember when Minecraft was released a bunch of kids had | their first Java experience due to the modding scene. Funnily | enough I didn't do that since by then I was a C enthusiast | and had an irrational hatred towards Java (oh how the | turntables..). I wonder if that's still possible now that | Microsoft has changed the codebase IIRC? | robotnikman wrote: | Definitely still possible, various modding frameworks like | Forge or Spigot for Java Minecraft still thrive. | bionade24 wrote: | There are 2 editions of Minecraft. One, is the original | one, now called Java edition. They definately still work on | it, because despite not running well on Java > 8 for a long | time, it now does. But afaik, they're still stuck on LWJGL | 2. | | The newer one written in C++ was first called "pocket | edition" and targeted mobile. It's now called "Bedrock | edition" and is also the version that has RTX support. | | It'll be hard to move the modding community over to the | Bedrock edition. I personally don't have any knowledge how | limited modding is in the latter one. | thayne wrote: | It's still possible for the java edition. | ecshafer wrote: | There is a small but major difference with Flash vs Minecraft | and Roblox. Flash let you create something _from scratch_ (or | close to it). You aren 't just modding a game, you are making | a game or a cartoon. It was fantastic. Minecraft you are | limited to the world of minecraft. | dwild wrote: | The amount of commercial games that used (and still does | actually) Flash is much higher than many could believe. | Jackbox is probably one that many here have played in the | past few years. Some games used it only for UI, like | Borderlands. | vkazanov wrote: | World of tanks used Flash-based tech for game UIs as | well. | | PS At least that was the case 9-10 years ago when I was | involved. | texuf wrote: | Scaleform - it came with the big world engine | vkazanov wrote: | Did it? I remember it was something Adobe, suspected | Adobe Air. | | Anyways, the client ui team definitely used Actionscript, | which I had to read from time to time as a server-side | dev. | shlubbert wrote: | For context, most of these games use(d) a Flash | derivative called Scaleform for their GUIs: | https://en.wikipedia.org/wiki/Scaleform_GFx -- it's | discontinued now but was indeed hugely popular. | | A lot of games today use an HTML-powered UI library from | Coherent Labs which can still be authored using Adobe | Animate (i.e. what the Flash editor turned into): | https://coherent-labs.com/ | lostgame wrote: | It could also run in its own standalone environment you | could redistribute. IIRC you could even export something | like an EXE and bundle the flash player with the installer. | CharlesW wrote: | > _There is a small but major difference with Flash vs | Minecraft and Roblox. Flash let you create something_ from | scratch _(or close to it). [...] It was fantastic._ | | Absolutely fantastic, yes! Roblox does allow you to make a | game from scratch -- even though the primitives are | generally less primitive and the constraints much different | -- but my point is just that if you're wondering where the | _spirit_ of dj_mc_merlin 's experiences went, two places | where it can be found in spades are in the Roblox and | Minecraft communities. (Source: Am a parent experiencing | this vicariously via my kids.) | romwell wrote: | >Roblox does allow you to make a game from scratch | | ...with the caveat that once Roblox (the company) folds, | all the games will be gone. | | ...and that since Roblox changes the code all the time, | you have no idea whether your game will look the same in | a year. Or even run. | | So yes, while I understand what you mean by the spiritual | successor.. Roblox takes everything that made Flash bad | (i.e. dependence on a clunky binary that one day may not | be supported), and _makes it worse_. | | _Source_ : worked in Roblox when a new shiny material | pack was rolled out, which replaced _existing_ materials | in _existing_ games, messing up the look of games where | materials were used creatively. | CharlesW wrote: | > _...with the caveat that once Roblox (the company) | folds, all the games will be gone._ | | True, and I guess Flash is a useful lesson in that sense, | although no platforms I jammed with as a kid are around | either. It makes me wonder if Godot apps written today | will work on the web 20 years from now. | hutzlibu wrote: | "FWIW it never went away1 and targets standards-based | runtimes these days. " | | I just tried Adobe Animate recently and nothing worked out of | the box or like flash used to. | | I basically had to tinker, until even basic animations | somewhat worked. | | And I even have quite some experience with EaselJS, the | target framework, but that didn't helped much. | | The power of flash was the ease of use - that is gone. | AndrewSwift wrote: | You might like Svija -- you can easily animate SVGs using | Illustrator. It's not as powerful yet as Flash, but that's | our goal. Disclaimer, I made it ;-) | tomcam wrote: | Gorgeous home page. What does Svija do? | detritus wrote: | You need to work on your self-promotion a bit more - both | here ( :) ) and on your website: | | https://svija.love/ | | I must admit, this isn't the most inspiring landing page | for someone like me, who could be your exact target | demographic (long-time Illy user and someone who likes to | tinker with new web tools). I don't really 'get it' and | (this is entirely personal) the design looks quite dated. | | I'll bookmark it, share it and keep an eye on it though - | Good luck! | skocznymroczny wrote: | Ahh Hapland. I managed to beat 1 and 2 without a solution. Never | beat 3. Didn't know how to get started. Once you get started | things start to get rolling. | onepointsixC wrote: | I absolutely adore Flash and it was my first introduction to | programming. I greatly miss the feeling of the web when Flash was | king and there was a pot luck of animators and game makers | sharing neat things they made. I myself made a game but never | actually published it. Always regretted not putting it up | publicly before Flash went EoL. | underdeserver wrote: | Kinda click-baity because he _doesn 't_ use Flash - at least not | Flash Player, which was my first association. | | I think there's a very strong case for writing a clean-room Flash | Player implementation. | pentagrama wrote: | It reminds me that the show BoJack Horseman was created on Adobe | Flash [1]. The creator calls himself an "Old School Flash Hack" | in a same vibe like the OP. | | Don't know if the latest seasons they still used Flash, maybe | yes, because they just exported to video? Migrate to other tool | maybe was a pain and/or changed some illustration aesthetics. Not | sure if a project like that can migrate properly to Adobe Animate | [2], the Flash successor. | | I believe that Flash was a tool with a friendly UI/UX for casual | animators but also many advanced features for pros, that's why | was so popular and loved. | | [1] https://youtu.be/0KofIRvAr0M?t=626 | | [2] https://en.wikipedia.org/wiki/Adobe_Animate | numair wrote: | Really great writeup. So people stop asking the obvious question, | here is the GitHub issue that clearly shows Ruffle doesn't | support ActionScript 3: | | https://github.com/ruffle-rs/ruffle/issues/1368 | | I recently picked up a copy of Flash MX to use on an old | PowerBook, highly recommend others do the same. As many have | commented, today's authoring tools are poor substitutes (someone | should do a list of the superior abandonware versions of SaaS | products). | tetris11 wrote: | It looks like its 99% there though in terms of support | adrian17 wrote: | This linked issue is - quote - "a non-exhuastive, basic | checklist of where we are aiming". As in, a checklist for MVP | level support. And indeed, we have pretty much reached the | MVP level, with several simple games (and some nontrivial | libraries like box2d or mochicrypt) working. | | From this point on, it's hard to make a simple TODO | checklist. We could analyze the entire Flash API surface and | make a tracking issue for each available class, but that's a | lot of bookkeeping and it doesn't really say that much about | real support (as, assuming pareto principle, 80% of fancier | features are used by only 20% of games). | numair wrote: | Thank you for this very thorough and honest explanation. | Really appreciate what you're doing with Ruffle! | qwerty456127 wrote: | I wish Flash would just be fully open-sourced for niche users to | maintain and use it AS IS. I know it supposedly has a lot of | vulnerabilities but there are use cases where the pros matter | more and this con doesn't matter too much. | Marazan wrote: | The Flash Player had a bunch of licensed 3rd Party software in | it so very hard to open source it. | | The AS3 VM at its heart however was open sourced. | leetrout wrote: | I know it is not the same thing but Godot is close for being able | to get something working in 2D as fast as you could in Flash. | | I am optimistic we will see a Flash alternative popup as WASM and | WebGPU continue to grow. | dandigangi wrote: | I miss that beautiful old keyframe timeline and writing some AS2. | The good days. | swayvil wrote: | There are a million flash games. Treasures! Surely there is a | good flash (p5js?) to JavaScript converter out there. | | Also, is there a better way of doing it than converting flash to | JavaScript? | lukaszkups wrote: | I do really enjoyed this kin-of-post-mortem! Please write more, | I'd love to hear about your other projects! | | As a side note: In my opinion the closest replacement for Flash | is currently Construct 3 engine - you should definitely take a | look on it! (I'm not associated with Construct 3 team (Scirra) by | any means - I'm just a happy user of their product) | nonethewiser wrote: | So he created his own flash player. Couldnt someone use WASM to | run a flash player in the browser? Without the original flash | security risks. | jraph wrote: | That's what Shumway did (it's now unmaintained), and what | Ruffle does. | | https://github.com/mozilla/shumway | | https://ruffle.rs/ | _joel wrote: | Ruffle's neat! Never seen that before | Narretz wrote: | Like the sibling comment says, while there are alternative | flash players, they are either unmaintained (Shumway since | 2016) or not feature complete yet (Ruffle). Since performance | was stated as the main goal, a bespoke solution that only | supports what the games actually use is probably the best | performing. | est31 wrote: | It was pretty interesting to read how they chose .asm text files | for encoding of animations. | namuol wrote: | Ah, Flash. Simulating a bouncing ball using keyframe-driven | ActionScript that I only sort of understood was my "hello world" | moment. Love to see it being used like this. If only I could find | those old .fla files... | pmarreck wrote: | > Although I developed the game mostly on my Mac, during | development Apple invented this thing called "Notarization" where | if you run any app on a new version of MacOS, it'll make a | network request to Apple to ask if the app's developer pays Apple | a yearly fee. If the developer does not pay Apple a yearly fee, | MacOS will pop up a dialog strongly implying the app is a virus | and refuse to start it. | | > For this reason, Windows will be the first and maybe only | release platform for this game. | | this seems like the wrong answer to the (arguably legitimate) | concern posed. the first and maybe only release platform for this | game, based on the reasoning, should have been Linux. It's not | like Microsoft can't decide to arbitrarily force exe's to phone | home for "security" reasons, but good luck getting the Linux | kernel, or any distro, to do that. | | I'm 100% convinced that Linux will be the way all software will | be preserved in the future; Proton will take care of windows | exe's and VM's will take care of Macs, and a deterministic OS | like NixOS will let you define exactly what any piece of software | needs to build and run, forever. The incentives just line up. | whywhywhywhy wrote: | If Proton is accepted as the solution to Linux gaming what is | the reason for a developer to build for Linux over Windows? | | Funnily enough there are parallels with that to why Apple | didn't want Flash on iOS. If you could make it in Flash and | ship to both why code an iOS app. | | Same thing, zero reason to make a native Linux build while that | works fine. | pmarreck wrote: | It's a good point. Turns out that the Windows API is more | stable than whatever Linux offers; I have multiple games now | that have native Linux versions on Steam but whose Windows | versions running under Proton are simply less buggy (and also | synchronize cloud saves with my pure-Windows machine). | themagician wrote: | Initially, Apple actually looked at an iOS version of Flash. | This was around 2009/2010 IIRC. There were special dev | iPhones that ran Flash. Adobe didn't want to optimize it | because they thought the iPhone would fail. Apple thought the | performance was garbage and the communication mostly ended. I | got to play with one for a few days and the performance was | terrible. Even simple games lagged and the touch points were | a disaster. | steeleduncan wrote: | A native Linux build is still better performance than Proton, | so with the popularity of Steam Deck it is worth the effort | recompiling for Linux for higher performance games. | ezfe wrote: | Also the fact that macOS doesn't actually block unnotarized | software...Many programs are un-notarized and just need to give | the user the 1 step instruction to bypass it | richrichardsson wrote: | Also the fact that you only need to pay the PS99 fee once; | after the executable is signed, notarised and stapled, that's | it. I think there might be a network request if the | executable hasn't been stapled, but it's only to check that | it has been notarised in the past, it doesn't check for an | active Developer Subscription. At least this is my | understanding of the situation, I would be happy to be | corrected if any of that is wrong. | mike_hearn wrote: | Also - you have to sign code on Windows too! If you don't | then Edge will try as hard as possible to stop the user | opening it, and AV scanners can get very curious about what | you're doing. Maybe Steam doesn't care if your game is | signed? | | I didn't quite follow the logic around notarization either. | Steam imposes more requirements and takes a slice of | revenue! Notarization is a lot cheaper and faster than | that. But I guess the idea is that Steam gives you | features, whereas notarization is just a tax. | pmarreck wrote: | Yes, and I also never felt the macOS warning about it | "strongly suggested it was a virus." That was pretty much | hyperbole. And I could also argue that Apple expecting devs | to pay a nominal fee to get their app officially code-signed | creates a barrier to entry for bad actors who are likely to | not want (or be unable to afford) to pay such a fee, | especially when that simultaneously gives control to Apple to | block the malicious code en-masse once it is discovered. | pier25 wrote: | What about Haxe and OpenFL? ___________________________________________________________________ (page generated 2022-12-21 23:00 UTC)