If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Growtopia

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Growtopia

Developers: Robinson Technologies, Hamumu Software, Ubisoft Abu Dhabi
Publishers: Robinson Technologies (2013-2017), Ubisoft (2017-present)
Platforms: Windows, Mac OS X, Android, iOS
Released internationally: January 11, 2013


DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
ItemsIcon.png This game has unused items.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
Carts.png This game has revisional differences.


So very stubbly.
This page is rather stubbly and could use some expansion.
Are you a bad enough dude to rescue this article?

Growtopia is a very expansive sandbox platformer MMORPG.

Logging Messages

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

Unstripped Binaries

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
...

eItemMaterial:

MATERIAL_WOOD 0
MATERIAL_GLASS 1
MATERIAL_ROCK 2
MATERIAL_METAL 3

eTileVisualEffect:

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

eTileStorage:

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

eCollisionType:

TILE_COLLISION_NONE 0
TILE_COLLISION_SOLID 1
TILE_COLLISION_JUMP_THROUGH 2
TILE_COLLISION_GATEWAY 3
TILE_COLLISION_IF_OFF 4

eClothingType:

HAT 0
SHIRT 1
PANTS 2
SHOES 3
FACEITEM 4
HAND 5
BACK 6
HAIR 7
CHESTITEM 8

eItemElement:

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.

Unused Sprites

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".

Growtopia Gold Royal Lock.png

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.

Tiles achieve.png

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.

Tile grid overlay unused overlay.png

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.

Early crystal block.png

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.

M1.png

Generic Menu (generic_menu.psd/main_menu.psd)

This appears to be an early version of generic_menu.rttex, which, in the final, is tinted blue.
M2.png

Additionally, this contains an early version of the Growtopia logo.
GT early logo.png

If you resize the canvas to 2000x1200 and open the image in Photoshop or GIMP, you will find this image:

Growtopia FullscreendesktopScreenshot.png

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.

Unused Items

UPDATE_STORE

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

Ban Wand

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).

Revisional Differences

Hmmm...
To do:
There's still much more to add.

Permanent

Black Cat Ears

Old Current
Black Cat Ears Sprites Old.png Black Cat Ears Sprites New.png

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.[1] The old sprites could be found in player_cosmetics1.rttex and player_cosmetics1_icon.rttex, and had since been replaced by the new ones.

Seasonal

Snow on Dirt and Fissure

Regular Winter
Growtopia-Temp8 - Grass.png Growtopia-Temp7 - Snow.png

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.

Temporary

Boils and Inflamed Nose

Old Current
Growtopia-Boils-Sprite.png Growtopia-Inflamed-Nose-Sprite.png

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.[2] 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.

References