Hacker News new | past | comments | ask | show | jobs | submit login
The history of Flash games in China (chaoyang.substack.com)
93 points by minding 66 days ago | hide | past | favorite | 32 comments

So fun to see Gold Miner mentioned! I built the GameRival.com site where it and many other flash games were hosted. The game was so popular it led to an integer overflow in the (unsigned) int32 primary key column of our logging table (SQL Server).

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).

I don't know if I'm being purposely nerd sniped or not, but SQL Server doesn't support any unsigned data types.

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.

You're totally right, I meant signed. I was writing "didn't support unsigned" and realized I could just say signed and still screwed it up.

but SQL Server doesn't support any unsigned data types.

...except tinyint. (Sorry. That was definitely a nerdsnipe.)

Had adobe freed and invested in standardizing flash, the web could be a very different place today.

From what I heard, Adobe couldn't even standardize Flash internally. Flash player was apparently internally a dozen or so Flash runtimes that everyone was afraid to touch except to cut a new version on top of the others.

Agreed. Flash to me is a demonstration how badly managed software project (particularly when core teams were gone) can doom a promising business.

On the plus side, it was the most stable web technology out there for over a decade.(with regards to backwards compatibility)

They tried, here WebAssembly before it was even an idea, https://adobe-flash.github.io/crossbridge/

We are still catching up with 2011.

PDF only became open in 2008 and its doing pretty well.

There was interest, or it was simple enough to allow open source implementation to flourish. Even in 2008 there was plenty highly FLOSS to create and view PDF. Flash, OTOH, was a mess.

Also, PDF specification was available since 1993: https://web.archive.org/web/20150617123515/http://acroeng.ad...

>There was interest, or it was simple enough to allow open source implementation to flourish.

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.

I never worked with Flash/AS, but I remember some tools targeting SWF (OpenLaszlo, Haxe).

Did they reverse-engineered the spec? Or was there some sort of Flash specification available in some form?

The format (swf) is an open standard, since... around 2008ish? ActionScript goes further, the VM itself is open source (as Mozilla Tamarin).

A few years back I made a small web game, and then found out it had been ripped and posted in a Chinese website (translated to Chinese). Far from pissing me off, I'm flattered anyone bothered doing that. Up to this day this is my biggest source of traffic.

Slightly off topic but I'm curious if there's any preservation of flash games? Especially in making them available for use offline?

Newgrounds created Ruffle [1], which is a Flash Player emulator written in Rust. Now that Flash is disabled by default, they use it to keep some (but not all) of their archive of Flash movies and games running.

[1] https://github.com/ruffle-rs/ruffle

The main article begins with the heading "Flashing for Fun and No Profit".

I still don't forgive Steve Jobs for his greed in killing Flash because he wanted to get a piece of everything iphone.

In Steve Jobs' defense, he begged Adobe to make Flash work on iPhone like four times and they couldn't make it work.

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.

I worked at Adobe at the time, adjacent to Flash, and as far as I know nothing you've written here is true. To answer only technical points, Flash for iPhone (which existed, and worked) was built off FlashLite, which supported touch events and had hardware video (naturally, it's not like software decoding was an option). OTOH StageVideo and Stage3D play no role in this, as they came along ~5 years after FlashLite or potential iphone support was a thing.

I'm paraphrasing a ton here - remember, Adobe was pushing for mobile Flash for almost a decade[0]. The problem was ultimately that the user experience didn't meet Apple's high standards, not that Apple wanted to neuter the iPhone web browser. Remember: apps were never part of the plan until a year after launch, and Apple didn't have the market power to slow-roll the web[1] until way later.

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.

Wonder if Adobe has any regrets.

So much progress was made with Flash by Macromedia, then Adobe bought it and dropped the ball literally after a single version. The software quality degraded almost instantly and new features took way too long to release and came buggy, or conflicted with existing features. Animate CC is by far the buggiest software I use, so much so that it continually saves annoying recovery versions of your documents because crashing happens so frequently. I don’t think Adobe was at all capable of making Flash a success on mobile.

Couldn’t agree more. Flash with Macromedia felt like a real piece of software that passion and care went into. It was a joy to use. As soon as Adobe grabbed it, it just became a shell of what it had been. Honestly sad to see. :(

I’ve got my whole career to thank Flash for. I discovered it when I was 14 and it absolutely blew my mind. I didn’t know what variables, loops, or functions were, but still somehow figured out how to “program” games. Animate CC is still extremely capable animation software for games purposes. I wish Adobe would just sell it to some other company who could actually leverage its authoring capabilities.

Definitely. And Director, which extended to 3d! At the time it was more for interactive cds, but the potential for a Unity-like experience was there.

The problem with Director was that most of it's market had switched to Flash at this point. Early on, Flash was a competitor[0] to Director that outcompeted it to the point that Macromedia just bought it out. The way Macromedia differentiated two very similar products was that Director was for bigger projects Flash couldn't handle. Which meant that as Flash got more features, Director made less and less sense to use. There's a good few years where Flash basically was "Unity before Unity" in terms of what you could do with it easily.

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

Interesting. Yes, Director could also do 3d way before Flash, but the interface felt, from what I remember, clunkier.

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.

he had a point though, flash was full of security holes. The list looks scary: https://www.cvedetails.com/vulnerability-list/vendor_id-53/p...

China had an amazing free game community, which made so much awesome unique stuff. Little Fighter 2 still rules.

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