Why Cut the Rope uses Flash

OK, I admit it. I was kinda mean to Seattle game developers Pixel Lab about their HTML5 Cut the Rope game. And in my teasing for their slightly obsequious Microsoft sales pitch in the video, I neglected to mention that it’s actually a very very slick production, incredibly well executed.

But they also got some extra teasing from other sites because the game needed Flash to run in browsers other than IE. On the surface this looks a little like cheating, but Pixel Lab developer Robby Ingebretsen explained his reasons.

…short, repetitive, time-critical sounds like you find in a game can tax your soundcard in a different way and, frankly, not every browser does a good job in that situation.

…We tried: recycling audio elements, instantiating audio elements on each play, using audio “sprites” (where we combine sounds into fewer audio files and use offsets to play the sound effects) and using different encoding strategies but nothing reliably fixed the issues.

I must admit, I’ve had similar problems, and Dominic Szablewski (who made game engine Impact.js) posts regularly on his blog about HTML5 audio issues.

In fact on the iPhone, HTML5 audio won’t even load unless in response to a touch event. You can really see how broken this is when you try to run Cut the Rope in Mobile Safari (although the rest of the game runs really well on my iPhone4!).

I don’t see anything wrong with falling back to Flash, especially when it enables you to use new in-browser capabilities before they’re widely implemented. My friends at Unwrong made an HTML5 game that worked in IE6, because they used FlashCanvas – a library that falls back to Flash if no native canvas support is detected. (Ironically FlashCanvas can perform better than some browsers’ native canvas implementation, but let’s not open that can of worms :) )

Here’s Robby’s full explanation : Why is there Flash in the HTML5 version of Cut the Rope [via .net]

13 thoughts on “Why Cut the Rope uses Flash

  1. This is one of my big problems with all this html5 game stuff. Flash has years of tweaking to be an excellent game platform and to run well on many types of hardware. Now all this html5 stuff is trying to force browsers to go the same way. Will all browsers achieve the flexibility and speed of Flash? I see it as unlikely. Does it really make sense for a browser developer to have to worry about streamlined audio events and 3d graphics acceleration? I have yet to see a browser based game that runs nearly as smoothly as a Flash counterpart, simply because Flash is explicitly designed for that sort of thing.

    • I’ve never seen more momentum amongst browser vendors to improve their platform so audio and 3D graphics capabilities are becoming a reality. Give it a year or two – I think we’ll be surprised at how quickly it develops.


        • 2 years is a long long long time in our industry. get serious guys. you have to admit it: HTML5 isn’t a mature technology.

          • Haha, that’s an unnecessarily aggressive response! But I guess I should clarify:

            There are certain elements within HTML5 that are quite immature, but these are improving all the time. But other things, like canvas, are supported in all modern browsers, and I would say ready for use in most cases.

            When I said give it a year or two, I meant wait for the more advanced features that Andy was talking about, a decent audio API, webcam access etc. All these things are in the works but it’ll take a year or two to become useable in client projects.


  2. It’s not “cheating” at all. But, if any client wants me to ensure I never “cheat” all they have to do is say so. I love spending hours on end coming up with work-arounds. This, provided it’s an hourly gig.

  3. I still wonder what’s the point of using HTML5 if you have to fall back to flash for stuff browsers alone won’t do.
    Why not use Flash and only Flash? Oh wait.. Iphones… Why not publishing your Flash game to iOS then? Perfs are really good and the sound works. And you won’t ever have to maintain heavily coupled, type-unsafe, uncompiled, unoptimised javascript source code, not to mention the conditional deployment for each and every uncompatible browsers.
    There’s one really good thing about HTML5 : as a Flasher, I won’t ever have to do a banner again :)

    • iOS is one reason why you would avoid Flash, but remember what plug-ins were designed for – they’re there to do things that browsers can’t. As the browsers get those capabilities natively, the need for the plug-in diminishes. That’s progress!

      And when those browser capabilities are new, they’re going to be a bit crap, just like Flash when it first got video or microphone support*. While we’re on the cutting edge we’re gonna be working with stuff that’s a bit crap. We did it in Flash and now we’re doing it in JS. I’d have thought you’d be used to it by now… :-)

      *Flash microphone support is still crap.

  4. Seb, everybody knows exactly why you and a few other former flash gurus, jumped into HTML5 crap. As HTML5 is open source, there is a very good opportunity for making really good money. But that is profit, not progress. As HTML5 is open source nobody knows exactly when all these “exotic” features will be supported. Besides all these, I really need to find a good discussion about Security Issues and Code Safety in HTML5….. any good idea, Seb?

    • I guess I have to accept that I can’t even mention Flash in a post without it turning into a heated discussion! I totally understand your frustration, but there’s no need to get personal – trust me, I’m into this stuff. I couldn’t ever do something just for the money.

      If you have real concerns about specific ‘exotic’ features (caniuse.com?), or security and safety in HTML please express them coherently and we’ll answer them as best we can.



  5. I just sometimes feel like we are a bunch of carpenters who have worked with nail guns for years. Then a movement comes along that allows us to swing two hammers at one, and we done even need electricity. Building houses is much easier and more efficient if you can use two hammers right? And now we just have to wait for someone to invent something better than electricity to help us swing the hammers. ;)


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *