The history of Flash games in China
chaoyang.substack.com
chaoyang.substack.com
I didn't realize how insanely popular the game was until I was in Las Vegas about five years ago, and a Gold Miner rip-off game was available while drinking at the bar.
Fun story - GameRival.com actually started from an advertisement game for NASCAR on Fox. We built this silly little Flash racing game that let you "challenge" your friends to beat your high score at the end. It did so well, we decided to double down and and licensed games to launch a new property to compliment our network of original Flash animations (sites like FlowGo).
This caught my eye because so few start their IDENTITY columns at the lowest possible negative value, thus missing out on half the possible values.
...except tinyint. (Sorry. That was definitely a nerdsnipe.)
Also, PDF specification was available since 1993: https://web.archive.org/web/20150617123515/http://acroeng.ad...
I used Applix Word to produce my résumé in PDF format when applying to jobs during senior year of college, 1998-1999. I don't remember if Applix itself generated the PDF from its .aw format, or if I used some other tool, but either way I had no trouble doing so from Linux.
We are still catching up with 2011.
Did they reverse-engineered the spec? Or was there some sort of Flash specification available in some form?
This isn't because Flash on phones would just never work[0]; but that Adobe was unresponsive to Apple's concerns. They viewed the iPhone as "just another thing to put Flash on" rather than something that absolutely needed special attention from the Player team. And it absolutely did need special attention.
As an extra insult to injury, Adobe's CEO refused to take Steve Jobs' phone calls[1].
[0] It absolutely could; it would have required implementing hardware-accelerated video, composited animation rendering, and the conditional-tap-to-click behavior that Safari used to handle rollover menus. Instead, Adobe handed Flash developers StageVideo, Stage3D, separate touch events, and told the developers to sort it out themselves.
[1] For context, every company involved with early iPhone software was on Steve Jobs' speed dial.
Later on, right after Adobe released the last version of Director; they tried to market Flash itself as a platform for cross-compiling games to. Except they wanted to charge money for it, in a way that severely pissed off Flash developers and drove even people who did not care about mobile off the platform.
[0] Formerly known as FutureWave Splash
Flash for long running applications leaked so much memory. I remembered developing an electronic information panel for screens in flash. We needed to use mdm (a product that extended flash capabilities) and restart the app automatically to avoid it to run out of memory. Fun times. Haxe was, and is, cool too.
When Adobe partnered with Google and shipped Flash on Android, the experience was predictably terrible and support was pulled in a year or two.
I mention Stage3D because it was emblematic of Adobe's approach to handling Flash Player performance issues: hand the developer the tools to make new content performant, and rely upon them to make their movies run fast. The most egregious example of this, to me, is Starling Framework; a complete and total drop-in replacement for the Flash display tree in AS3 that redirected everything to the GPU.
Apple took the opposite approach: performance was built in to the most basic display primitives of the browser. Critically, this meant that even crusty old legacy content would run well in Mobile Safari. Instead of requiring, say, every website ship a virtual DOM just to get decent mobile performance, they implemented hardware layer compositing so that websites would work unchanged.
The Flash equivalent to this would have been integrating hardware acceleration into the native display tree so that everything - even crufty old AS1 movies - would play efficiently. I don't have access to Flash Player internals, so obviously I don't know for certain if this was eventually done. However, the impression I got was that if you wanted GPU compositing, you had to use Stage3D; Flash Player didn't just give it to you.
As for the non-technical points, my citation is this Twitter thread by a (former?) Apple engineer who was involved with much of the engineering on the original iPhone: https://twitter.com/bob_burrough/status/806098650094940160
"Adobe is a shitty partner" corroborates well with their later behavior with regards to Flash developers, such as...
1. Attempting to charge a 10% revshare for using Stage3D from cross-compiled code
2. Removing the ability to install old versions of Flash/Animate from Creative Cloud, to try and dodge legal liability from the Adobe/Dolby lawsuit
3. Providing a substandard Flash Player exit strategy for developers that wanted to embrace HTML5
4. General lack of polish and maintenance in subsequent versions of Adobe Animate
All of the technical points I mentioned (which, again, are paraphrasing almost a decade's worth of history) are downstream of this. Adobe makes strategic blunders in the name of cost control.
[0] If you count early versions of Flash Lite that only ran on Japanese smartphones next to a bunch of really solid console game spinoffs that westerners never got
[1] From personal experience working on Ruffle, the limiting factor with turning on new features is almost invariably MobileSafari. Also, web push notifications have been a thing for years by now, but Apple still does not support them on iOS.