5 ms·
What is missing in HTML5? You have WASM and websockets and the WebGL canvas built into every browser now, that seems to replicate just about everything Flash wa
by throwaway82652 5y ago
What is missing in HTML5? You have WASM and websockets and the WebGL canvas built into every browser now, that seems to replicate just about everything Flash was known for doing? And just to clarify, I mean actually using the same old Flash development tools (apparently it's called Adobe Animate now?)
Or is the issue that the export-to-HTML5 functionality in those tools is just not fully done yet?
- nine_k 5y agoIsn't the scene isn't there any more, or is it? Is Adobe Animate free (or easy to crack) so that an interested kid would just start with it and some tutorial, and could make something moderately cool in an afternoon?
- throwaway82652 5y agoI don't know, I was asking you!
- jan_Inkepa 5y ago>What is missing in HTML5? - Audio (while in some respect capable) is a nightmare, the interface is unstable and breaks about once a year in my experience. - You can't do pixel-perfect rendering (People keep promising that you can - the last time I checked was a few months ago - the DOM rendering architecture is deeply wretched when it comes to pixel-access). - No nice pipeline for integrating vector animations/art into games like there was in flash. (SVG exists, and I've used it in games myself, but it's a niche thing to do). For most engines nowadays you're baking your SVG art to sprite, but flash kinda took care of it for you - its approach to vector art+animation was great/very very powerful, and Adobe Animate allows for HTML5 animation export nowadays, but that's somewhat short of a full interactive app pipeline. - many of the html runtimes for new engines (Unity for instance) feel waay heavier/more sluggish in the browser than flash games. Pauses during loading/weird interactions with the mouse, having to click before you can see anything is common behaviour. And often they don't perform so well as the flash runtime. - easy to make fancy + good-looking interactive UIs. There's a reason Scaleform was so beloved for UIs even outside of the browser ( https://en.wikipedia.org/wiki/Scaleform_GFx https://en.wikipedia.org/wiki/Scaleform_GFx ). It's not obviously better than flash still. Flash was a very stable platform for many many years - really good with backwards compatibility (IIRC as a result of literally having secretly several copies of the runtime for different versions), and ...well, for instance Godot HTML5 builds as of last week crashes in safari for everyone it seems. Source: I made bunch of flash games, and have made a bunch of HTML5 games, and have made a HTML5 game engine myself. And flash was just a better experience as a user for so many things (except for abuses) and as a developer. Outside of writing javascript yourself, haxe is probably the best replacement for flash (as well as being good in its own right). I have been playing with heaps this week actually and it's yeah pretty nice. But flash had a nicer pipeline. Flash was weaker at 3d stuff, though - even back when flash was a thing I still went for Unity/hand-rolled for 3d games.
- klodolph 5y agoJust my experience—the audio API seems relatively stable to me since the autoplay policies launched a couple years ago. I do remember it being a mess back when I started doing audio, and I remember needing libraries to paper over the differences between different browsers, but these days I don’t need that. Agreed that the “export to browser” in Unity et al. is usually junk.
- MattRix 5y agoCan confirm all this. I used to work professionally as a Flash developer from 2005 to 2010. Since then I’ve been working using Unity and other game engines, but nothing else really comes close to the workflow of Flash. Sometimes it feels like tools in this area are moving backwards.
- Bigpet 5y agoAbout the pixel perfect aspect: were the people that made the flash games/experiences that I played just bad, or did flash also struggle with pixel perfect placement. I remember both a lot of nearest neighbour flickering and a bunch of seems appearing/disappearing.
- torginus 5y agoI'm not sure if I agree with all of this. People forget flash kinda sucked. One of the most significant ways in which flash sucked was the performance. Imo, the most famous flash game of all time is Binding of Isaac, which basically couldn't achieve a respectable, consistent frame rate even on the most powerful rigs. It's native rewrite, Rebirth, never had performance issues. >You can't do pixel-perfect rendering Sure you can, with canvas, and if you want to have absolutely perfect control, there's WebGL (and nice stuff like PixiJS) >No nice pipeline for integrating vector animations/art into games You can render SVG sprites into bitmaps, and use them in WebGL or canvas, as you mentioned, you needed to do this too in flash as well if you wanted decent performance. >easy to make fancy + good-looking interactive UIs If I remember correctly, most fancy game UIs were built with some framework, like flixel, which used low-level drawing primitives and built-up the UI from scratch. Alternatively you could use the full power of HTML+Js frameworks to build arbitrarily complex UIs and overlay them on your game scene. >many of the html runtimes for new engines (Unity for instance) feel waay heavier/more sluggish in the browser True, but they are meant to be, and meant for bigger games than flash/html5+js is. But for modern engines, HTML5 export sucks, there's no doubt about that. But that's a failure of execution, not technology. I remember Epic citadel a decade ago, which ran by compiling C++ to js with emscripten, and it worked pretty well: https://www.youtube.com/watch?v=BV32Cs_CMqo https://www.youtube.com/watch?v=BV32Cs_CMqo Also, there' a few Electron based indie games, most notably CrossCode, which is a fun, and technically pretty well executed game, and by the devs' own admission, it's built on pretty ancient tech.