Pollen Metadata

Pollen Metadata is a format used to store metadata for Spore assets (creations).

The following is included in Pollen Metadata:

Note that parts and paints are not stored in this data. That data is stored in the Spore Model format.


Use in Spore PNGs

This metadata is included inside Spore PNG data, as a header, prefixing the Spore Model XML.

The metadata has the following format:

Length Type Name Description
5 String   Always “spore”. Simply identifies the data as being from Spore.
4 Int Metadata version 5 for Creature Creator. 6 for full game (adds support for Parent assets). No other versions have been seen.
8 Hex Type ID* Type of asset.
8 Hex Group ID* ID of asset’s folder inside editorSaves.package. Corresponds to asset type.
8 Hex Instance ID ID of asset inside editorSaves.package.
8 Hex Machine ID Constant for user/machine? Purpose unknown.
16 Hex Asset ID Uniquely identifies this asset on the server. May be null (-1) if offline.
16 Hex Parent ID Indicates the “parent” asset’s ID, if this creation was edited. Used for lineage. Only present if version is 6.
16 Hex Timestamp Time when asset was saved. Seconds since AD 1.
2 Hex   Length of author’s username.
* String Username Author’s username. May be computer username if offline.
16 Hex User ID Uniquely identifies user on the server. May be null (-1) if offline.
2 Hex   Length of asset’s name.
* String Name Asset’s name, as set in editor.
3 Hex   Length of description.
* String Description As set in editor. NOT updated if the description is changed on Spore.com.
2 Hex   Length of tags.
* String Tags As set in editor. NOT updated if the tags are changed on Spore.com.
2 Hex   Number of consequence traits (stages completed). Will be 0 for non-creatures.
*8 Hex Consequence Traits* An 8-length hex ID for each consequence trait this creature has. Only present for creatures.

*These 8-length hex values are hashes. Use SporeModder FX’s Utilities tab to convert hashes into names.

Most other hex values should be converted to decimal values. Windows Calculator (Programmer mode) or SporeModder FX (Utilities tab) can do this.

PNG Examples

Creature example

spore00062b978c4640626200182183d70190b84d00000074a91fa01900000074a91fa0130000000ed18afdbf09DOGC_Kyle0000007476707e6505Kylon036From Planet Kylia. Part of the Spore Multiplayer Game.1aset:dogckylon, multiplayer0217e5ef84cfb01b93

Name Value Description
“spore” “spore”  
Metadata version 0006 This asset is from the full game.
Type ID 2b978c46 This is a creature. Its model has a .crt file extension.
Group ID 40626200 This asset is in the creature_editorModel~ folder in editorSaves.package.
Instance ID 182183d7 This asset has an ID of 182183d7 inside the creature_editorModel~ folder.
Machine ID 0190b84d Purpose unknown.
Asset ID 00000074a91fa019 Converts to 501,053,628,441. Can be used to find this creation on the server: http://www.spore.com/sporepedia#qry=sast-501053628441
Parent ID 00000074a91fa013 Converts to 501,053,628,435. Can be used to find parent creation on the server: http://www.spore.com/sporepedia#qry=sast-501053628435
Timestamp 0000000ed18afdbf Converts to 63,645,089,215‬. This can be converted to a date and time: Tuesday, October 31, 2017 11:26:55 PM
Username Length 09 Converts to 9. The author’s username is 9 characters long.
Username DOGC_Kyle This creation was made by DOGC_Kyle.
User ID 0000007476707e65 Identifies DOGC_Kyle on the server. Rarely used.
Name Length 05 Converts to 5. The creation’s name is 5 characters long.
Name Kylon The creation’s name is Kylon.
Description Length 036 Converts to 54. The description is 54 characters long.
Description   The creation has the following description: “From Planet Kylia. Part of the Spore Multiplayer Game.”
Tags Length 1a Converts to 26. The tags are 26 characters long.
Tags   The creation has the following tags: “set:dogckylon, multiplayer”
Traits Length 02 This creature has completed two stages, and therefore has acquired two consequence traits.
Traits 17e5ef84 & cfb01b93 These are IDs of the two consequence traits this creature has: crg_attack (Predator) and clg_meat (Carnivore).

Use in Package Files

A similar format is used inside of various Spore package files (DBPFs/database packed files), including Spore_Content.package (Maxis creations) and editorSaves.package (creations made locally).

The metadata for an asset is in its own file, with an extension of .pollen_metadata. .pmet is also believed to be a valid extension. A hex editor is needed to view and edit the data.

The metadata has the following format for player assets:

Length Name Description
4 Version? Unknown. Could be a version, could be a length. If lower than 7 or greater than 13, game discards file. Maxis uses 10, player creations use 13.
8 Asset ID Uniquely identifies this asset on the server. May be null (-1) if offline.
4 Type ID* Type of asset.
4 Group ID* ID of asset’s folder inside editorSaves.package. Corresponds to asset type.
4 Instance ID ID of asset inside editorSaves.package.
4 Parent Type ID* Type of parent asset.
4 Parent Group ID* ID of parent asset’s folder inside editorSaves.package. Corresponds to asset type.
4 Parent Instance ID ID of parent asset inside editorSaves.package.
8 Parent ID Indicates the “parent” asset’s ID, if this creation was edited. Used for lineage.
8 Original Parent ID Indicates the oldest, original “parent” asset’s ID, if this creation was edited. Used for lineage.
8 Time Created Time when asset was created. Seconds since AD 1.
8 Time Downloaded Time when asset was downloaded. Seconds since AD 1.
4 Localization When 0000 (player creations), author/name/description are specified here. When FFFF (Maxis creations), localization values are specified instead. See below.
8 User ID Uniquely identifies user on the server. May be null (-1) if offline.
4   Length of author’s username.
* Username Author’s username. May be computer username if offline.
4   Length of asset’s name.
* Name Asset’s name, as set in editor.
4   Length of description.
* Description As set in editor. NOT updated if the description is changed on Spore.com.
4   Number of next data?
*4   Length of next data?
** Data Author’s username, various Spore.com atom feed IDs. Purpose unknown, possibly used for sorting the Sporepedia.
4 Localization When 0000 (player creations), tags are specified here. When FFFF (Maxis creations), localization values are specified instead. See below.
4   Number of tags.
*4   Length of tag.
** Tag As set in editor. NOT updated if the tags are changed on Spore.com.
4 Shareable? Indicates whether the asset can be shared. Will be 0000 for player creations (in editorSaves.package), and FFFF for all other creations. Needs more testing to confirm.
4   Number of consequence traits (stages completed). Will be 0 for non-creatures.
*4 Consequence Traits* A hex ID for each consequence trait this creature has. Only present for creatures.

For Maxis creations included with the game (Assembled Content) in Spore_Content.package, the fields for User ID, Username, Name, and Description, are replaced with three fields.

Length Name Description
4 Localization file* The ID of the localization file in Text.package.
4 Author ID Hash inside localization file. 1 for Maxis, 2 for Jessica, 3 for Micheal.
4 Name ID Hash inside localization file. Used to retrieve asset name.
4 Description ID Hash inside localization file. Used to retrieve asset name. Only present for adventures.

The fields for Tags are replaced with two fields:

Length Name Description
4 Localization file* The ID of the localization file in Text.package.
4 Tags ID Hash inside localization file. Used to retrieve tags.

*These hex values are hashes. Use SporeModder FX’s Utilities tab to convert hashes into names.

Most other hex values should be converted to decimal values. Windows Calculator (Programmer mode) or SporeModder FX (Utilities tab) can do this.

Compared to the format used in PNGs, the data is in a different order, and the Machine ID is not present. Tags are split up (not a single string). Also, there is extra data for locating the parent asset in editorSaves.package, and also an asset ID for the oldest parent asset. Localization values can be specified, for names/descriptions/authors and/or tags.

Package File Examples

Creature example

00 00 00 0D 00 00 00 74 A9 1F A0 19 2B 97 8C 46 40 62 62 00 18 21 83 D7 2B 97 8C 46 40 62 62 00 18 21 83 B5 00 00 00 74 A9 1F A0 13 00 00 00 74 A9 1F 20 28 00 00 00 0E D1 8A FD BF 00 00 00 0E D1 8A FD BF 00 00 00 00 00 00 00 74 76 70 7E 65 00 00 00 09 44 00 4F 00 47 00 43 00 5F 00 4B 00 79 00 6C 00 65 00 00 00 00 05 4B 00 79 00 6C 00 6F 00 6E 00 00 00 00 36 46 00 72 00 6F 00 6D 00 20 00 50 00 6C 00 61 00 6E 00 65 00 74 00 20 00 4B 00 79 00 6C 00 69 00 61 00 2E 00 20 00 50 00 61 00 72 00 74 00 20 00 6F 00 66 00 20 00 74 00 68 00 65 00 20 00 53 00 70 00 6F 00 72 00 65 00 20 00 4D 00 75 00 6C 00 74 00 69 00 70 00 6C 00 61 00 79 00 65 00 72 00 20 00 47 00 61 00 6D 00 65 00 2E 00 00 00 00 01 00 00 00 09 44 4F 47 43 5F 4B 79 6C 65 00 00 00 00 00 00 00 02 00 00 00 0D 73 00 65 00 74 00 3A 00 64 00 6F 00 67 00 63 00 6B 00 79 00 6C 00 6F 00 6E 00 00 00 00 0B 6D 00 75 00 6C 00 74 00 69 00 70 00 6C 00 61 00 79 00 65 00 72 00 FF FF FF FF 00 00 00 02 17 E5 EF 84 CF B0 1B 93

Name Value Description
Asset ID Length 00 00 00 0D Converts to 13.
Asset ID 00 00 00 74 A9 1F A0 19 Converts to 501,053,628,441. Can be used to find this creation on the server: http://www.spore.com/sporepedia#qry=sast-501053628441
Type ID 2B 97 8C 46 This is a creature. Its model has a .crt file extension.
Group ID 40 62 62 00 This asset is in the creature_editorModel~ folder in editorSaves.package.
Instance ID 18 21 83 D7 This asset has an ID of 182183d7 inside the creature_editorModel~ folder.
Parent Type ID 2B 97 8C 46 The parent asset is a creature.
Parent Group ID 40 62 62 00 The parent asset is in the creature_editorModel~ folder in editorSaves.package.
Parent Instance ID 18 21 83 B5 The parent asset has an ID of 182183d7 inside the creature_editorModel~ folder.
Parent ID 00 00 00 74 A9 1F A0 13 Converts to 501,053,628,435. Can be used to find parent creation on the server: http://www.spore.com/sporepedia#qry=sast-501053628435
Original Parent ID 00 00 00 74 A9 1F 20 28 Converts to 501,053,595,688. Can be used to find parent creation on the server: http://www.spore.com/sporepedia#qry=sast-501053595688
Time Created 00 00 00 0E D1 8A FD BF Converts to 63,645,089,215‬. This can be converted to a date and time: Tuesday, October 31, 2017 11:26:55 PM
Time Downloaded 00 00 00 0E D1 8A fD BF This creation was made locally, so the time is exactly the same.
Localization 00 00 00 00 This creation’s author and name are not localized, but rather specified here.
User ID 00 00 00 74 76 70 7E 65 Identifies DOGC_Kyle on the server. Rarely used.
Username Length 00 00 00 09 Converts to 9. The author’s username is 9 characters long.
Username 44 00 4F 00 47 00 43 00 5F 00 4B 00 79 00 6C 00 65 00 This creation was made by DOGC_Kyle.
Name Length 00 00 00 05 Converts to 5. The creation’s name is 5 characters long.
Name 4B 00 79 00 6C 00 6F 00 6E 00 The creation’s name is Kylon.
Description Length 00 00 00 36 Converts to 54. The description is 54 characters long.
Description 46 00 72 00 6F 00 6D 00 20 00 50 00 6C 00 61 00 6E 00 65 00 74 00 20 00 4B 00 79 00 6C 00 69 00 61 00 2E 00 20 00 50 00 61 00 72 00 74 00 20 00 6F 00 66 00 20 00 74 00 68 00 65 00 20 00 53 00 70 00 6F 00 72 00 65 00 20 00 4D 00 75 00 6C 00 74 00 69 00 70 00 6C 00 61 00 79 00 65 00 72 00 20 00 47 00 61 00 6D 00 65 00 2E 00 The creation has the following description: “From Planet Kylia. Part of the Spore Multiplayer Game.”
Data Count 00 00 00 01 Converts to 1. There is one data field.
Data Length 00 00 00 09 Converts to 9. The following data is 9 characters long.
Data 44 4F 47 43 5F 4B 79 6C 65 This is the author’s username (DOGC_Kyle). Possibly used for search?
Localization 00 00 00 00 This creation’s tags are not localized, but rather specified here.
Tags Count 00 00 00 02 Converts to 2. There are two tags.
Tag Length 00 00 00 0D Converts to 13. The first tag is 13 characters long.
Tag 73 00 65 00 74 00 3A 00 64 00 6F 00 67 00 63 00 6B 00 79 00 6C 00 6F 00 6E 00 The first tag is: “set:dogckylon”
Tag Length 00 00 00 0DB Converts to 11. The second tag is 11 characters long.
Tag 6D 00 75 00 6C 00 74 00 69 00 70 00 6C 00 61 00 79 00 65 00 72 00 The second tag is: “multiplayer”
Shareable FF FF FF FF This creation can be shared. Because it has an Asset ID, it is considered to already be shared, and will have a green checkmark.
Traits Length 00 00 00 02 This creature has completed two stages, and therefore has acquired two consequence traits.
Traits 17 E5 EF 84 & CF B0 1B 93 These are IDs of the two consequence traits this creature has: crg_attack (Creature, Predator) and clg_meat (Cell, Carnivore).