Hacker News new | past | comments | ask | show | jobs | submit login
Flash is dead, long live OpenFL (gamasutra.com)
271 points by lelf on Mar 22, 2014 | hide | past | web | favorite | 98 comments



For those not familiar with OpenFL, /u/larsiusprime posted a nice summary of how it's used:

"OpenFL is is a programming API that mirrors the Flash API, but in the Haxe language. So you take your old ActionScript code and port it over to Haxe (very similar language, but with additional features). Then you also take your Flash-vector-art SWF files, and you load it with the Haxe SWF library. OpenFL ensures you can still make all the same method calls to the Flash API, etc.

When you compile, you select one of many targets, kinda like unity: C++, JavaScript, etc. It conveniently packages those targets up into special configurations like "Android", "Windows", "HTML5", "Linux", etc.

So you can take your existing flash code and art, but get it running NATIVELY, in say, Linux desktop, with no need for the flash plugin or AIR runtime -- it's just a C++ app that does the same stuff (and much faster!)

You can also output to HTML5 so your players don't need the flash plugin anymore (the HTML5 target is still fairly new). As an end user, there's nothing for you to really do, except to wait for flash developers to switch over to it. From your perspective, all you'll really see is that instead of Flash apps on the web, there's more HTML5 apps. And instead of AIR apps for games on the desktop, they're natively compiled for Linux. What happened in these cases is that the developers were using Flash before but switched to OpenFL."


So basically, the open source community made a better flash than Adobe did? That is rather amazing considering the resources of the respective groups.


They've done it twice. MotionTwin did a lot of work in AS2 so they built a better compiler for it (MTASC), which compiled faster and made faster swfs (it's still used in production at the BBC).

Then when AS3 came out they seem to have thought "Oh come on!" given the quality of the compiler and language features so they built a better language. Again, faster and better compilation, as well as properly implemented things like generics (particularly compared to the awful implementation in AS3).

It's a lovely little language, and cross compiles to a vast range of platforms with ease. I built an android app which ran a webserver to control a TV app built in it (compiled to JS). I also had good success compiling it to PHP (cross-platform serialisation & deserialisation turned out to be easier and more performant than parsing XML on some low power devices).

MotionTwin made my working day so much better, not having to use the CS4 was wonderful.


Actually, HaXe, Neko, mtasc and MotionTwin projects of one person: Nicolas Cannasse. Dude is a legend, and community surrounding those projects is amazing.


Great example of this; adobe released alchemy[1] a couple years back with which you could compile very basic c/c++ code to a "swic" library which could then be referenced in flash. Although initially free to try adobe wanted to turn this into a premium feature[2]. It was quickly reverse engineered and turned into a haxe api, that made the step of using basic c/c++ and compiling it to a swic obsolete, keeping everything nicely in the haxe ecosystem[3]. If that was not impressive enough they did the same thing with "pixelbender3d"[4] and created hxsl[5].

[1] http://labs.adobe.com/technologies/alchemy/ [2] http://blogs.adobe.com/flashplayer/2011/09/updates-from-the-... [3] http://ncannasse.fr/blog/virtual_memory_api [4] http://www.adobe.com/devnet/pixelbender.html [5] http://ncannasse.fr/blog/announcing_hxsl


Context: I posted that description on the /r/linux_gaming thread to a user who initially thought that OpenFL was a plugin or something and was wondering "what they needed to do" to use it.


How does it do networking?

All I see in docs is a simple GET/POST request. Realtime multiplayer game would be very slow using it.


Documentation is one of Haxe's weak points right now.

Various Haxe networking libraries: https://github.com/MattTuttle/hxnet https://github.com/andyli/hxudp


> I could try HTML5, but that precludes releasing high-performance desktop-ready games for Steam.

We develop Construct 2 (https://www.scirra.com) which is an HTML5 game engine. It can export to EXE via Node Webkit with very good performance, as well as the ability to export a multitude of mobile platforms as well.

One game we're excited to see released in the near future made in Construct 2 is "Penelope": https://www.youtube.com/watch?v=ZaynOYy2O54

The author is developing this game in Construct 2 for PC/Mac/Linux.

Some of our users have also submitted their games to Greenlight, here's a couple:

http://steamcommunity.com/sharedfiles/filedetails/?id=184459...

http://steamcommunity.com/sharedfiles/filedetails/?id=929949...

These are all HTML5 games!


Another example is ImpactJS, which allows you to write high-performance mobile-ready games!

http://impactjs.com/


It always makes me happy to see my game engine mentioned here. Thank you! :)

Just to chime in, I believe that HTML5 currently is as "cross-platform" as it can get, especially for games. Two examples made with Impact:

- Olympia Rising[1] - this game recently had a successful kickstarter campaign and will be released for various desktop platforms and maybe more later.

- XType Plus[2] - my own game coming to the Nintendo Wii U, using the Nintendo Web Framework. It's a pimped up version of this XType[3], which you can play in your browser right now.

[1] https://www.kickstarter.com/projects/paleozoic/olympia-risin...

[2] http://www.nintendolife.com/news/2014/02/developer_interview...

[3] http://phoboslab.org/xtype/


Just thought since I have the opportunity I'd mention: My biggest problem with ImpactJS is that I'm required to pay before I'm allowed to try using it.

I've considered it a number of times but each time, that $99 barrier pushes me back towards the alternatives like Panda.js (which I believe is actually inspired by Impact). Not to mention Unity, which is free for some platforms.

If you offered a trial license, that would be awesome, although I understand you likely don't because of fear of abuse.


Actually, there's something I'd like to ask you re: that. Is there any chance of Ejecta being ported to other mobile platforms, Android in particular?


(Edit: for those unfamiliar with Ejecta: http://impactjs.com/Ejecta )

I do have a toy project that aims to be a cross-platform Ejecta eventually. It's written in C and divided in an OpenGL Canvas drawing library (so you essentially get the HTML5 Canvas API in native code) and a host application that provides the JavaScript binding.

Currently, there's only a host application for iOS. I don't know much about Android and have yet to figure out how to best couple the C lib with the Java code... or if I even need Java code to begin with.

I wanted to have a working Android host app first, before putting it on github and then building up the feature set on both platforms to where Ejecta is now.

I also thought about doing a kickstarter for this, but I'm not sure what exactly I could "sell", because the I want to have it open source anyway. If anybody wants to sponsor the development, get in touch :)

tl;dr: yes.


I wouldn't bother - Crosswalk does the job great for Android:

https://crosswalk-project.org/

It's based on Chrome for Android so you have a fully-featured browser engine available. iOS is the only platform where there isn't a good GPU-accelerated browser engine available that can run native apps, hence the use case. (P.S. we hope to support Ejecta in Construct 2 officially soon!)


Wait, Chrome? With its horribly slow 2D acceleration and aliasing? Why would you want that for your game?


Chrome for Android has GPU-accelerated 2D canvas and WebGL support now, and it's great for browser games! Probably the best mobile browser in fact.


From my own experience Crosswalk gives you about 60 fps for simple canvas based games on Android 4.3 and 4.4. It is an interesting framework to use.


Some time ago I built something similar to Ejecta (https://github.com/funkaster/FakeWebGL) aiming to have support for Android. It's using Spidermonkey instead of ScriptingCore, and it's written in C++. I haven't updated the code in a long time, but it shouldn't be too hard to update to the newer SpiderMonkey and at some point add Android support :) I just need the time (which between work and my side projects, is almost 0). If someone wants to help, the code is there, and I'll be happy to provide guidance and support.


Thanks for impactjs! I used it to develop this couple years ago: http://heartlight5.com Have fun!


What if I was looking for powerful ways to develop JS apps rather than games?


I like the ideas of C2, but I don't like developing on Windows and it seems like they won't release the tools for Linux soon.


Also worth mentioning the announcements of numerous other game engines, including Unity and Unreal, supporting HTML5:

https://blog.mozilla.org/blog/2014/03/18/gdc-2014-mozilla-an...


Thank you. I was going to come in here and say "Look I don't know if there are any HTML5 games on Steam, but how hard could it really be to package your game up in a fork of Chromium or WebKit?"


I remember using OpenFL a year ago or so. Probably less. The coding environment itself was very nice. But it was horribly painful in practice. Sure, you can compile to multiple targets, but don't expect it to work. And if it does work, chances are your code is littered with platform-specific macros and reams of platform-specific code.

To make it worse, many parts of the Flash API weren't implemented, had different semantics, didn't work on some platforms, or worked differently on some platforms.

I like the idea of OpenFL and I like the Haxe programming language. When I tried it, it was clear that things were improving quickly. I hope it has improved a lot since then.


I've been working with Haxe and OpenFL for about a year and a half. A year ago I would've agreed with you, but the past year has seen some major advancement in all of these areas. The Flash API is more fleshed out at this point. Setup still has some quirks but I find that once that's taken care of, compiling for multiple platforms "just works" and is incredibly convenient. For example, OpenFL will actually download and install the Android SDK and NDK for you, then compile your application and sign the APK with a single command. The most popular game engines (HaxePunk or HaxeFlixel) are great at smoothing over some of the platform-specific differences in things like rendering. It's not a magic bullet and you still need to have a basic understanding of each platform you want to target, but Haxe and OpenFL make things so much easier.


> I've been a stalwart Flash developer for 15 years, so nothing bothers me more than greatly exaggerated reports of Flash's premature demise.

...

> I've learned my lesson -- whatever my next platform is, no-one should be able to take it away from me.

There's an interesting side discussion here. It seems to me that the rate of substantial changes in technology/frameworks/ui design/etc is increasing such that the expectation of finding a platform that you can hold on to for 15 years is becoming untenable.

I worked with Flash (via Flex) for several years and found it to be one of the best UI frameworks I've ever developed with. I have yet to find an web framework that matches the productivity of MXML and databinding for standard sorts of UI's.

I also use emacs daily, which is a piece of software that's older than I am and still going strong.

That said, when it comes to staying on top of technology rather than being made obsolete by it, I have yet to find a better strategy than to try to "ride the wave".

HTML5 addresses a lot of cross-platform issues and has a lot of attention today so it's worth learning, but I don't expect what I learn today to last forever. If/when VR takes off, we might all be focusing on 3D frameworks and a wealth of new UI primitives to support that ecosystem. Or, maybe some other technology will take the dev community by storm and it'll be worth going that direction.

In short: moving with the major paradigm shifts seems more tenable than trying to find/predict the stack that will last the longest. Very curious to hear if others have similar or alternative thoughts.


Flash did what any other technology is still unable to do (maybe with the exception of java)- offer a true cross platform solution. Look at webrtc. Its been over a year now since the hype and we still don't have support in half the browsers. Till date no technology does audio/video chat as well as Flash.


open platforms are a long term investment.


> finding a platform that you can hold on to for 15 years is becoming untenable.

I would think so. It only became clear that Ruby would be viable for jobs about 7-8 years ago. It is used absolutely all over the place right now, true. But it is going to be competing against Google's V8 pretty much directly, and that, well that is not winnable.

Adobe Flash has been around for so long that Wikipedia doesn't mention when. I remember flash on even the first web enabled computers. Everyone had it so they could play games on Newgrounds.

That is such an exceedingly long time ago, I don't feel like OP has very much to complain about.


I remember it back in 1996 when it was called "future splash". the first major website to use it was simpsons.com, with the major selling point that the drawings could be done with vectors and thus be quicker to download than hefty GIFs or JPGs. it was "just" a vector image format. Nothing about apps or interactivity.

People (especially flash devs) give HTML5 a lot of flack now for not being a "real" "viable" platform, but those same people don't seem to remember flash used to get a lot of the very same kind of flack for not being as powerful as java applets.

and java applets used to get the same flack for not being as powerful or fast as native apps.

In the grand scheme of things, flash and java didn't take that long to gain wide acceptance as serious platforms for real apps. People find it comical now that we're doing things now in HTML5 that we could do 10 years ago in flash or java, without remembering you could do it 20 or 30 years ago on the metal. Progress is sometimes making these things more broadly accessible, instead of just more "impressive" or "serious" from a technical standpoint. And that's still an important and valuable kind of progress that should not be so easily discounted! Yeah html5 is not as impressive now as flash is now, but it's open, free, and it could do the things flash could do when it started to get taken seriously. we can see the course of history from this point forward because we've been here before. Multiple times.


When I was doing professional web cartoons in Flash in 2000, Macromedia's general response to our complaints like "The editor falls over and dies on big files" was "it's not for that, it's for making little interactive thingies".

Fast forward a few years and there are network TV cartoons being done with Flash. Though it's a hell of a lot easier when you can render out video and stick it together instead of trying to put everything into one SWF for delivery over a 19.2k modem.


I have yet to find a better strategy than to try to "ride the wave".

My strategy also. I'm in my mid forties now and have always seen the language/platform as a way to exercise my development skills. Like many things the trick is timing, when to sit up and take serious notice of a new language/platform.


Kind of the entire point of Haxe is that you don't have to find/predict the stack that will last the longest, because whenever the hot new thing emerges... you just add a new Haxe target for it.


i don't think the language is what matters most when talking about technology. The platform is the important thing. When coding on iOS or Android, learning Objective-C or Java isn't the longest thing to learn. Learning the framework objects and patterns is really what matters. Same goes for HTML5, node, Ruby on Rails, etc... A computer language is very rarely using more than 50 language constructs (operators + keywords), which could easily be learned in less than a few days.

Haxe doesn't solve this issue i think (and nothing can).


It's maybe a bit more polite to say: Flash is not dead, it now compiles to multiple targets :)


It's not Flash that is dead, it's the whole concept of browser plugins. Too risky, too inconvenient, too often installed and then forgotten, never to receive security updates (or those that exist aren't installed because they prompt us about it far too often).


I'm not disagreeing but your comment makes it sound like you think OpenFL is still plugin based?


This is exactly why security conscious people don't use flash. Html is supposed to be a document and not an application. We created this Frankenstein with Flash, Java and JS to make HTML pages appear other than documents. The net result is that you need to install these plugins otherwise you can't get the full experience. The real question is why do we let people to abuse technology instead of using it well. I have disabled all of these plugins long time ago and also JS runs on very specific websites where it is an absolute must. You could install games through the browser, make it easier but to run through the browser, it is a bad idea.


> The real question is why do we let people to abuse technology instead of using it well.

I am (still!) amazed by the gap between how I see a computer and how most non-geeks around me do. To them, it's like a set of different, often frustrating tools rather than, well, an amazing piece of technology that can be prodded to do whatever you want (to the point where an iPad with few to no apps can provide them with all they need).

To me, there's a joy to finding just the right framework, app, or library that can do what I need done. To the point where I might end up enjoying the process a bit too much and get nothing done. To them, it's all about getting stuff done as soon as possible, with whatever they're familiar with. And since they find computers often quite frustrating, they will abuse the hell out of the little bits they know.

And so, in the same way that we would use a lighter to open a bottle if there isn't an opener nearby, they 'abuse' technology by using Excel for everything, or storing their notes in an open notepad window without saving. And as long as that works most of the time, they feel absolutely no incentive to figure out a better way.

Until, of course, it all goes wrong. Then they call us to fix it :-).


Jobs had his famous 'computers as bicycles for the mind' metaphor (I guess this is the origin: http://www.youtube.com/watch?v=DA_jypfKfAA), and this is how we geeks see them.

The problems are that:

1. computers today don't really look or feel like 'bicycles for the mind' to the average joe -- it's our job to make them look like what they really are instead of dressing them in pretty silky dresses (think all the iStuff...) OR, even worse, make them look like appliances (think the iOS devices that feel like a multi-tool, every app isolated by itself and very hard to move data from one to another) OR, even worse, cripple them on purpose (DRM, closed formats that are not cross-applicatin compatible etc.)

2. most people's minds are really bad at 'learning to ride bicycles'... hell, even teaching a human being to properly read and write takes a few good years -- so it's our jobs to make the bicycles easier to ride, but we should not forget the danger here: the way to make a bicycle easier to ride is not to hide that it's a bike! (this is kind of what we do with most of our UI/X paradigms, and it makes it easier for people to use computers as appliances, but much harder for them to realize they are mind-bikes)

Now that we have "a computer in everyone's pocket" we should get our heads out of our asses and show people what a computer really is!

And about 'using Excel for everything': I'd take this as a good thing! Excel is almost a goddamn programming language after all (and a functional one, btw), and it'as close as most will ever be to real programming.


I see this kind of sentiment on Hacker News a lot. I kind of feel like, if you really want to express this thought process, I'd like you to suitably justify that this argument isn't just a smokescreen, disguising your resentment that more people than ever can learn to use and enjoy computers and you're not quite so special anymore.

So you make up this story that what they are doing is not really using computers. It's not the same kind of wonderful magic that you can do. And while you say "Now that we have "a computer in everyone's pocket" we should get our heads out of our asses and show people what a computer really is!"

Well what if that actually happened! what if computer/coding/programming literacy really did become as widespread as reading,writing and arithmetic. There'd be nothing special about you anymore! So you fight the future. you fight the "Fancy UIs" while saying you're not!

Okay maybe none of this applies to YOU specifically. My point is, if you're going to embark along this argument, I think you should really make an effort to prove your true dedication to it. Prove it's not just an expression of a deeper insecurity.


Or we might look the other way around and see that the "technologists" are the ones to blame for not make things easear for non-tech people..

Bill Gates and Steve Jobs are masters here, and little to no one newcomers learn some good usability and simplicity lessons from them.. the complexity in tech are only getting worse, and eventually will require "saviors", wich are the ones people will praise for, and the tools people will use..

Notepads and Excels, not Emacs or Bash .. so its not the users that are the ones to blame.. we are.. The elistist geeks who think that everybody else should be a geek.. not savages


My comment was just observational. I agree with you completely. Especially after watching Brett Victor's videos and reading his articles I've come to realize that while a lot of progress has been made to make computers mass-accessible, there is an incredible amount of stuff we can and will still do.

Personally, that excites me. Every once in a while I still marvel at the slab of plastic and glass in my hand that does all these amazing things, even after having had a tablet for years now. Then I marvel at the thought that I, singlehandedly and at virtually no cost (that I wouldn't have otherwise), can create an app for the thing that even my grandmother could download and use.

Hell, I marvel at the mere fact that everyone around me has a computer, uses chat applications, and carries around a PDA everywhere. There was a time where I was the only one like that and even embarrassed about it in public.

We've come very far, and I can't wait to see what comes next (wearables, probably).


> why do we let people to abuse technology instead of using it well.

Because there is a demand for web based applications,because we cant throw everything in the trash saying we got to start over. Because the web is a way to distribute software with next to 0 cost.


Just using Javascript also makes it the same kind of "frankenstein" - if you are just concerned about code running then Javascript is no better than Flash


OpenFL is not a plugin.


>Html is supposed to be a document and not an application.

That was TimBL's intention, but that ship sailed in 1995.


> OpenFL is an implementation of the Flash API written in the Haxe programming language.

Other than "Papers Please," who is using Haxe for production (i.e., making money on products built with it), and for what?


1) Nickelodeon (using Flambe) -- web/mobile games

2) Disney (using Flambe) -- web/mobile games

3) Flambe (Haxe game engine)

4) reach3DX (next-gen 3D engine by Gamebryo)

5) Defender's Quest 2 (me) (HaxeFlixel engine)

6) Even the Ocean (Anodyne devs) (HaxeFlixel engine)

7) Rymdkapsel (Grapefrukt games)

8) Cardinal Quest II -- web/mobile (HaxeFlixel engine)

9) TiVo -- interface stuff I guess?

10) Tizen

11) Firefox OS -- just partnered with Flambe

12) Stencyl (Haxe game engine)

13) Motion-Twin (game studio that created Haxe)

14) Shiro Games (EvoLand devs)

That's just off the top of my head. So anyone using HaxeFlixel/HaxePunk/reach3dx/Flambe/OpenFL/Stencyl are all using Haxe-based game engines.


We made a cross-platform (Flash, HTML5, Android, iOS) video player for TF1 (first French TV channel, considered the most viewed TV channel in Europe)


I can't speak for the big guys, but I'm seeing more smaller Flash game devs make the transition from Flash to Haxe, mostly for the ease of porting to mobile/HTML5.

I've been making Flash games on and off since about 2007 and finally made the transition to Haxe with my latest game [1]. As others have commented, it's not perfect yet (i.e. some features aren't yet available on all targets), but I'll never be going back to Flash now.

[1] http://www.iquitmustdash.com/


Here are some showcases:

http://www.openfl.org/showcase/

http://haxeflixel.com/showcase/

Also we're waiting for our educational game to be approved by Apple app-store, and will make an announcement when it's done. :)


Flash is the plateform and the IDE, and nothing will replace the IDE regarding how easy to create and organise animations.

Sure,you can code in a text editor, But a designer cant do precise and complex animations with a text editor.

Editing and creating animations are 50% of the value of Flash and that's why the IDE is still necessary to develop games, wether they are HTML5 or mobile ones. Yes there is Unity but Unity is 1/ more expensive than flash 2/ sucks at 2d asset creation.

So no, Flash isnt dead,by a long shot.


Did you even read the article? you can keep using the Flash authoring tool and its native flash vector animations if you like

And the "dead" from the title refers to support from Adobe. The entire post is about how you can still target flash using OpenFL, haxe, etc.


Check out Stencyl 3.0+ [1]. It's a GUI game-creation toolkit and IDE with a game runtime written in Haxe.

[1] https://en.wikipedia.org/wiki/Stencyl


I must correct a minor error: "[Unity3D's] web browser target depends on a clunky plugin with a low install base."

This is no longer true. Unity3D can now (or very soon?) export to pure javascript and run in any WebGL-conformant browser without any plugins.


To be fair, they announced that a day after the article was written :) And the feature is not yet released. I can update the article in a bit.


If you would like to see how Mozilla's Shumway SWF player is coming along, you can preview Shumway-rendered Flash content without installing the Shumway add-on in this gallery. Even works in Chrome and Safari. :)

http://www.areweflashyet.com/shumway/gallery/


Well, this is new. This just logged me out of my Ubuntu session. It didn't restart, I just had to log in again.


Probably an X crash.


I like haXe, I really do, but for me, it's seriously lacking in libraries. It's all well and good to have everything you need to make games and displace Flash (everywhere!), but for instance, I can't just clone a GPX parser (https://github.com/tkrajina/gpxpy), pull in some other Python mapping stuff (http://sensitivecities.com/so-youd-like-to-make-a-map-using-...) and frontend it with another cross platform "language" (http://kivy.org/).

Big thanks and congratulations to the haXe developers, and I'll keep an eye on it with high hopes the library will expand!


With Haxe/Java and Haxe/C# you can use any Java or C# library directly from haxe (with -net-lib and -java-lib)


I've been following OpenFL/NME for about a year, I was surprised when reading http://www.openfl.org/blog/2014/03/18/flash-and-html5/ that pixi.js is based off the Flash API.


From the default linux install script for OpenFL (http://www.openfl.org/haxe-3.1.1-linux-installer.tar.gz):

# Set up haxelib

                sudo mkdir -p /usr/lib/haxe/lib
                sudo chmod -R 777 /usr/lib/haxe/lib
                sudo haxelib setup /usr/lib/haxe/lib
This isn't as bad as I originally thought; I tested this, and only that directory itself is world-writable (the sub-directories from haxe install foo are universally readable and executable, but not writable). Still seems like someone could install a malicious 'dependency' ahead of someone else needing it.


Oh, I remember seeing this last time I looked at this. I generally don't like seeing sudo/su in a script like this at all -- and especially not something that goes an messes with LSB-locations like /usr/lib.

FWIW, the actual software is download by the script, eg: http://haxe.org/file/haxe-3.1.1-linux64.tar.gz

For something that is aimed at developers, one would think this stuff installed under /usr/local or /opt (benefit of /usr/local is that most(?) distributions set up PATH,MANPATH, various link/library paths etc to include /usr/local. Benefit of /opt is keeping the package well "out of the way".

World writeable directories without a sticky-bit is generally just wrong -- under /usr/lib it's pretty terrible.


Finally. I have loved using Flash for game development back when it was owned by Macromedia, and with AS3 it's still got a powerful API, but at the end of the day having an open-source implementation to work from is far nicer. It helps that Haxe is really cool, too.


A link to a discussion including industry insiders. [1]

I made this [2] with Haxe/OpenFL (NME) a year ago (W.I.P. that's gathering dust now). Music's not mine, just stand-in from awesome Hotline: Miami. Didn't have much luck in trying to get this to run on mobiles.

[1] http://forum.starling-framework.org/topic/flash-is-dead-long...

[2] https://dl.dropboxusercontent.com/u/48356497/vizard/index.ht...


Flash will be dead when web game companies (e.g. Zynga) stop using it.

It's still years away.


At least one major component is moving off of Flash: videos.

Now, if you opt to forgo Flash on your device, the most you seem to miss are some games and annoying banner ads.


Unfortunately, as far as I know there's still no decent solution to stream video without flash (I'm talking Twitch et al here). Twitch is the only reason I still have flash on my computer (and not actually for watching games being streamed, but for the annual Desertbus event).

Has the HTML5 video streaming improved at all over the past year?


I also kept Flash around mainly for this reason. It doesn't help people that want to make streaming video sites, but you don't need Flash to watch live video streams from sites like twitch.tv. You just need a media player capable of playing streaming video (mpc-hc, mpv, and vlc all work), and the livestreamer command line tool which extracts direct video stream URLs from twitch.tv pages.

http://livestreamer.readthedocs.org/

This works perfectly for me, arguably better than the Flash-based player. I uninstalled Flash a few months ago and haven't felt the need since.


I am aware of the VLC workaround. But I like Twitch enough that I'll actually watch their ads, as I think they're reasonably placed etc. So until they're implementing a flash-free solution (and I'm sure they're interested in doing so), I'll just keep flash around for them.


Is there any client option for iPhone users to view streaming Flash video?


There's Media Source Extensions, but it's a draft standard with limited support currently.


> I could try HTML5, but that precludes releasing high-performance desktop-ready games for Steam.

Oh Jesus Christ. Do not do this. "Flash" and "high-performance" do not ever belong in the same sentence. Binding of Isaac was a game that, visually, could have run on a Super Nintendo, but it chugged like a tired tortoise on a midrange 2010 laptop. I know Flash is popular, I know it's easy to develop with, but if you use it for "high-performance" game design you are cutting out a huge potential audience of low-end users, because it is miserably slow and inefficient. I should not need cutting-edge hardware to run a simple 2D game.

Edit: For vector games, at least. Raster games made with Flixel seem to run all right. But Flash's native vector implementation is Godawful and deserves to die.


Did you read the article?


I did. I may not have been clear, though. He says HTML5 is a poor substitute for Flash because it doesn't work for "high-performance desktop-ready games for Steam." I'm saying that Flash has never been any good for "high-performance desktop-ready games," and devs really, really need to stop deluding themselves that it is.

Basically I'm saying I have trouble trusting anyone who thinks that Flash was ever a decent high-performance gaming engine.


I get that. (I wrote the article by the way).

"I have trouble trusting anyone who thinks that Flash was ever a decent high-performance gaming engine"

I never said it was -- just that if I have to switch to something anyways, performance is something I want to take into account.

And for what it's worth, flash wasn't high performance, but with proper optimization you could get acceptable performance -- and in the case of our game[1] locking ourselves to 800x600, we got way, way, better framerates and sprite counts than Binding of Isaac (which uses AS2 and unoptimized graphics).

Perhaps I should have been more clear in the article -- "As long as I'm leaving flash behind, I don't want to jump straight over to something else that might have the same performance concerns I've been fighting/hacking against all these years."

[1]http://store.steampowered.com/app/218410/


That makes more sense, then. I've been burned a couple of times buying games on Steam by devs who thought Flash was good enough for pro development. (IIRC, both of them either got or are getting a non-Flash remake.) And I've been frustrated by the slowness of Flash web games pretty much since it was launched, until just a few years ago when I was able to afford high-end gaming rigs. So it's a hot button for me.


So what I got from that is that Haxe is a statically typed javascript with actual honest-to-god macros. Married to a trivially simple 2D graphics and audio framework, that thousands of developers are already familiar with.

That's awesome!


I echo your enthusiasm, but haxe is not really statically typed javascript any more than java is. It's also not really married to any framework, OpenFl just happens to be one of the most popular ones right now. Most 2d apis are trivially simple these days. OpenFL doesn't leave anything out there at least. If you're interested in more sophisticated 3d support, OpenFL provides a surprising level of functionality there, including recently announced support for stereoscopic 3d.


There's also a bunch of other backends if you want something besides OpenFL -- there's h3d, kha engine, Flambe, etc.


Every time I read an article about Haxe (and now, OpenFL), I get the itch to start working on a mobile game--just as a hobby project.

That said, does anyone know how well-suited these frameworks are for regular application development (or whether there exists alternatives)? I've been thinking about wipping up a mobile app, and while I could write the Android code, my knowledge of Objective-C is so limited at the moment that I'd like to avoid duplicating the same logic in another environment/language...


There are two UI libraries for openfl, HaxeUI and Stablex:

http://haxeui.org/

https://github.com/RealyUniqueName/StablexUI

btw: There is Objective C target in haxe, so you can develop native apps for iOS in Haxe.


The problem with flash is the same problem as the .Net framework, Coldfusion and similar technologies.

You cannot have an entire ecosystem revolve around a single company and not have growth or compatibility problems. You simply can't.

What flourishes? Things like Linux, Python, etc because they can be flexible and adaptable. When you have a company in charge of a technology you will always be at the whim of that company and what they decide to do with it.


Flash is animation software. That people write games in it is a function of its past ubiquity and a symptom of the dangers of Turing completeness. Actually coding in Flash is unbelievably horrible. This is like an announcement of a well-supported cross-platform Brainfuck kit.


Flash has not been able to decide if it's animation software or a software platform for pretty much the entire time I've used it. When I was doing web animation back in 2000, Macromedia's response to complaints about the editor crashing like crazy when dealing with the ~20M source files involved in making 3-4 minute cartoons was basically "don't use it for that, it's for making little interactive widgets".

Oh yeah, and animating in Flash is often pretty horrible too.


Awesome overview. It's fairly easy to start with. Especially for 2D game. It compiles to JS as well fairly painlessly. Some difficulties occur when your start using oldschool Flash stuff such as "BitmapData" etc. Or fonts. But other than that it's pretty great.


Looks like Adobe are about to lose a key asset through management incompetence. The Xerox of our time?


Wow! And no mention of scaleform - the Flash MiddleWare for consoles... humm... - http://gameware.autodesk.com/scaleform


Chrome still has Flash Player built-in and that won't change any time soon. I think once Chrome and YouTube completely move on it'll be a major development in Flash taking a back seat.


Well done larsiusprime. Great article. You have me very interested in trying out Haxe and Lime, maybe OpenFL as well.


As an ex Flash developer all I can say is this: Stick with open source and find an up facing trend.

BTW fuck Adobe.


"X is dead, long live Y" is dead, long live original headlines.


Well, the first half of the title is right.


Hey, guy who wrote that article. The Web Platform is going to become the dominant platform for games and performance is going to be just fine. Wanna bet? :-P


I agree. Did you read the article?




Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: