EcoCommV2 defines a structure for all object names. This structure is to allow Species information to be passed in a standardized format through the name. All objects at the same stage of the species lifecycle should have the same name. This page defines the structure of that name.
EcoCommV2 splits the name into 3 components: a Species Name, a Seperator, and an 8 digit hexadecimal classification bitfield.
Format: Species Name&0×00000000
//this change has been introduced to improve human readability without affecting the standard functionality
The bitfield portion of the name is broken down into 6 components
0xVTMSSIFF
V – Version(4 bits)
T – Toggles(4 bits)
M – Major Classification(4 bits)
S – Sub Classification: modifies Major Classification(8 bits)
I – Intra Species Classification(4 bits)
F – Food Types Offered(8 bits)
Version number changes if the compatibility of the name or the chat protocol changes. Version 2 will only use the 3 least significant bits of this portion to avoid turning the number negative. Version 2 objects MUST NOT communicate with a version they don’t understand. Version 2 objects MAY communicate with a different version if they understand it (no forced backwards compatibility). Version 2 objects SHOULD abort communications if they receive an unexpected response from any version. When sending a message to a different version Version 2 objects MUST format the message according the protocol of the receiving version. The first 3 characters in the name of Version 2 objects MUST be “0×2″
//compatibility with old standards should be encouraged but since all the v1 animals have gone along with second nature 3 there is no such need in this case. For future update though, it could be required that backwards compatibility must be kept
bit assignment – UFWD
Version 2 contains space for 4 binary toggles. These Toggles are not broken down by species type and apply across the board if toggled on.
U – Unassigned
F – Flys(hex 4): This toggle MUST be ON if the object is currently capable of directed flight(MAY be on for ballistic flight) This toggle MUST be off if the Dead toggle is on.
W – Water(hex 2): This toggle indicates whether an object spends its time on Land or in Water. This toggle MUST be on if the object spends all its time in the water. This toggle SHOULD be on if amphibious object spends most of it’s time in the water. This toggle MAY be on if an amphibious object spends most of it’s time on land.
D – Dead(hex 1): This toggle MUST be turned on if the object is dead and is still interactive.
Currently Dead is the only state based toggle. Flys and Water are stateless. Ex: an object Flys regardless if it’s currently flying. Amphibious creatures MUST keep water either toggled on or off regardless if they are in the water or on land currently. Toggles MUST be combined if more than one should be on.
bit assignment – URAP
U – Unassigned
R – Robot(hex 4): This toggle MAY be combined with Animal and/or Plant. Hex 6 in this slot indicates a robotic animal. Hex 5(Robotic Plant) CAN BE be assigned regardless if the robot draws resources from the ground in competition with plants or not. Hex 7 is a robotic animal plant
A – Animal(hex 2): This toggle MAY be combined with Plant and/or Robot.
P – Plant(hex 1): This toggle MAY be combined with Animal and/or Robot.
//animal and plant toggle can now be combined, because we are in SL and everything can be, and btw read this if you're still skeptic: http://bytesizebio.net/index.php/2009/07/04/from-predator-to-plant-in-one-gulp/
If an animal eats plants SHOULD be considered herbivore; if eats animals, SHOULD be considered carnivore; if eats both SHOULD be considered omnivore; if eats robots SHOULD be considered Robotivore. If the creature eats a combination of those, the flags MUST be combined or Omnivore MUST be active. Ex: a creature that eats robots and plant COULD be Robotivore and Herbivore or COULD be Omnivore. The choice is left to the developer.
bit assignment – UUUURCOH
U – Unassigned
R - Robotivore(hex 08)
C – Carnivore(hex 04)
O – Omnivore(hex 02)
H – Herbivore(hex 01)
//robotivore has been introduced and flags can be combined.
bit assignment – UUUPTBLS
U – Unassigned
P - Purely Robotical (hex 10)
T – Tree(hex 08)
B – Brush(hex 04)
L – Leafy(hex 02)
S – Seed(hex 01)
To the animal world plant classifications indicate shape and difficulty to eat. To the plant world classifications indicate the layers plants draw resources from.
Subclassifications in Version 2 MAY be combined. Be aware the same Subclassification bits will be set on a Carnivore as on Brush.
//the purely robotical flag has been introduced and flags can now be combined
bit assignment – AAAA
A – Available These bits MAY be assigned as the species developer sees fit. Usage of these bits SHOULD be minimal and SHOULD only be used to indicate major differences. Ex between seed and plant of the same species.
bit assignment – UUUUUUBM
U – Unassigned
B – Bone(hex 02)
M – Meat(hex 01)
bit assignment – UUUTLNSF
U – Unassigned
T – Tree Leaf(Hex 10)
L – Leaf(Hex 08)
N – Nut(Hex 04)
S – Seed(Hex 02)
F – Fruit(Hex 01)
bit assignment – UUUUMAPL
U – Unassigned
M – Money(hex E8)
A – Avatar care(hex E4)
P – Prims(hex E2)
L – Lag(hex E1)
//the robot food is a whole new thing. The starting E in the hex code is used to differentiate between pure plants/animals and robot plants/animals
Food Offered bits are stateless if your object can offer the type it MUST set the flag even if 0 is currently available. Food Offered bits MUST be combined if your object offers more than one type.
& – Used to split between the Classification and the Species Name
Human readable name for your species. Name SHOULD be consistent across all objects of your species. Exception is major stages ex Species Name Species Name Seed.
Example Names
Cannon Plant&0×20102208 Palm&0×2010822C