Ice Age Village (iOS, Android)
Ice Age Village |
---|
Developer: Gameloft This game has hidden development-related text. |
Being one of the first free-to-plays from Gameloft, Ice Age Village is a city-builder starring the cast of, what else, the Ice Age series.
"Isn't there anyone who cares about Sid the Sloth?"
This article is a work in progress. ...Well, all the articles here are, in a way. But this one moreso, and the article may contain incomplete information and editor's notes. Notes: Currently figuring out the proprietary texture format and slowly looking through related textures for anything fishy but we'll need the encryption key to view unused parameters.
|
Contents
Development Text
GS Error (Connection failed) AndroidOrientationChanged Lobby Error ( ) Room Error ( User Error (User Already logged In) User Error ( Default Error ( Placeholder name Placeholder description [PLACEHOLDER]We will now attempt to retrieve available save files from cloud servers. [NOT LOCALISED]%s has left you a surprise in your inventory! [NOT LOCALISED]%s has left you a surprise in your village! [NOT LOCALISED]Congratulations, you got %s [NOT LOCALISED]Placing this gift will give your friend %s and you will get %s! [NOT LOCALISED]There isn't enough space at the moment in this village to place this gift. [NOT LOCALISED]You collected %s gift ! You got %s
A portion of development text entries are mostly present in the executable however most entries were removed across many builds of the game.
Playtest Player IDs
1700329137__________ 100001228334594_____ 100001205931560_____ 100001209620736_____ 100001258344333_____ 100001273943586_____ 100001473189757_____ 100001500039571_____ 100001525839080_____ 100001484379290_____ 100001473039973_____ 756073720___________
Error handler strings
Only constant texts allowed in referenced locale string arguments ERROR VisualTiledBackground:getVisualTileAtCameraCenter : Camera is somehow outside of the map! No type declared in getClass!!! Pointer NULL WTFBBQ! Can't find quest:
Debug/Cheat Menu/Console strings
Cheat Menu Level Up Skip Tutorial Unlock Full Store Game Speed %dX In-Game Menu Reset Game Please restart the AUT for the change to take effect. Time has changed by %c hours. Invalid input recieved: Reset Seshat profile REGION Device: REGION: Fake invite: MainSkipTut MainLevelUp DEBUG CONSOLE MainUnlockFull Game Speed x%d Quest Cheat Next Loading Screen Hint: %d Quest Cheat x%d Get Coins and Acorns + 24 hours Snow Pile x%d Scrat x%d + 1 Hour Debug Enable Interstitials Disable Interstitials No Home Tree Home Tree: %i / %i Max Level Home Tree Skip Level %i JP: Animal JP: Acorns JP: Coins Jackpot Off Set 13th Birthday Enter DLC ZIP Folder (Ex: 40507) Enter Max DLC Pack To Download (Ex: 5) FOLDER PACK ALL unlockDlcQA Bad or no command argument You are at a higher level then %i Setting level to Total EXP for level: Current Level: Current Exp: Increased Exp by: Debug ON AVG_FPS: %.1f STATUS: %s ENVIRONMENT: %s %s Scenery flag = %d 0,0 = %d both = %d COLLISION_PLAYER, COLLISION_ANIMAL, COLLISION_OBJECT, COLLISION_TEMPORAL, Current VIP Level prizecount = %d %s No Mystery Box Prizes for current VIP Level Prize Index exceeded the number of prizes for current VIP Level Need to increase VIP level to access the mystery box Getting Mystery Box Prize at Index invalid args Increased holiday tokens owned by Error: No Active Holiday Increased STC tokens owned by Increased tokens owned by Increased hearts owned by Increased acorns owned by Increased coins owned by ToogleCorruptCloudSave Trigger to: ON Usage: GLC <GLCcommand> [OptionalParams] Available commands: ToogleCorruptCloudSave - Toogle between On or Off for sumitting a corrupted Cloud Save Quest command executed Found quest: quest activated LiveOps Tournament Unit Test Started Not Enough Args Invlaid Args Too many people to fill leaderboard with, max is 200 Filling Leaderboard for Event Id %d Tournament Event with ID %d Not Found Creating Tournaments for Event Id %d Unit Test Started COIN MainLiveOpsHeartIceAnimals_Title Setting live ops path to new file: + days hours minutes Setting Main Score to Setting Extra Event Score to Holiday Unit Test Started Holiday Unit 2 Test Started Usage: CRM <CRMcommand> [OptionalParams] Available commands: Refresh - force a fully refresh cicly Reset - invalidate all configs and then force refresh Debug - show/hide debug window info - refresh CRM debug info Date - get expiration Date InternetLost - simulates an internet disconnection hestia Expiry Date: offItems Expiry Date: not implemented yet
Not a cheat version
Probably a string to separate debug and retail versions and suggest debug features are removed in them.
Debug Console?
To do: Enable if possible. |
The executable of the game mentions a debug console.
General
Command | Description | Switch |
---|---|---|
ADDHOUR | Adds hours to game time? | <int_value> |
ALMOSTLEVELUP | Almost levels up your village one level? | None |
TOLEVEL | Sets your village level? Duplicate of TOLEVEL? Won't let you go over your current. | <int_value> |
DISCLAIMER | Displays a disclaimer? | None |
SPECIALDISCLAIMER | ? | None |
HIDEUI | Hides the GUI? | None |
CHEATZOOM | ? | None |
UNCHEATZOOM | ? | None |
DISABLERANDOMLIMIT | ? | None |
TEXT | Displays text from a given Text ID. | <text_id> |
SETAGE | Sets your age for COPPA? | <int_value> |
SETREGION | Sets your region? | <region_code> |
RESETREGION | Resets your region? | None |
SHOWREGION | Draws a display for the region of the player. | None |
MONEY | Probably allows currency to be added to the profile. money_type values to choose are coin, acorn, heart, token, stctoken, holiday and vipacorn | <string - money_type> <int - amount> |
help | Sounds like it prints the list of debug commands. | None |
REGION | ? | None |
QUEST | Allows you to load a given quest. | <quest_id> |
Live Ops
These all start with LiveOps.
Switch /+ Command | Description |
---|---|
help | ? |
[int] days | ? |
[int] hours | ? |
[int] minutes | ? |
ResetTime | ? |
UnitTest | ? |
SetSource [string - filename.xml] | ? |
ClearSave | ? |
CreateTournaments [int - UniqueId] | ? |
TournamentUnitTest | ? |
FillLeaderboard [int - UniqueId] [int - Number of people] [int - Base Score] [int - Score Interval] | ? |
HolidayUnitTest <holiday> | Only valentine, easter, worldcup, back2school, halloween, xmas, flower can be chosen. |
AwardPrize [int - prizeType] | ? |
ResetScore [int - prizeType] | ? |
SetScore [int - amount] main | ? |
SetScore [int - amount] second | ? |
Developer Text
<!-- ***** Tag model. ***** Attribute id = "device_model". You can get this attribute value by checking the log tag "ALPHA_CORRECTION" in the debugger. Also you can check it on the Gameloft DDMS Device info tab. The values are shown like: ro.product.manufacturer=samsung ro.product.model=GT-I9300 Put them together separated by '_' on the 'id' attribute. <model id="samsung_GT-I9300"> </model> ***** Tag firmware (optional) **** Some specific firmware versions may need alpha correction. You can get the firmware version by checking the log tag "ALPHA_CORRECTION" in the debugger. Also you can check it on the Gameloft DDMS Device info tab. The values are shown like: ro.build.version.release=4.2.2 <firmware>2.3.6</firmware> --> <!-- [MANDATORY] EventType - event_increase_collection(only one available for update 11) event_extra_resource(available for update 12) event_stc_bonus(available for update 12) event_holiday(available for update 13) event_stc_extra_resource(available for update 13) event_quest_rewards(available for update 14) event_pile_bonus(available for update 14) event_community(available for update 15) UniqueID - Must be unique for EACH event current UniqueID in use - 70. //Please change accordingly StartDate - EndDate - Format "year-MM-dd HH:mm:ss" Target - (For event_increase_collection) COINS, XP, REDUCEPRODUCTIONTIME (For event_extra_resource) HEART, ACORN, HOLIDAY Modifier - How much more? 2 = 2%, 3 = 3%, 4 = 4% HolidayType - (For event_extra_resource) For the diferrent Holidays NONE XMAS VALENTINE HALLOWEEN IncludeClutters - (For event_extra_resource) Make the extra resource appear on map piles (snow piles and leaves piles) 1 - (NOTE: On) 0 - (NOTE: Off) ActivatePercent - (For event_extra_resource) % to spawn the resource. AmountToGift - (For event_extra_resource) Amount to Give of the extra resource. ElementTemplateAffected - amount of element templates to apply the event Example: 29 (NOTE: If a number is given please list the elements that apply.) 34 (NOTE: If a number is given please list the elements that apply.) Categories that we support: ALL ICE DINO FUN ANIMAL If the target is XP only suport (NOTE: Fun building give no exp) ICE DINO ANIMAL --> <!-- movieID list: 0 - Ice Age: Continental Drift Exclusive Movie Clip! 1 - Ice Age Trailer 2 - Ice Age Policy Trailer 3 - Alpenliebe 4 - McDonalds 5 - Life of Pi: Theatrical Trailer 6 - Ice Age Village – Behind the scenes trailer 7 - EPIC Battle for Moonhaven Trailer 8 - Ice Age Adventures - Launch Trailer -->
Changes with Text
String ID | Base | Final | Note |
---|---|---|---|
Ad_Minigame_WatchAd | Watch a video to play for free! |
Watch an ad video to play for free! |
Changed to "ad video". Same for Ad_Minigame_Timer except with the time. |
MessageIAP_Popup_GetItNow | GET IT NOW! |
NOT ENOUGH CURRENCY. |
From an IAP beg to a typical message. |
!MessageIAP_Popup_NeedAmount_Coins | You need %s\\[22] to get it now! |
YOU NEED %s\\[22] MORE! YOU CAN PICK SOME UP AT THE SHOP. |
Way more descriptive on the shop location. |
!MessageIAP_Popup_NeedAmount_Acorns | You need %s\\[29] to get it now! |
YOU NEED %s\\[29] MORE! YOU CAN PICK SOME UP AT THE SHOP. |
Way more descriptive on the shop location. |
MessageFindBabyVideo | Oh no! It looks like your baby ran away! Would you like to watch a video to get it back? |
Oh no! It looks like your baby ran away! Would you like to watch an advertising video to get it back? |
Changed to "advertising video". |
MessageWatch_Video | Watch Video |
Watch an ad |
Changed to "an ad". |
Ad_Video_GetFreeAcorns | Get \\[226]! |
Watch an ad \\[226]! |
More descriptive on watching an advert. |
Ad_Quest_DoubleRewards | Double your rewards! |
Watch an ad |
More descriptive on watching an advert. |
Ad_ADVISOR_NO_MORE_VIDEOS | Sorry, no more videos available to watch for now. Please come back later. |
Sorry, no more ad videos are available to watch for now. Please come back later. |
Another change to "ad videos". |
Ad_Minigame_FreeAcorn | Watch a Video to Earn Rewards |
Watch an ad video to earn rewards. |
For whatever reason, some words were uncapitalized. |
Ad_Free_Acorns_IAP | GET FREE \\[147]! |
Watch an ad \\[147]! |
More descriptive on watching an advert. |
Development Leftovers
A few leftovers are present.
Compilation Logs
hdata:
Start of log ------------------------------ Table of Contents ------------------------------ ----Calculate Size of TOC-------- --- Num of Packs: 1 --- Size = NB of packs * (Version(4 bytes) + Type(4 bytes) + Major(4 bytes) + Minor(4 bytes) + Build(4 bytes) + Model(4 bytes) + Availability (4 bytes) + Description (64 bytes) + StartAddress(8 bytes) + EndAddress(8 bytes)) Size (4 Bytes) (size of TOC): 112 ------------------------------ --- Start of TOC ------------------------------ ------------------------------ TOC Listing for pack D:\IAVillage\trunk_clean\data\001 TOC Listing for pack 001 TOC Listing for pack 1 BYTES 4 - 7 :Pack 1 Version = 1 BYTES 8 - 11 :Pack 1 Type = 3 BYTES 12 - 15 :Pack 1 Major = 9 BYTES 16 - 19 :Pack 1 Minor = 9 BYTES 20 - 23 :Pack 1 Build = 9 BYTES 24 - 27 :Pack 1 Model = 2 BYTES 28 - 31 :Pack 1 Availability = 0 BYTES 32 - 95 :Pack 1 Description = InitialGameContent --- Type 3: CORE Resource Packs BYTEs 96 - 103: Start address of Pack: 112 --- Num CORE Packs: 4 (4 bytes) --- 3 --- Adding info for CORE Resource Pack 3 --- 4 --- Adding info for CORE Resource Pack 4 --- 5 --- Adding info for CORE Resource Pack 5 --- 6 --- Adding info for CORE Resource Pack 6 --- 3 --- Adding data for resource pack 3 --- 4 --- Adding data for resource pack 4 --- 5 --- Adding data for resource pack 5 --- 6 --- Adding data for resource pack 6 BYTES 104 - 111: End addressssss of Pack: 7456999 ------------------------------- DONE READING FILES-------------- ------------------------------- APPENDING FILES--------------
ldata:
Start of log ------------------------------ Table of Contents ------------------------------ ----Calculate Size of TOC-------- --- Num of Packs: 1 --- Size = NB of packs * (Version(4 bytes) + Type(4 bytes) + Major(4 bytes) + Minor(4 bytes) + Build(4 bytes) + Model(4 bytes) + Availability (4 bytes) + Description (64 bytes) + StartAddress(8 bytes) + EndAddress(8 bytes)) Size (4 Bytes) (size of TOC): 112 ------------------------------ --- Start of TOC ------------------------------ ------------------------------ TOC Listing for pack D:\IAVillage\trunk_clean\data\001 TOC Listing for pack 001 TOC Listing for pack 1 BYTES 4 - 7 :Pack 1 Version = 1 BYTES 8 - 11 :Pack 1 Type = 3 BYTES 12 - 15 :Pack 1 Major = 9 BYTES 16 - 19 :Pack 1 Minor = 9 BYTES 20 - 23 :Pack 1 Build = 9 BYTES 24 - 27 :Pack 1 Model = 2 BYTES 28 - 31 :Pack 1 Availability = 0 BYTES 32 - 95 :Pack 1 Description = InitialGameContent --- Type 3: CORE Resource Packs BYTEs 96 - 103: Start address of Pack: 112 --- Num CORE Packs: 4 (4 bytes) --- 3 --- Adding info for CORE Resource Pack 3 --- 4 --- Adding info for CORE Resource Pack 4 --- 5 --- Adding info for CORE Resource Pack 5 --- 6 --- Adding info for CORE Resource Pack 6 --- 3 --- Adding data for resource pack 3 --- 4 --- Adding data for resource pack 4 --- 5 --- Adding data for resource pack 5 --- 6 --- Adding data for resource pack 6 BYTES 104 - 111: End addressssss of Pack: 4195204 ------------------------------- DONE READING FILES-------------- ------------------------------- APPENDING FILES--------------
IADLC.zip.log is present in the Windows Phone version.
XCode Entitlement
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>keychain-access-groups</key> <array> <string>A4QBZ46HAP.com.gameloft.SingleSignonGames</string> </array> </dict> </plist>
Media Player Note
Contents: MP_wrapper.mm, MP_wrapper.h - Objective-C wrapper for MediaPlayer framework. MP_externdecl.h - extern "C" statements, to be included wherever you need them. Only for C++. cMediaPlayer.cpp, cMediaPlayer.h - C++ wrapper for functions in MP_wrapper. Tested only on iPhone. cMediaPlayer_defines.h - defines used in both wrappers ---------------------------------------------------------------------------------- Things to do to compile the files: - add them to your project - you might want to #undef WIN32 in Objective-C files. - in MP_wrapper.mm, class cMP_Picker, method Display: the statement [[GLoftApp sharedInstance] GetWindow] must return a UIWindow. You must modify it to match the variable names in your project. ---------------------------------------------------------------------------------- How to use cMediaPlayer to play all songs in iPod: cMediaPlayer::Initialize(); cMediaPlayer mp = NEW cMediaPlayer(MP_TYPE_APP, MP_QY_SONGS); mp->Prepare(); mp->Play(); .... mp->Stop(); delete mp; cMediaPlayer::Shutdown(); ---------------------------------------------------------------------------------- How to add filters: cMediaPlayer::Initialize(); cMediaPlayer mp = NEW cMediaPlayer(MP_TYPE_APP, MP_QY_SONGS); HFilter f1 = mp->AddFilter(MP_FILTER_ARTIST, "Metallica", MP_FILTERCOMP_EQUALS); HFilter f2 = mp->AddFilter(MP_FILTER_TITLE, "sO WHat", MP_FILTERCOMP_CONTAINS); mp->Prepare(); mp->Play(); .... mp->Stop(); mp->RemoveFilter(f1); mp->RemoveFilter(f2); mp->Play(); .... mp->Stop(); delete mp; cMediaPlayer::Shutdown(); You can add as many filters as you want (theoretically). You are responsible for managing filters. ---------------------------------------------------------------------------------- How to select an existing playlist: cMediaPlayer::Initialize(); cMediaPlayer mp = NEW cMediaPlayer(MP_TYPE_APP, MP_QY_PLAYLISTS); int nb = mp->GetNumberOfGroups(); char name[MAX_NAME_LENGTH]; for(int i = 0; i < nb; i++) mp->GetGroupName(i, name); //will copy in name the playlist name .... mp->Prepare(i); // 0 <= i < nb; ... mp->Play(); .... mp->Stop(); delete mp; cMediaPlayer::Shutdown(); mp = NEW cMediaPlayer(MP_TYPE_APP, MP_QY_PLAYLISTS); //creates a player which sorts items by playlist If you create a player which sorts items by song title (MP_QY_SONGS), GetGroupName() will get the song name. Use SetCustomPlaylist(int *indices, int len) to set a playlist containing the songs at indices. ---------------------------------------------------------------------------------- How to display a media picker to let the user create a playlist: cMediaPlayer mp = NEW cMediaPlayer(MP_TYPE_APP, MP_QY_SONGS); mp->ShowPlaylistDialog(); if(media->IsPlaylistSelected()) //assuming you call this in your main loop { mp->SetSelectedPlaylist(); } .... mp->Play(); ... ---------------------------------------------------------------------------------- Other things you might want to change: - #define MAX_NAME_LENGTH 256 - #define MAX_MP_OBJECTS 32 - the type on music player (MP_TYPE_xxx) or query (MP_QY_xxx)
cMediaPlayer.readme for an internal media player is present in v1.0.0 on iOS due to it didn't use external assets and Gameloft forgot to fully clean them.
Internal Project Name
The internal project name of the game is Ice Age, despite Gameloft already releasing an Ice Age title before being Ice Age: Scrat-Ventures, guess they forgot about it. Go figure.
The Ice Age series
| |
---|---|
Game Boy Advance | Ice Age • Ice Age 2: The Meltdown |
PlayStation 2 | Ice Age 2: The Meltdown • Ice Age: Dawn of the Dinosaurs |
Xbox, GameCube, Wii | Ice Age 2: The Meltdown |
Android, iOS, Windows Phone | Village • Adventures |
Windows | Ice Age 2: The Meltdown • Adventures |
J2ME | Scrat-ventures • Village |
- Pages missing developer references
- Games developed by Gameloft
- Pages missing publisher references
- Games published by Gameloft
- IOS games
- Android games
- Windows Phone games
- Blackberry Tablet OS games
- Pages missing date references
- Games released in 2012
- Games released in April
- Games released on April 5
- Games with hidden development-related text
- Games with debugging functions
- Works In Progress
- Works In Progress for Over 1 Year
- To do
- Ice Age series
Cleanup
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Cleanup > To do
Cleanup > Works In Progress
Cleanup > Works In Progress > Works In Progress for Over 1 Year
Games > Games by content > Games with debugging functions
Games > Games by content > Games with hidden development-related text
Games > Games by developer > Games developed by Ubisoft > Games developed by Gameloft
Games > Games by platform > Android games
Games > Games by platform > Blackberry Tablet OS games
Games > Games by platform > IOS games
Games > Games by platform > Windows Phone games
Games > Games by publisher > Games published by Gameloft
Games > Games by release date > Games released in 2012
Games > Games by release date > Games released in April
Games > Games by release date > Games released in April > Games released on April 5
Games > Games by series > Ice Age series