top | item 2537444

Angry Birds for Chrome in Canvas and WebGL

234 points| patrickaljord | 15 years ago |chrome.google.com | reply

83 comments

order
[+] gkoberger|15 years ago|reply
This is why I hate the concept of App stores.

It's just a link that uses open technologies that works well on any modern browser, yet you need to open Chrome and "install" it. Why can't I just type in a URL into any browser I want!? (Yes, I know that this specific app happens to have a link. However, it's not clickable, it's not obvious and most apps won't.)

If I made a site that you could only use if you opened it in IE and bookmarked it? Everyone would be crying foul. Yet somehow, browser specific app stores are considered moving the web forward.

Let's take it a step further. Let's say they charged for this app, which many apps will. If I pay for it in the (currently in development) Mozilla app store, that means I can't use it in Chrome. Is this really what we want for the web?

Why can't browsers just beef up their bookmarking systems? Right now, we're hiding regular links behind "installations."

I hate app stores, and I hate what they have the potential to do to the web. I hate that someday soon, someone will say to me "You should use ____! But it's (Firefox|Chrome|IE) only." I thought we left that mentality with IE6.

(Disclosure: I work for Mozilla, but have nothing to do with our web apps store. Naturally, my opinions are my own.)

[+] Andrex|15 years ago|reply
Benefits to web app stores and installing apps:

- Automatic permissions granting. With a normal site, a bunch of prompts could appear; "Allow this website to track your location?" "Allow this website to use notifications?" "Allow this website to use unlimited storage?" "Allow this website to use the file system?" et cetera. With an app, the browser knows when the user installs it that they want those things.

- Discovery and monetization. Both suck for web apps right now. Discovery comes down to reading a tweet about an app, or Googling. Monetization is basically 99% advertising at this point, which isn't tenable for many industries.

- Knowledge that the browser installing the app supports a common set of standards. When I make an app for the Web Store, I know 99% of people are using the latest stable version of Chrome, and the remaining 1% is using a future version. I don't have to do IE6/7/8 hacks, or even worry about it.

Since you're a representative of Mozilla, I would also like to say I hope you guys don't give up on your "open" web store and app dashboard efforts. Eventually in an ideal world, the web app store model will be standardized and future browsers will be able to cross-install apps from each. Although there's nothing stopping Mozilla at this point from supporting .crx apps, Chromium is open source after all.

[+] wccrawford|15 years ago|reply
People are reporting that it works fine in other browsers, too.

The Chrome store is just a front. Almost everything in it is actually a website, with the thing in the 'store' just being a pretty icon to it. And everything in the store will work just fine on other browsers, to my knowledge.

So while your point is valid, we actually aren't at a time when it's a problem... And I'm not convinced we'll get there. Tech has been changing quickly lately, and multiple browsers are now standards-compliant... That's pretty solid.

[+] portman|15 years ago|reply
Here's what excites me about Angry Birds in the Chrome app store. None of this exists yet, but it could:

- If I install it on one computer, it installs on all my computers - Purchase the Screaming Eagle in-app, using Google Checkout - If I beat Level X on one computer, I can resume on level X+1 on another computer (using the same infrastructure as Chrome bookmark sync).

Currently, your game progress is in LocalStorage, but it would be great to have the game database sync'd to my other browsers. Yes, you could "sign-in" to Angry Birds to sync your data, and that option would still exist, but for people who installed through the App Store (where you have to be auth'd to Google anyways) it would be one less step.

[+] extension|15 years ago|reply
I have no problem with app stores existing. I am yet unsure whether app stores piggybacking on the web is bad for the web or just benign tunneling.

There is a key difference between this and IE's play for control of the web a decade ago. MS was trying to deliver native Windows code over the web and keep people locked in to their OS. Chrome apps are implicitly encouraged to use web standards and couple to Chrome only when necessary. I don't think Google is trying to hijack the web, I think they are just trying to expand its scope.

[+] anant|15 years ago|reply
If I pay for it in the (currently in development) Mozilla app store, that means I can't use it in Chrome. Is this really what we want for the web?

FWIW, this is not the model that the Mozilla "app store" proposes. You will be able to buy apps from any store, and then use them from any browser irrespective of which browser you originally bought it on. Part of Mozilla's OpenWebApps work is to define the auth flows in order to make this possible.

[+] foob|15 years ago|reply
Do you think that apps using NaCl will be more deserving of being treated as something different than a website? As browser technologies get more advanced it becomes increasingly possible to make things that seem more like a traditional desktop application than a webapp. That said, I don't think that we're there yet and most of the offerings (even from Google) in the store seem like nothing more than a link to a page.
[+] arkitaip|15 years ago|reply
Because the ecosystem of web standards is very weak. Because each browser decides which standards to implement and, sometimes, how to do it. Because cross-platform testing web applications is very resource intensive even if you are using automation tools such as Selenium.
[+] seanalltogether|15 years ago|reply
I fired up Charles to try and dissect the source but it's a giant pile of obfuscation. Here is everything I could see with executable code. They must be pumping different sections of the game into individual iframes since there are 6 separate html files that mostly have the same code.

http://chrome.angrybirds.com/angrybirds/angrybirds.nocache.j...

http://chrome.angrybirds.com/angrybirds/10C85AF6734FAE7AFB4C...

http://chrome.angrybirds.com/angrybirds/3C8E31D1DD3333197B71...

http://chrome.angrybirds.com/angrybirds/0E4E6E6C7B52064E8C51...

http://chrome.angrybirds.com/angrybirds/F94722960223E26D4BB6...

http://chrome.angrybirds.com/angrybirds/09F8D37830DE81BA93CE...

http://chrome.angrybirds.com/angrybirds/0B93D95B5E595879D28E...

And all of the levels are listed out with the following pattern

http://chrome.angrybirds.com/angrybirds/json/Level1.json

The spritesheet assets are actually larger then they appear in game, however the scaling still looks really good in the final output, I'm surprised how smooth the game ran. http://chrome.angrybirds.com/angrybirds/sprite_sheets/INGAME...

[+] msy|15 years ago|reply
And we all laughed when RMS warned us about obfuscation in web apps.
[+] wzdd|15 years ago|reply
The levels look like a straight translation of the Lua level data into JSON, which is kind of cool.
[+] natmaster|15 years ago|reply
Smooth as butter in Firefox 4.

The concept of 'Chrome-only' web applications is appalling to me, and can only remind me of 2000 when people just developed for IE6. This is REALLY BAD for the web.

(Disclosure: I work for Microsoft.)

[+] MatthewPhillips|15 years ago|reply
I wrote a Chrome-only web app. It's a packaged app (installs on the user's computer). That means:

1) My hosting cost are $0.

2) I don't have to implement my own payment system.

3) Users already have a payment account with Google, bringing down friction to purchase considerably.

When a cross-browser solution for those 3 points comes around I'll be glad to support other browser users.

[+] patrickaljord|15 years ago|reply
It is not supposed to be chrome-only, the web store is just a convenient way to manage your web app. Web apps are not like regular web sites and need a better way to be managed. I love the apps icons on my new-tab page in Chrome. That+pinned tabs+chrome webstore make for a great way to manage web apps. Maybe IE will get there one day.
[+] illumin8|15 years ago|reply
Very cool! They are still using Flash for audio, however, which is slightly less cool.
[+] ch0wn|15 years ago|reply
Especially since flash is mandatory and they won't let you launch the game without it.
[+] thushan|15 years ago|reply
Ah thanks for that insight - I was wondering why it asked for Flash on an iPad.
[+] rflrob|15 years ago|reply
Any good explanation for why it maxes out my CPU, even when it's just displaying the end-of-level score screen? This game works fine on a smartphone, but somehow makes use of everything my MacBook Pro can throw at it?
[+] tlrobinson|15 years ago|reply
Interestingly it works great for me in Safari but not Chrome (11.0.696.65)...
[+] meastham|15 years ago|reply
There appears to be a bug in recent versions of Chrome that erroneously disables hardware acceleration on machines running OSX with ATI video cards. It seems that they decided to blacklist multisampling on these machines because of a driver bug but ended up disabling all hardware acceleration.

http://code.google.com/p/chromium/issues/detail?id=82104

[+] btucker|15 years ago|reply
It works for me in both, but it's tremendously smoother in Safari. In Chrome the fans on my i7 MBP spun up and the framerate was low. In safari, the fans didn't come on and the framerate was high. Not what I would have expected.
[+] enthalpyx|15 years ago|reply
With a 2006 MBP, it works in FF4, but not in Chrome 11 (just a blank screen). Any idea what I'm doing wrong?
[+] danzheng|15 years ago|reply
Just tried it out on Chrome(11.0.696.65) on my macbook pro, it worked well for me.
[+] pornel|15 years ago|reply
I was pleasantly surprised that it worked in Opera.
[+] charlesju|15 years ago|reply
Does anyone know what engine they used to build this? Or did they build it from WebGL's base?
[+] gnufs|15 years ago|reply
It seems to be built using GWT (Google Web Toolkit) which churns out client-side JavaScript from a Java codebase.

It makes sense since they probably had a Java version written for Android.

[+] daimyoyo|15 years ago|reply
This question may be naïve, but I have Angry Birds for Mac on my laptop and when I play it, the computer works fine. When I started playing this version, my cooling fan almost immediately turned on full blast. Even when I'm streaming HD video, that never happens. Is it the fact this game is written in HTML rather than objective C the reason that it's so processor intensive?(it's a 13" MacBook pro running OS 10.6.7 if that makes a difference)
[+] navs|15 years ago|reply
Never got the appeal of Angry Birds until now. There goes my productivity for today.

Animation is a bit jerky in Opera 11 but certainly usable.

[+] megamark16|15 years ago|reply
I am in so much trouble. The Android version won't run on my phone, so I've thus far avoided getting addicted to this game like so many of my friends. Now it's all over. Goodbye productivity.
[+] fairlyodd|15 years ago|reply
It is very slow though! WebGL has a long ways to go..

(Macbook Pro with VGA and 8gb RAM)

[+] starwed|15 years ago|reply
Huh, it seems really smooth on my macbook air, using FF6 nightlies.
[+] masklinn|15 years ago|reply
No problem in Safari 5, on a 2010 15" macbook
[+] jsprinkles|15 years ago|reply
You probably do not have GPU enabled. about:gpu might tell you why.
[+] megaman821|15 years ago|reply
For the canvas version, IE9 is much faster than Chrome 11.
[+] brianr|15 years ago|reply
Reallllly slow in Chrome 11 on my mac. Maybe 5fps.
[+] eduardoflores|15 years ago|reply
Working well and fast on IE9, just paste the url.
[+] drdaeman|15 years ago|reply
Silently fails with "Uncaught Error: QUOTA_EXCEEDED_ERR: DOM Exception 22" in console if you have cookies+site-data disabled.
[+] atacrawl|15 years ago|reply
Works pretty well in Safari 5, but it's a little laggy even on my rocket ship (2x3GHz QC Xeon Mac Pro, 9 GB RAM).
[+] watty|15 years ago|reply
Pretty awesome on my desktop but a little slow. It doesn't work at all on my CR48, just a black screen.
[+] hencq|15 years ago|reply
Hmmm, it works fine on my CR-48. I'm on the dev channel, maybe that makes a difference?
[+] jsprinkles|15 years ago|reply
If this is as unplayably slow for you as it was for me check about:gpu in Chrome.

Latest Chrome dev channel (12.0.742.30) on OS X is not enabling the GPU for me on my 3.2 GHz iMac and it really is not clear why. There is no about:flags entry for any GPU-related things either.