Angry Birds Friends (Adobe Flash)
Angry Birds Friends |
---|
Developer: Rovio This game has unused code. |
This game is defunct. Do note the game no longer works at all without modifications. This is most likely due to the game's servers being shut down. As a result, further official developments with the game are unlikely to happen. |
To do:
|
Angry Birds, on everyday social media!
This was the first of the many official online Angry Birds Flash games from Rovio, being the one that replaced Angry Birds Flash in its development cycle and its finalized Flash engine was reused as a base for other titles, which explains why countless leftovers are present in them. The community made hard efforts to preserve releases of the game after the majority of content servers have been wiped and eventually made it possible to play archives of both the 2012 and 2017 versions of the game despite the discontinuation, the previous also with Green Day. The game itself didn't get discontinued, but got superseded into a Unity engine remake, removing some features and all exclusive levels many fans adore.
Contents
- 1 Sub-Pages
- 2 Removed Time-Limited Powerups
- 3 Alternative REST API Access Token Request
- 4 ABTestingModel
- 5 Removed LevelDataModel Class
- 6 Angry Birds (Adobe Flash) Leftovers
- 7 Powerup Tutorial Note
- 8 Debugging Material
- 9 Unused Shop Version
- 10 Unused Bird Rotation Functions
- 11 Oddities
- 12 Revisional Differences
- 13 Internal Project Name
- 14 AngryBirdsFP11 Class
Sub-Pages
Unused Text So many external assets, so many placeholders and comments... |
Unused Graphics Lauri. |
Unused Avatar Items Yes, the Mighty Eagle is here too. |
Removed Time-Limited Powerups
To do: TNT Drop crashes the game, test after fixing. Santa Bomb is also present but with no references, try to reference it and see the results. |
Assets and code for the TNT Drop and Pumpkin Drop powerup are still present in the game's files but disabled and work fine when forcefully added.
Alternative REST API Access Token Request
To do: More info? |
The game's com.rovio.skynest:RovioAccessToken class sends a request to /identity/2.0/facebook/weblogin from the root of the API server using Webform parameters consisting of the client ID, device ID and user's Facebook access token to login and generate an API access token, however an unused version exists under the flag USE_REST_API_LOGIN that does a request to /session/2/apps/*ClientID*/external using a JSON with a Base64 URL-safe encoded JSON body containing the provider, distribution channel, client ID as well as external attributes being the the Facebook user ID and Facebook access token instead, signed using SHA256 HMAC matched to the client secret.
ABTestingModel
To do: Find out more about this class. |
A class called ABTestingModel is present in almost(?) all game versions so far.
From versions 4.0.0.0 to 9.0.0.0, these variables can be enabled in the login file by placing the abt variable inside the c variable, with abt is an array containing these testing modules and their options. For the August 25, 2016 version (r7751) (and possibly older), /abtesting/getabtestconfig was requested instead.
Below are the tests that are present throughout the versions found.
4.0.0.0 - 9.0.0.0
- WebStoryModeAbTestCase: Used to enable/disable Story Mode, presumably used for players that had the Piggy Tower when it was implemented.
Option Name/ID | Explanation |
---|---|
webStoryModeOff_50 | Disables Story Mode. |
webStoryModeOn_50 | Enables Story Mode. |
If you are curious, here's what the main menu looks like if webStoryModeOff_50 is selected.
- ChallengeAvailabilityAbTestCase2017: Unknown, speculated that it is for Star Cup (but seems like absolutely no progress was done other than TNT Drop's icon, and was only on mobile)
Option Name/ID | Explanation |
---|---|
challengeEnabled | Enables Star Cup(?). |
r7751 and older
- ShopVisuals1: Shop layouts?
Option Name/ID | Explanation |
---|---|
xTotalYFree | Unknown (found as a default value in the main class) |
xPlusYFreeR | Unknown (found as a value in AngryBirdsFacebookTest) |
- FreeMushroomIntroSampleEaster2013: Mushbloom amounts that you get as a gift for Pig Tales episode's release
Option Name/ID | Explanation |
---|---|
sixFree1 | 6 + 1 Mushblooms? (found as a default value in the main class) |
threeFree | 3 Mushblooms (found as a value in AngryBirdsFacebookTest) |
Removed LevelDataModel Class
In 2012-2013 (April 23) versions of the game, a class named LevelDataModel is present, directly from the final version of Angry Birds Social where recovering the obfuscated names proves this. While it is called in LevelMain, it only has one reference to load it and no functions or variables in it are referenced, likely a leftover from Social's code. As of the 2016(?) version, the class was removed.
Angry Birds (Adobe Flash) Leftovers
The game has a portion of leftovers from the Flash Player 11 tech demo that was shown off at Adobe MAX. The demo shortly became this game.
Unused Text
Angry Birds Flash Player 11 Demo @Adobe MAX © Rovio Entertainment Ltd.
Present in AngryBirdsFlashUI.swf in external_assets.
Flash Player 11 Animation Leftover
To do: The 2012 and 2013 versions (+ Embed) have code to load this state. |
The file AngryBirdsGoesTo11.swf is present in external_assets, having no use by the game, it is used as a splash screen before loading the game.
Powerup Tutorial Note
A note on adding new powerup tutorials. It recommends you to ask Lauri for help on doing so when necessary.
Debugging Material
To do: If possible, find more debug stuff.
|
Release | Value |
---|---|
April 4th, 2013 (r106243) | `Z |
20121109-1447 (r101181) | 4x |
1.6.8.0 (r99607, 2012) | +1 |
20130423-0931 (r10667, 2013) | #V |
Aug252016 (r7751, 2016) | Not obfuscated. |
4.0.0.0 (Mobile Server, r9678, December 2017) | Not obfuscated. |
4.1.0.0 (Mobile Server, r9708, 2017) | Not obfuscated. |
4.2.0.11 (Mobile Server, r9786, 2018) | Not obfuscated. |
4.2.0.16 (Mobile Server, r9820, 2018) | Not obfuscated. |
Unsurprisingly the same cheat keys and FPS display is present. As usual setting DEBUG_MODE_ENABLED in the AngryBirdsBase / AngryBirdsFP11 (Older) and AngryBirdsEngine class to true enables them. Interestingly level locks can also be ignored with that flag on, but Golden Eggs are unaffected. Strangely in the April 4th 2013 version, the FPS display is enabled while debug mode is disabled.
Key | Function |
---|---|
k | Kills all Pigs with a 1-star score. Removed in the 2013+ version. |
w | Kills all Pigs with a 3-star score. |
b | Explodes all TNT crates. |
6 | Goes to the next level. Dummied in the 2013+ version. |
Right | Advances the tip index by 1 to go ahead a tip and immediately displays it. Can only be done on a level failure. |
Level Engine
To do: Values for obfuscated games. |
Setting USE_DEBUG_SPRITE to true in LevelEngineBox2D makes the game render collision boxes overtop launched birds, materials and pigs. It's wise to scale the game to match the collision box offsets instead of using it in full screen as they become inaccurate.
Unused Shop Version
Found in around the October 2012 version is an early version of the Angry Birds Shop that never went used. You would be able to buy Power Ups, Avatar Parts, and even Level Packs. The tab icon at the top left would likely not have appeared in game. It is speculated that the row of "Hot stuff" would contain items related to the color of their background. When viewed in a tool that lets you open SWF files, this shop would have different Power Ups appear where the gift boxes are located.
Unused Bird Rotation Functions
In the game's code, there are 2 functions for rotating birds based on the direction they are facing which doesn't get used. One is found in "LevelSlingshot.as" and is called "mRotateBird:Boolean" it isn't set to true or false, but it seems to default to false and when enabled it makes the bird face the direction they will be launched in. the other one is found in "LevelObjectBird.as" and is called "mIsFacingFlyingDirection:Boolean", it's set to false in the code and enabling it has the bird face the direction it is flying in.
In some versions of the game around 2014, "mRotateBird:Booolean" seems to have been set to true at some point, then disabled again.
It's possible this is a leftover from Angry Birds Star Wars Facebook and/or Angry Birds Space Tazos. Alternatively, they may have simply planned to add the functionality to this game.
Oddities
Level Cheat Functions
The game has code for detecting presses of "5" and "6" on your keyboard with debug mode enabled in a level, however both keys have the exact same function used, simply reloading the level. The 2012 version uses "4" and "5" instead.
AngryBirdsFacebookTests
In published asset lists of newer versions of the game, a file called AngryBirdsFacebookTests.swf is always listed and present on the related servers but not used by the game in any way. Manually downloading and exploring the file reveals it is another build of the game, however with extra classes and functions (minus the AngryBirdsFacebookCanvas class) and also entirely free of obfuscation with nearly all variable names, as well as source compilation directories for most scripts. * can be AngryBirdsFriends, RovioFramework, AngryBirdsEngineBase, AngryBirdsEngineSpace, AngryBirdsBase, Starling or Box2D.
/var/lib/jenkins/jobs/FACEBOOK-FLASH-player-release/workspace/*/src
/Users/claus/Projects/fzip/src
Another directory mentions a developer.
Revisional Differences
Error Popups
Please elaborate. Having more detail is always a good thing. |
Oops! (The pigs are causing some havoc in our server rooms!) (2012)
This error would appear if you had trouble connecting to the server.
It's the same error used in Angry Birds in Ultrabook Adventure.
Oops! (Messing with our servers) (2012)
Very similar to the other error popup, likely served a similar purpose.
Cookies? (2012)
This error would appear if 3rd Party cookies weren't enabled.
Tournament not found. (2012)
If for whatever reason a Tournament wasn't found, this error would likely appear.
Oops! Pig did it again! (pre-2012)
There also second error popup when game was updated but screenshot are lost.
Oops! Something went wrong! (post-2017)
The third error popup was shown in latest Flash version before Unity version with mobile's error popup got ported.
Internal Project Name
The game internally is called Facebook with AngryBirds before that word, which makes sense considering the game's public beta title was Angry Birds for Facebook.
AngryBirdsFP11 Class
The game's code has a class called "AngryBirdsFP11" (Or "AngryBirdsBase" in newer versions), the class that the canvas usually loads is "AngryBirdsFacebook" (which is based on it). Upon swapping some assets to ones from other games that use the same engine, editing the XMLs inside the SWF and loading it reveals an unused menu, similar to the one shown in the Adobe MAX tech demo. It uses a different in-game HUD.
Main menu | Chapter selection |
---|---|
Poached Eggs cutscene | First Poached Eggs level |
---|---|
The Angry Birds series
| |
---|---|
iOS | Angry Birds (Prototypes) • Seasons • Rio • Friends • Island • Space (Prototypes) • Bad Piggies (Prototypes) • Star Wars (Prototypes) • Star Wars II • Go! • Epic (Prototype) • Stella • Transformers • POP! • Fight! • Angry Birds 2 • Reloaded • Rovio Classics: Angry Birds |
Android | Angry Birds • Epic • Seasons • Space • Rio • Star Wars • Star Wars II • Stella • Transformers • Fight! • Angry Birds 2 • Go! • Friends (Android, WebGL) • Football! • Bad Piggies • Rovio Classics: Angry Birds • POP! • Block Quest |
Windows | Angry Birds • Seasons • Space • Rio • Star Wars • Bad Piggies • Friends |
HTML5 | Chrome • Pistachios • Friends |
Mac OS X | Angry Birds • Seasons • Space • Star Wars • Reloaded |
Adobe Flash | Breakfast • Ultrabook Adventure • Friends • Vuela Tazos • Heikki • Lotus F1 Team • McDonald's • Social (Earlier Prototype) |
Xbox 360, PlayStation 3 | Trilogy • Star Wars (Prototypes) |
Arcade | Arcade |
tvOS, visionOS | Reloaded |
- Pages missing developer references
- Games developed by Rovio
- Pages missing publisher references
- Games published by Rovio
- Adobe Flash games
- Pages missing date references
- Games released in 2012
- Games released in February
- Games released on February 12
- Games with unused code
- Games with hidden development-related text
- Games with unused graphics
- Games with unused text
- Games with debugging functions
- Games with revisional differences
- Defunct games
- To do
- Articles requiring elaboration
- Angry Birds series
Cleanup > Articles requiring elaboration
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Cleanup > To do
Games > Defunct games
Games > Games by content > Games with debugging functions
Games > Games by content > Games with hidden development-related text
Games > Games by content > Games with revisional differences
Games > Games by content > Games with unused code
Games > Games by content > Games with unused graphics
Games > Games by content > Games with unused text
Games > Games by developer > Games developed by Sega > Games developed by Rovio
Games > Games by platform > Adobe Flash games
Games > Games by publisher > Games published by Sega > Games published by Rovio
Games > Games by release date > Games released in 2012
Games > Games by release date > Games released in February
Games > Games by release date > Games released in February > Games released on February 12
Games > Games by series > Angry Birds series