Posted by helloplanets 17 hours ago
Lots of wonderful single player games were made in Flash, and it's awesome that there's a way to play them again. But almost all of my work was multiplayer or relied on amfphp or other Flash versions of XHR to draw in data for levels, multiplayer, music or graphics after my engine loads. I still have all the server code... but all we can resurrect still are games that are entirely self-contained. That's still alright but it relegates Flash to a museum.
I used sockets in some of my multiplayer games, but that's not where I ran into problems with Ruffle. Since those games only upgraded to sockets after an initial HTTPS connection, I haven't even gotten to the point of trying sockets yet. I mainly just used NetConnection.connect() for routine API calls, not to open a socket. AFAIK .connect() didn't open a socket, although I guess it had some two-way capabilities with Flash Media Server, but that's not how I used it. I just used it to initialize the NetConnection instance with the URI of a server endpoint that could receive AMF messages (usually translated on the backend with AMFPHP). I don't think it really left any sort of connection open. After that, you'd just make RESTful calls over that connection using netconnection.call(...args), and could send complex objects - even SQL result sets - back and forth without going through JSON or XML. But it was just a bunch of HTTP calls sending that data in Flash's own serialized format. You'd listen for NetStatusEvent or SecurityEvent to handle the results or errors. No sockets were involved. In conjunction with AMFPHP it was basically like a URLRequest without any structuring or destructuring needed to parse the results into AS3-friendly data types.
It would be amazing if only the RESTful kinds of NC connections and calls could work again through Ruffle, I think it might be all that's stopping my old games from running!
0: https://flashpointproject.github.io/flashpoint-database/sear...
However with the source code and server code it seems like a perfect task to set an AI agent (IE. Please patch out these API's and replace them with websockets on both client and server, then recompile)
What I would love to see is that we retain old flash games too. HTML5 was promoted as "making flash obsolete", but they never fulfilled that promise. Many flash-games simply died and there was no replacement in HTML; similar with some java applet games. Or at the least I could not find a replacement (that's also a problem - with google search having become nearly useless, finding things is super-hard; and of course old websites tend to die, that is also a problem).
Great way of reviving a game. Because it's those small things that make it hard to go back to older games. Old graphics I can live with, but it often looks weird if made for crt. And the interface breaking on bigger screens etc is hard. But mainly it's often the nicer mechanics and QoL things one miss.
0: https://flashpointproject.github.io/flashpoint-database/sear...
Some games didn't mind running locally from an .swf file, but some others had a "URL protection", presumably to prevent people from embedding their flash games at other websites, and they didn't make an exception for localhost.
Long time ago I've fixed hundreds of such flash games using RABCDAsm and made them work in standalone Flash Player.
Took a brief look at Flashpoint Archive, it seems their way to fix URL check is to spin up a web server to present an address the game expects.
https://flashpointproject.github.io/flashpoint-database/sear...
Or you can play it here too https://archive.org/details/homerunderby_en
I've realised that giving him a reduced hand-picked library of games, with no ads, no automatic prompts to try another game, might be a good idea. These flash games are easily as good as most of the junk I see him play anyway.
Swift Playgrounds was (is?) ad-free and teaches programming. There are music studio apps that let him compose his own music. Plenty of apps let kids create things actively instead of just playing games. There are also all sorts of non-electronic activities that could occupy his time more fruitfully, but I'll skip over that.
But, the kid wants to play games, not build something.
You can get entertained by both, but doing only one of those things is boring.
And that works until they have 1 conversation with other kids, in school or whatever.
What's odd is the apparent chasm between those games and the earliest flash games, but really it's just a few years. That's just a trick of the mind. When you're a kid, turning into a young adult, a few short years feel like a lifetime. Man, it speeds up after that...
iirc support is generally good, but some versions of flash/actionscript have issues (at least last time I checked).
Now thanks to https://f-droid.org/es/packages/rs.ruffle/ (it has high % compatibility but it is ok) another we have again a handful flash games in the phone.
There was an official plugin by Adobe on Android but it was awful, I remember watching them showcase it at a conference it was tragic even with their handpicked and simple example.
Then there was a transpiler that produced native apps from Flash, this was actually pretty good but Apple then banned transpiling which killed its viability entirely, six months later they un-banned transpiling but the damage was done.
But on the plus side, Apple got to monopolize transaction fees in Flash games like Farmville for nearly two decades!