Developers: Robinson Technologies,
Ubisoft Abu Dhabi
This game has hidden development-related text.
|This page is rather stubbly and could use some expansion.|
Are you a bad enough dude to
Growtopia is a very expansive sandbox platformer MMORPG.
- 1 Logging Messages
- 2 Unstripped Binaries
- 3 Debug Item Database Builder
- 4 Game Packet Types
- 5 Super Duper Broadcast
- 6 Removed Console Message Types
- 7 Hidden Developer Key
- 8 Unused Sprites
- 9 Adobe Photoshop Source Files
- 10 Unused Items
- 11 Unused Tree Behavior
- 12 Revisional Differences
- 13 References
The following debug messages can be seen inside Growtopia.exe or libgrowtopia.so, as well as log.txt if applicable.
Why are we initting more than once? fps: %d - M: %.2f, T: %.2f A: %.2f F: %.2f LOW MEM! LOW STORAGE SPACE! ERROR: %s Got memory warning Finger %d is down, sending fake release Well, one of them is gone, forget it Exception in GetGameStartEvent Exception in prepareStringForUbiServices Warning: Unable to delete file %s, no access Warning: Unable to delete file %s, may be a dir Warning: Unable to delete file %s, File system is read only Killing base app. Got android AppPause, ignoring as we've already triggered it CallFunctionRecursivelyWithUpdatedVar: Bad op Don't know how to add this type Unable to find entity to remove Unable to laod font %s Error: Font not loaded! Warning: Entity %s doesn't have a component named %s to call %s on Wat is type %d Unable to save data Exiting the app LinearParticle : Could not add more than % particles for an effect. Unexpected message (%d) about item %s (extra: %s) Packet Size %d Packet too small for extended packet to be valid Sizeof float is %d. TankUpdatePacket size: %d Bad packet length, ignoring message Parm %s isn't formatted right Illegal item %d in player inventory, skipping [Removing Illegal Item] [Glitch] %d for player World::LoadFromMem() m_version %d > LATEST_TILE_FORMAT_VERSION(%d) might be vital error. Map %s failed load due to corruption World::SaveToMem() [fatal failed in serailziation] abort saving White door missing from map %s PERFNOTE: World is trying to load %d objects. Rejecting load PERFNOTE: World is trying to load %d objects Map wants to load %d tiles? <vader> NOOOOoooo WorldTileMap::Serialize() [fatal failed in serailziation] offset %d has reach risk level, abort serailization Starting download of %s to %s [PACKET_LOG_START] [PACKET_LOG_END] Message Type Log:- Message type: %s received %d times Message Type Log End. Game Packet Log:- Game Packet type: %s received %d times Game Packet Log End. Function Call Packet Log:- Function Packet type: %s received %d times Function Call Packet Log End. bad net game message Error reading function packet, ignoring Error handling tree state Bad object change request: %d Using test server media... Unable to find netObj %d World doesn't exit, not spawning Using beta files Beta mode has been turned on. Quit and re-logon to try it. Beta mode has been turned off. Quit and re-logon to enter the normal server. Can't set base weather, no map loaded server override detected, faking .php load to Pause menu already active.. You clicked item picker, which will be put in var Opening world %s
The Android version of Growtopia has an unstripped .so file, meaning you could just simply drag it into IDA/Ghidra, and it would show an even better approximate of the actual source.
Debug Item Database Builder
The Android version of Growtopia also includes several debugging functions, most of which are not present in the PC version. Item types:
TYPE_FIST 0 TYPE_WRENCH 1 TYPE_USER_DOOR 2 TYPE_LOCK 3 TYPE_GEMS 4 TYPE_DEADLY 6 TYPE_TRAMPOLINE 7 TYPE_CONSUMABLE 8 TYPE_GATEWAY 9 TYPE_SIGN 10 TYPE_SFX_WITH_EXTRA_FRAME 11 TYPE_BOOMBOX 12 TYPE_DOOR 13 TYPE_PLATFORM 14 TYPE_BEDROCK 15 TYPE_LAVA 16 TYPE_NORMAL 17 TYPE_BACKGROUND 18 TYPE_SEED 19 TYPE_CLOTHES 20 TYPE_NORMAL_WITH_EXTRA_FRAME 21 TYPE_BACKGD_SFX_EXTRA_FRAME 22 TYPE_BACK_BOOMBOX 23 TYPE_BOUNCY 24 TYPE_POINTY 25 TYPE_PORTAL 26 TYPE_CHECKPOINT 27 TYPE_MUSICNOTE 28 TYPE_ICE 29 TYPE_SWITCHEROO 31 TYPE_CHEST 32 TYPE_MAILBOX 33 TYPE_BULLETIN 34 TYPE_PINATA 35 TYPE_DICE 36 TYPE_COMPONENT 37 TYPE_PROVIDER 38 TYPE_LAB 39 TYPE_ACHIEVEMENT 40 TYPE_WEATHER_MACHINE 41 TYPE_SCOREBOARD 42 TYPE_SUNGATE 43 TYPE_PROFILE 44 TYPE_DEADLY_IF_ON 45 TYPE_HEARTMONITOR 46 TYPE_DONATION_BOX 47 TYPE_TOYBOX 48 TYPE_MANNEQUIN 49 TYPE_CAMERA 50 TYPE_MAGICEGG 51 TYPE_TEAM 52 TYPE_GAME_GEN 53 TYPE_XENONITE 54 TYPE_DRESSUP 55 TYPE_CRYSTAL 56 TYPE_BURGLAR 57 TYPE_COMPACTOR 58 TYPE_SPOTLIGHT 59 TYPE_WIND 60 TYPE_DISPLAY_BLOCK 61 TYPE_VENDING 62 TYPE_FISHTANK 63 TYPE_PETFISH 64 TYPE_SOLAR 65 TYPE_FORGE 66 TYPE_GIVING_TREE 67 TYPE_GIVING_TREE_STUMP 68 TYPE_STEAMPUNK 69 TYPE_STEAM_LAVA_IF_ON 70 TYPE_STEAM_ORGAN 71 ...
MATERIAL_WOOD 0 MATERIAL_GLASS 1 MATERIAL_ROCK 2 MATERIAL_METAL 3
VISUAL_EFFECT_FLAME_LICK 1 VISUAL_EFFECT_SMOKING 2 VISUAL_EFFECT_GLOW_TINT1 3 VISUAL_EFFECT_ANIM 4 VISUAL_EFFECT_BUBBLES 5 VISUAL_EFFECT_PET 6 VISUAL_EFFECT_PET_ANIM 7 VISUAL_EFFECT_NO_ARMS 8 VISUAL_EFFECT_WAVEY 9 VISUAL_EFFECT_WAVEY_ANIM 10 VISUAL_EFFECT_BOTHARMS 11 VISUAL_EFFECT_LOWHAIR 12 VISUAL_EFFECT_UNDERFACE 13 VISUAL_EFFECT_SKINTINT 14 VISUAL_EFFECT_MASK 15 VISUAL_EFFECT_ANIM_MASK 16 VISUAL_EFFECT_LOWHAIR_MASK 17 VISUAL_EFFECT_GHOST 18 VISUAL_EFFECT_PULSE 19 VISUAL_EFFECT_COLORIZE 20 VISUAL_EFFECT_COLORIZE_TO_SHIRT 21 VISUAL_EFFECT_COLORIZE_ANIM 22 VISUAL_EFFECT_HIGHFACE 23 VISUAL_EFFECT_HIGHFACE_ANIM 24 VISUAL_EFFECT_RAINBOW_SHIFT 25 VISUAL_EFFECT_BACKFORE 26 VISUAL_EFFECT_COLORIZE_WITH_SKIN 27 VISUAL_EFFECT_NO_RENDER 28 VISUAL_EFFECT_SPIN 29 VISUAL_EFFECT_OFFHAND 30
STORAGE_SINGLE_FRAME_ALONE STORAGE_SINGLE_FRAME STORAGE_SMART_EDGE STORAGE_SMART_EDGE_HORIZ STORAGE_SMART_CLING STORAGE_SMART_OUTER STORAGE_RANDOM STORAGE_SMART_EDGE_VERT
TILE_COLLISION_NONE 0 TILE_COLLISION_SOLID 1 TILE_COLLISION_JUMP_THROUGH 2 TILE_COLLISION_GATEWAY 3 TILE_COLLISION_IF_OFF 4
HAT 0 SHIRT 1 PANTS 2 SHOES 3 FACEITEM 4 HAND 5 BACK 6 HAIR 7 CHESTITEM 8
EARTH 0 FIRE 1 AIR 2 WATER 3
Game Packet Types
The Android version also includes a debug function which turns an integer into a string describing a packet type. Message types (in order):
NET_MESSAGE_UNKNOWN NET_MESSAGE_SERVER_HELLO NET_MESSAGE_GENERIC_TEXT NET_MESSAGE_GAME_MESSAGE NET_MESSAGE_GAME_PACKET NET_MESSAGE_ERROR NET_MESSAGE_TRACK NET_MESSAGE_CLIENT_LOG_REQUEST NET_MESSAGE_CLIENT_LOG_RESPONSE
Game packet types:
NET_GAME_PACKET_STATE NET_GAME_PACKET_CALL_FUNCTION NET_GAME_PACKET_UPDATE_STATUS NET_GAME_PACKET_TILE_CHANGE_REQUEST NET_GAME_PACKET_SEND_MAP_DATA NET_GAME_PACKET_SEND_TILE_UPDATE_DATA NET_GAME_PACKET_SEND_TILE_UPDATE_DATA_MULTIPLE NET_GAME_PACKET_TILE_ACTIVATE_REQUEST NET_GAME_PACKET_TILE_APPLY_DAMAGE NET_GAME_PACKET_SEND_INVENTORY_STATE NET_GAME_PACKET_ITEM_ACTIVATE_REQUEST NET_GAME_PACKET_ITEM_ACTIVATE_OBJECT_REQUEST NET_GAME_PACKET_SEND_TILE_TREE_STATE NET_GAME_PACKET_MODIFY_ITEM_INVENTORY NET_GAME_PACKET_ITEM_CHANGE_OBJECT NET_GAME_PACKET_SEND_LOCK NET_GAME_PACKET_SEND_ITEM_DATABASE_DATA NET_GAME_PACKET_SEND_PARTICLE_EFFECT NET_GAME_PACKET_SET_ICON_STATE NET_GAME_PACKET_ITEM_EFFECT NET_GAME_PACKET_SET_CHARACTER_STATE NET_GAME_PACKET_PING_REPLY NET_GAME_PACKET_PING_REQUEST NET_GAME_PACKET_GOT_PUNCHED NET_GAME_PACKET_APP_CHECK_RESPONSE NET_GAME_PACKET_APP_INTEGRITY_FAIL NET_GAME_PACKET_DISCONNECT NET_GAME_PACKET_BATTLE_JOIN NET_GAME_PACKET_BATTLE_EVENT NET_GAME_PACKET_USE_DOOR NET_GAME_PACKET_SEND_PARENTAL NET_GAME_PACKET_GONE_FISHIN NET_GAME_PACKET_STEAM NET_GAME_PACKET_PET_BATTLE NET_GAME_PACKET_NPC NET_GAME_PACKET_SPECIAL NET_GAME_PACKET_SEND_PARTICLE_EFFECT_V2 NET_GAME_ACTIVE_ARROW_TO_ITEM NET_GAME_SELECT_TILE_INDEX
Super Duper Broadcast
The Super Duper Broadcast is a scrapped feature which allowed everyone to pop up a dialog (basically like a Super Broadcast but even more annoying). It was really expensive at 50 Growtokens. There are remnants of this behavior in the game:
set_default_color|`o add_label_with_icon|big|`2Broadcast from <player> ``|left| | add_smalltext|(In world <world>)|left| embed_data|worldname| add_spacer|small| add_textbox|<message>|left| end_dialog|sdbrespond|Cancel|GO!| end_dialog|sdbrespond|OK||
Removed Console Message Types
Before the 2.998 Chat Update, the beginning of global messages was always explicit. Now it's just [S] for System, [W] for World, [SB] for Super Broadcast, [BC] for Broadcast, [FC] for Friendcast, [MSG] for Private Message.
`w** `5Super-Broadcast`` from `$ `w** Broadcast from `$ `3 >> Friendcast from `5 `3 >> Guildcast from `5 `6>> Private msg from `$ `e Blocked | player_chat= `w** `2Super Duper Broadcast`` from `$<player>`` (in `$<world>``) **
Hidden Developer Key
key|3031323334353637383930313233343530313233343536373839303132333435 iv|30313233343536373839303132333435 hkey|41414242434344444545464641414242 server|localhost port|16999 type|1
This appears to be a server_data.php replacement for developer servers.
Golden Royal Lock
Here appears to be some earlier version of the Royal Lock, but gold instead of rainbow. It appears at the bottom right corner of "tiles_page8.rttex".
Early Achievement Tiles
This texture, which appears to date back to versions between 1.10 and 1.20 (?) named "tiles_achieve.rttex" also goes unused. It's very likely an early version of "amorkolg.rttex" which shows off the achievements, because the inscriptions look very similar.
Unused Tile Overlay
This is an unused tile overlay in "tile_grid_overlay.rttex". It is unclear what it would have been used for. Additionally, the Fist and Wrench also appear.
Unused -Crystal Block
There were 4 crystal block designs in total, but only 3 of them got used. This one did not. It appears to be a deformation of the current Crystal Block in a shape similar to that of the Emerald Block.
Adobe Photoshop Source Files
There is a series of *.psd files in the game's assets on Windows.
Slow Net (network.psd)
The original sprite is 32 x 32, but this is a higher resolution one at 64 x 64.
If you resize the canvas to 2000x1200 and open the image in Photoshop or GIMP, you will find this image:
Main_menu.psd appears to be a duplicate. However, the placement of the logo at the top might indicate that this was an early design for the main menu, similar to that of Tanked, one of RTsoft's older games.
Sixtybeat_ad.psd and bg.psd
bg.psd appears to be a particle effect, while sixtybeat_ad.psd appears to be a template for the sixtybeat_ad.rttex texture. It's probably a leftover from Tanked.
This item has no functionality. It has the same graphics as the World Lock. It is meant to update store graphics, but the developers realized they might as well put the data to update these in a random item.
Quote from Hamumu about the item: "We created that in order to be able to insert a graphics file for the store images, so that the game would send out updated versions of them on the fly. Which turned out to be really unnecessary when we realized we could stuff those graphics filenames into any random item instead of making a new one, which is what we do now." The page on the Growtopia Wiki about this item
This item is a consumable that gives a play mod to a random player for 10 minutes. This item gives the Ban mod, unlike the Curse Wand, which gives the Taped play mod. It is unused, because it does not show up everywhere (except MAYBE the ban dialog, but that might as well be the Fire Wand, which is completely unrelated). The page on the Growtopia Wiki about this item
Other Unused Items
- Hacker's Dialog (description: "Hacker's simulator, for developers & QA only. Probably shouldn't have a description, but if you're actually in the office and bored and reading this, here's a joke: a Mexican magician says he will disappear on the count of 3. He says "Uno...Dos..." - poof! - he disappears without a tres.") whose functionality is unknown and has the same sprite as Mailbox.
- A Burglar - This item's sprites still exist in tiles_page1.rttex, but it has been removed, for whatever reason.
Unused Tree Behavior
The game actually supports up to 5 fruits to be displayed. The fifth fruit is never sent by the real game although it can be achieved via cheats. The fifth fruit is a little bit further away from the fourth one than the fourth one is from the third one. If you go above 5 fruits, it will draw every fruit beyond the fifth in the same spot (This can be seen by planting a transparent item's seed).
There's still much more to add.
Black Cat Ears
An update on August 23, 2019 saw a redesign to the Black Cat Ears item, which had been introduced two days earlier on the third day of the annual Player Appreciation Week event. A key member of the developer team pushed for this change after reviewing the playerbase's reaction towards the previous design. The old sprites could be found in player_cosmetics1.rttex and player_cosmetics1_icon.rttex, and had since been replaced by the new ones.
Snow on Dirt and Fissure
Every December, prior to the annual WinterFest event, the textures of Dirt and Fissure blocks are changed, as if snow has covered the grass. This change is purely visual, since both blocks still retain the same properties as before. Their texture files, tiles_page1.rttex and tiles_page8.rttex respectively, need to be constantly updated by the game every time this change is carried out. The files are typically reverted back to normal in January.
Due to a developer oversight, the Fissure textures were not changed during December 2017.
Boils and Inflamed Nose
Due to the lukewarm player reception, the developers of Growtopia proposed a revamp to the monthly Totally Gross event. Days after the first event had ended, a small survey was sent out to players. Based off the popular vote, Totally Gross was rebranded two months later as Mutant Kitchen on July 26, 2019. Moreover, the developers felt that the "gross" appearance of the items introduced in the event was the main cause of its unpopularity among players. In particular, one item, Boils, had its name and design heavily altered, being replaced with the new Inflamed Nose, which performs identically to its predecessor.