Each cell is a simple virtual machine with its own genome (program). Each instruction decreases the energy of the cell. When the energy drops below zero, the cell dies. Cells can receive energy from the sun (upper half of the map). When the energy rises above the threshold, the cell can reproduce. When a cell reproduces, the genome of its offspring mutates randomly.
Each cell has 4 general purpose registers and 64 bytes of RAM.
name | description | |
---|---|---|
NOP | no operation | ☑️ |
CMP | compare | ☑️ |
JMP | jump | ☑️ |
DIVE | dive into function | ☑️ |
LIFT | lift from function | ☑️ |
PUT | put const to mem | ☑️ |
RAND | put random value to reg | ☑️ |
SAVE | put reg value to mem | ☑️ |
LOAD | load mem value to reg | ☑️ |
ADD | ☑️ | |
SUB | ☑️ | |
MUL | ☑️ | |
DIV | ☑️ | |
MOVE | move self cell | ☑️ |
ROTATE | rotate self cell | ☑️ |
CHECKPOS | get type of object at near position | ☑️ |
CHECKREL | get releations with cell at near position | ☑️ |
BITE | bite another cell | ☑️ |
SHARE | share energy with near cell | ☑️ |
RECYCLE | recycle something to energy | ☑️ |
REPRODUCE | reproduce | ☑️ |
PICKUP | pickup something | ☑️ |
DROP | drop selected item from bag | ☑️ |
BAGSIZE | count items in bag | ☑️ |
BAGACTIVE | set active item in bag | ☑️ |
BAGENERGY | get ebergy of selected item in bag | ☑️ |
BAGCHECK | get type of selected item in bag | ☑️ |
GETAGE | get self age | ☑️ |
GETHEALTH | get self health | ☑️ |
GETENERGY | get self energy | ☑️ |
GETCOUNTER | get current command counter | ☑️ |