Angry Birds Rio
Angry Birds Rio |
---|
Developers: Rovio,
Fox Digital Entertainment,
Blue Sky Studios
|
Angry Birds Rio is the third game in the Angry Birds saga, featuring characters and environments from the 2011 Fox Animation/Blue Sky Studios movie Rio, and later Rio 2.
Contents
Title Theme
Before the release of Rio 2, the game's main theme was an upbeat, samba-esque remix of the original Angry Birds theme. After the game changed to match the film release, the theme was changed to a more relaxing remix with random lyrics.
Before 2.0.0 (Rio remix) |
After 2.0.0 (Rio 2 remix) |
---|---|
Debugging Functions
Just like other Angry Birds games built with Lua, debugging functions are mentioned in certain Lua files and named certain Lua files.
FPS+Memory+Stack(?) Display
If the game is not a release build, on every bootup, the game will show a display for those status on the bottom corner.
Debugging Info in Credits
If the game is not a release build, the game will show the customerString in the credits menu.
Developer Cheats
Main Menu
This button loads a list of 9 functions that can be done:
- Clear Level Progress = Wipes level progress for a save.
- Clear Achievements = Wipes achievements for a save.
In-Game
- Lose = Makes the game act like you lost the level.
- 1xStar = Makes the game act like you beat the level but rigs the score to approximately one star.
- 2xStar = Makes the game act like you beat the level but rigs the score to approximately two stars.
- 3xStar = Makes the game act like you beat the level but rigs the score to approximately three stars.
Elsewhere
- Image boxes: Pressing D will toggle visibility of boxes on the majority of textures.
- FPS + Memory display: Pressing F will toggle visibility of the given display.
Level Editor
A level editor is present in the game's files and is shown at the main menu if the value to show it is enabled in the build settings.
The mobile release however lacks support for touch controls, meaning you can only look at levels. Unlike Angry Birds where its editor uses right-click to test levels (which mobiles call double-finger click), this game zooms in/out on levels, and it's similar to the computer version's editor.
Developer Leftovers
Developer Directory
scripts/menu/CutscenePage.lua uncompiled mentions a source directory for the Free version's end movie.
C:\rovio\Rovio_AngryBirdsRio\game\data_src\videos\ABRio_trailer.m4v
Unknown JSON File
A similar JSON file from Angry Birds Seasons made it's way in version 1.5.0 for Android. Unlike other similar files, this one has an edited value for the options file, being set to "not True".
{ "additionalPermissions": [], "appName": "Angry Birds", "archs": [ "arm", "armv7", "x32" ], "buildDate": "2012-12-12", "buildStartedBy": "", "compatibleScreens": [], "compileLua": true, "compressLua": true, "copyAssets": [ [ "game/config.lua", "" ], [ "game/data_src/levels", "data" ], [ "game/data_src/localization", "data" ], [ "game/data_src/localization_android", "data" ], [ "game/data_src/scripts", "data" ], [ "game/data_src/audio/16000hz-16bit-mono/**", "data/audio" ], [ "external/Fusion/data/shaders/gles2", "data/shaders" ], [ "game/data_src/images/ingame_assets", "data/images" ], [ "game/data_src/images/themes_android", "data/images" ], [ "game/data_src/images/320x240_android_partial", "data/images" ], [ "game/data_src/images/480x320_android_partial", "data/images" ], [ "game/data_src/images/480x320", "data/images" ], [ "game/data_src/images/864x480", "data/images" ], [ "game/data_src/fonts/320x240", "data/fonts" ], [ "game/data_src/fonts/480x320", "data/fonts" ], [ "game/data_src/fonts/864x480", "data/fonts" ] ], "copyExcludes": [], "copyPatterns": [ [ "icons/android/res/**", "res" ] ], "copyTo": "p:/RovioMobile/AngryBirdsRio/Software/Android/2012-12-12_1.5.0_(8484)_androidmarket", "customLuaOptions": { "gamelua.applyChinaRestictions": false, "gamelua.cheatsEnabled": false, "gamelua.customerString": "'androidmarket'", "gamelua.g_registrationEnabled": false, "gamelua.g_updateCheckEnabled": false, "gamelua.gameVersionNumber": "'1.5.0'", "gamelua.hdProductIapIds": false, "gamelua.iap_available": true, "gamelua.isABStarWarsAvailable": true, "gamelua.isHDVersion": false, "gamelua.isKorea": false, "gamelua.isPremium": false, "gamelua.loadMightyEagle": true, "gamelua.premiumProductIapIds": false, "gamelua.releaseBuild": true, "gamelua.showEditor": false, "gamelua.svnRevisionNumber": "'8484'", "gamelua.useDynamicAssets": false, "gamelua.useMockAchievementLimits": "not True" }, "customScripts": { "assetFilter": "update_level_filenames.py" }, "customer": "androidmarket", "debug": false, "defines": [ "USE_IN_APP_PURCHASE", "USE_FLURRY", "CRYPTED_LUA_FILES", "ZIPPED_LUA_FILES", "USE_ADS" ], "dirSuffix": "", "encryptLua": true, "encryptionKey": "__SECRET__", "externalModules": [], "failOnConfigurationWarnings": false, "includeDirs": [ "../../include", "../../external/Fusion/include", "../../external/box2d-2.1/Box2D" ], "jobs": 8, "keyAlias": "__SECRET__", "keyAliasPassword": "__SECRET__", "keyStore": "__SECRET__", "keyStorePassword": "__SECRET__", "luaOptionsFile": "data/scripts/options.lua", "minSdkVersion": "8", "modules": [ "googleiap", "framework", "grgles1", "grgles2", "game", "flurry", "gr", "hgr", "img", "net", "io", "lua", "pf", "util", "audio", "math", "lang", "ads" ], "obfuscate": true, "outputName": "AngryBirdsRio_1.5.0_ADS_androidmarket_DISTRIBUTION", "packageName": "angrybirdsrio", "platform": "android", "projectName": "AngryBirdsRio", "releasePackage": true, "sourceExcludes": [ "../../source/*IPHONE*.cpp", "../../source/*iOS*.cpp", "../../source/AppUpWrapper.cpp", "../../source/GameFlurr*.cpp" ], "sourceFiles": [ "../../source/**.cpp" ], "subDir": "gen", "svnRevision": "8484", "targetPrefix": "android-", "targetSdkVersion": "13", "verbosity": 1, "versionCode": "1500", "versionString": "1.5.0" }
Configuration Script
A configuration script (config.lua) from the developer end made it's way into version 1.5.0. It's not too special but it provides a little insight on the data_src directory. An uncompiled version of the file exists in the iOS releases.
product = "Angry Birds Rio" publisher = "Rovio" width = 1024 height = 600 orientation = 0 datapath = "data_src" imagePath = "images" fontPath = "fonts" audioPath = "audio" localizationPath = "localization" levelPath = "levels" scriptPath = "scripts" deviceModel = "windows" fullscreen = false showCursor = false singleton = true name = "AngryBirdsRio" fullscreen = false renderer = { "gles2" } autoOrientations = { 90, 270 }
Variant Directory
To do: Alternative variant configurations. |
While the directory is used, there are two scripts in it referencing Rovio's internal build tool directory and also has the schema file.
import json import sys import os sys.path.append("../../../external/Fusion/buildtool/external/") import jsonschema sys.path.pop() def main(): configFileNames = ["variantconfig.json"] if len(sys.argv) > 1: configFileNames = sys.argv[1:] for configFileName in configFileNames: with open(configFileName) as configFile: config = json.load(configFile) with open("schema.json") as schemaFile: schema = json.load(schemaFile) try: jsonschema.validate(config, schema) print(configFileName + " successfully validated") except jsonschema.ValidationError, e: print("Failed to validate " + configFileName) print(e) if __name__ == '__main__': main()
@set pypath=..\..\..\external\Fusion\buildtool\tools\python-2.6.6-win-x86\ @if not exist %pypath% (set pypath=) @%pypath%python.exe validate.py %* @pause
{ "name": "Variant config schema", "additionalProperties": false, "required": true, "properties": { "params": { "title": "Parameters used by the game", "type": "object", "required": true, "additionalProperties": false, "properties": { "mainmenu": { "title": "Main menu", "type": "object", "required": true, "additionalProperties": false, "properties": { "particles": {"title": "Enable particles", "type": "boolean", "required": true} } }, "powerupPopup": { "title": "Power-up recommendation pop-up", "type": "object", "required": true, "additionalProperties": false, "properties": { "startLimit": {"title": "Start limit", "type": "integer", "required": true}, "maxLimit": {"title": "Max limit", "type": "integer", "required": true}, "usePowerupFromPopup": {"title": "Limit change when power-up is used from the pop-up", "type": "integer", "required": true}, "closePowerupPopup": {"title": "Limit change when the pop-up is closed", "type": "integer", "required": true}, "restartLevel": {"title": "Counter change when level restarted with 0-5 birds", "type": "array", "required": true, "minItems": 6, "maxItems": 6, "items": {"type": "integer"}}, "usePowerupFromMenu": {"title": "Counter multiplier when power-up used from menu", "type": "number", "required": true} } } } }, "meta": { "title": "Information about the config file", "type": "object", "required": true, "additionalProperties": false, "properties": { "minVersion": {"title": "Min client version", "type": "string", "required": true, "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"}, "experiment": { "title": "Experiment info (only used for experiment configs)", "type": "object", "required": false, "additionalProperties": false, "properties": { "name": {"title": "Name of the experiment", "type": "string", "required": true}, "group": {"title": "Condition or user group name", "type": "string", "required": true} } } } } } }
{ "name": "Variant config schema", "additionalProperties": false, "required": true, "properties": { "params": { "title": "Parameters used by the game", "type": "object", "required": true, "additionalProperties": false, "properties": { "mainmenu": { "title": "Main menu", "type": "object", "required": true, "additionalProperties": false, "properties": { "particles": {"title": "Enable particles", "type": "boolean", "required": true} } }, "iap": { "title": "IAP Products", "type": "object", "required": true, "additionalProperties": false, "properties": { "gameBundleSize": {"title": "In-game bundle size", "type": "string", "required": true}, "shopBundleSizes": {"title": "Shop bundle sizes, not yet used (", "type": "array", "required": false, "minItems": 4, "maxItems": 4, "items": {"type": "string"}}, "pupuBundleSize": {"title": "Power-up recommendation pop-up bundle size, not yet used", "type": "string", "required": false} } }, "powerupPopup": { "title": "Power-up recommendation pop-up", "type": "object", "required": true, "additionalProperties": false, "properties": { "startLimit": {"title": "Start limit", "type": "integer", "required": true}, "maxLimit": {"title": "Max limit", "type": "integer", "required": true}, "usePowerupFromPopup": {"title": "Limit change when power-up is used from the pop-up", "type": "integer", "required": true}, "closePowerupPopup": {"title": "Limit change when the pop-up is closed", "type": "integer", "required": true}, "restartLevel": {"title": "Counter change when level restarted with 0-5 birds", "type": "array", "required": true, "minItems": 6, "maxItems": 6, "items": {"type": "integer"}}, "usePowerupFromMenu": {"title": "Counter multiplier when power-up used from menu", "type": "number", "required": true} } } } }, "meta": { "title": "Information about the config file", "type": "object", "required": true, "additionalProperties": false, "properties": { "minVersion": {"title": "Min client version", "type": "string", "required": true, "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"}, "experiment": { "title": "Experiment info (only used for experiment configs)", "type": "object", "required": false, "additionalProperties": false, "properties": { "name": {"title": "Name of the experiment", "type": "string", "required": true}, "group": {"title": "Condition or user group name", "type": "string", "required": true} } } } } } }
{ "name": "Variant config schema", "additionalProperties": false, "required": true, "properties": { "params": { "title": "Parameters used by the game", "type": "object", "required": true, "additionalProperties": false, "properties": { "mainmenu": { "title": "Main menu", "type": "object", "required": true, "additionalProperties": false, "properties": { "particles": {"title": "Enable particles", "type": "boolean", "required": true} } }, "iap": { "title": "IAP Products", "type": "object", "required": true, "additionalProperties": false, "properties": { "gameBundleSize": {"title": "In-game bundle size", "type": "string", "required": true}, "shopBundleSizes": {"title": "Shop bundle sizes, not yet used (", "type": "array", "required": false, "minItems": 4, "maxItems": 4, "items": {"type": "string"}}, "pupuBundleSize": {"title": "Power-up recommendation pop-up bundle size, not yet used", "type": "string", "required": false}, "superpowerupBundleSize": {"title": "In-game superpowerup bundle size", "type": "string", "required": true} } }, "powerupPopup": { "title": "Power-up recommendation pop-up", "type": "object", "required": true, "additionalProperties": false, "properties": { "startLimit": {"title": "Start limit", "type": "integer", "required": true}, "maxLimit": {"title": "Max limit", "type": "integer", "required": true}, "usePowerupFromPopup": {"title": "Limit change when power-up is used from the pop-up", "type": "integer", "required": true}, "closePowerupPopup": {"title": "Limit change when the pop-up is closed", "type": "integer", "required": true}, "restartLevel": {"title": "Counter change when level restarted with 0-5 birds", "type": "array", "required": true, "minItems": 6, "maxItems": 6, "items": {"type": "integer"}}, "usePowerupFromMenu": {"title": "Counter multiplier when power-up used from menu", "type": "number", "required": true} } }, "levelHint": { "title": "Level hint toast", "type": "object", "required": true, "additionalProperties": false, "properties": { "restartLimit": {"title": "Number of restarts needed to trigger level hint", "type": "integer", "required": true}, "powerupCost": {"title": "Number of powerups it costs to get the level hint", "type": "integer", "required": true}, "directPurchaseBundleSize": {"title": "Size of the bundle of level hint direct purchase", "type": "string", "required": true} } }, "promoConfig": { "title": "Configuration for cross promotion", "type": "array", "required": true, "additionalProperties": false, "items": { "title": "List of promoted products", "type": "object", "required": true, "additionalProperties": false, "properties": { "productName": {"title": "Name of the product being promoted", "type": "string", "required": true}, "screen": {"title": "Screen in which the promo appears", "type": "string", "required": true}, "image": {"title": "Promo art clip name", "type": "string", "required": true}, "button": {"title": "Promo art button clip name", "type": "string", "required": true}, "link": {"title": "Link to open when promo is clicked", "type": "string", "required": true}, "buttonPosition": { "title": "Relative position of the button on the promo art", "type": "object", "required": true, "additionalProperties": false, "properties": { "x": {"title": "Relative x position", "type": "number", "required": true}, "y": {"title": "Relative y position", "type": "number", "required": true} } } } } } } }, "meta": { "title": "Information about the config file", "type": "object", "required": true, "additionalProperties": false, "properties": { "minVersion": {"title": "Min client version", "type": "string", "required": true, "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"}, "experiment": { "title": "Experiment info (only used for experiment configs)", "type": "object", "required": false, "additionalProperties": false, "properties": { "name": {"title": "Name of the experiment", "type": "string", "required": true}, "group": {"title": "Condition or user group name", "type": "string", "required": true} } } } } } }
The Angry Birds series
| |
---|---|
iOS | Angry Birds • Epic • Stella • Transformers • Fight! • Angry Birds 2 • Football! • Go! • Friends • Reloaded • Rovio Classics: Angry Birds • Angry Birds POP! |
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 • Angry Birds POP! |
Windows | Angry Birds • Seasons • Space • Rio • Star Wars • Bad Piggies • Friends |
HTML5 | Chrome • Pistachios • Friends |
Mac OS X | 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 |
The Rio series
| |
---|---|
Wii | Rio |
Nintendo DS | Rio |
Android | Angry Birds Rio |
Windows | Angry Birds Rio |
- Pages missing developer references
- Games developed by Rovio
- Games developed by Fox Digital Entertainment
- Games developed by Blue Sky Studios
- Pages missing publisher references
- Games published by Rovio
- Windows games
- Mac OS X games
- IOS games
- Android games
- Windows Phone games
- Pages missing date references
- Games released in 2012
- Games released in September
- Games released on September 13
- Games with unused graphics
- Games with debugging functions
- To do
- Angry Birds series
- Rio series
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Cleanup > To do
Games > Games by content > Games with debugging functions
Games > Games by content > Games with unused graphics
Games > Games by developer > Games developed by Fox Digital Entertainment
Games > Games by developer > Games developed by Fox Digital Entertainment > Games developed by Blue Sky Studios
Games > Games by developer > Games developed by Rovio
Games > Games by platform > Android games
Games > Games by platform > IOS games
Games > Games by platform > Mac OS X games
Games > Games by platform > Windows Phone games
Games > Games by platform > Windows games
Games > Games by publisher > Games published by Rovio
Games > Games by release date > Games released in 2012
Games > Games by release date > Games released in September
Games > Games by release date > Games released in September > Games released on September 13
Games > Games by series > Angry Birds series
Games > Games by series > Rio series