Welcome to the Creatures Wiki! Log in and join the community.

Cellular Automata

From Creatures Wiki
(Redirected from Smell)
Jump to navigation Jump to search

Cellular automata (CA) are virtual particles which are emitted from agents, such as food and plants, allowing creatures and other agents to "smell" this agent and make navigation decisions accordingly. Cellular automata were introduced in Creatures 2 and expanded in the Creatures Evolution Engine games such as Creatures 3, Creatures Village and Docking Station.

In C2, CAs were used for a few room properties such as light, but more were added in later games, and they are emitted by agents instead. Sometimes the emitting agents are invisible so as to give the appearance an area is emitting CAs; for example, an agent in the Grendel Jungle emits Grendel Home smell, which entices the Grendels to live there. CAs are called "scentons" in the help menu for the smell emitter.

In creatures, the Cellular Automata enter through the foot that is in contact with the ground, then interpreted by the smell lobe. The reason why creatures smell with their foot touching the ground is to avoid changes which could happen when creatures turn around.[1] Creatures also emit smell themselves depending on their genus: Norns emit the Norn smell (12), while Grendels and Ettins emit their own smells respectively. In Creatures Village, male and female norns have different CA scents.

Cellular automata are used in Creatures 2, Creatures 3, Docking Station and Creatures Village as follows:

Creatures 2[edit]

Name Note
Pressure Air pressure; creates wind
Radiation Gives creatures heavy metals, causing mutations and sterility

Rooms also have organic nutrients and inorganic nutrients, but these are not modeled as CAs.

Creatures 3 and Docking Station[edit]

Number Name Agents linked to
0 Sound See below
1 Light --
2 Heat --
3 Water (from the sky, often used by plants to grow) --
4 Nutrient (used by plants to grow) --
5 Water (bodies of) --
6 Protein Fruit
7 Carbohydrate Seeds
8 Fat Food
9 Flowers See below
10 Machinery Machinery
11 Creature egg smell Creature Eggs
12 Norn Norns
13 Grendel Grendels
14 Ettin Ettins
15 Norn home Norn Home
16 Grendel home Grendel Home
17 Ettin home Ettin Home
18 Gadgets Gadgets
19 (unused) See below

Note that CA 0 (Sound) does not appear to be properly implemented in the engine.

Fan-made expansions in C3 and DS[edit]

Players have created fixes which give greater use of the cellular automata available as below:

Players have also created agents that allow experimentation with CAs:

  • CAev - creates CA emitters easily in-game.
  • Heat Transfer - allows for heat to transfer through water.
  • Magic Words - a module allows for easy creation of CA links (encourages exploration behaviour).

Creatures Village[edit]

Number Name Agents linked to
0 -- --
1 Movers Movers (2 2 0)
2 Anims Animated toys that lower boredom and raise sleepiness (2 3 0)
3 Lonelies Toys that reduce boredom and loneliness (2 8 0)
4 Instruments Instruments (2 11 0)
5 Clothes Clothes (2 26 0)
6 -- --
7 Protein -- (2 22 0)
8 Fat -- Cake (2 23 0)
9 Carbohydrates -- Carrots, fruit (2 24 0)
10 Food Vendors -- (2 35 0)
11 Scaries Things that go bump in the night and scare norns.
12 Male Norns Male Norns
13 Female Norns Female Norns


There are various CAOS commands used to control cellular automata and to give them meaning to creatures or agents.

  • ALTR
    The command ALTR is used to tweak the existing CAs in a room by a certain amount, often seen in decomposing critters, food, etc. It does not have to be the same CA as the one CACL-linked to its genus.
  • CACL (command) FAMILY (integer) GENUS (integer) SPECIES (integer) CA_INDEX (integer)
    The command CACL is used to link the CA to an object in the Creatures' minds, for example, that smell 18 means a gadget. In DS, this can be seen in the Bootstrap cos file z_DS agent smells.cos. In C3 this can be seen with the Bootstrap cos file z_agent smells.cos. The agent included with the Butterfly Norn creates a flower smell by associating CA 9 with plants and flowers.
  • EMIT
    The command EMIT is commonly used in the creation script of new objects to make it smell like its genus (as determined by the command CACL.)
  • HIRP
    HIRP is used to tell what room has the highest concentration of any given smell. Used by agents.
  • LINK (command) ROOM1 (integer) ROOM2 (integer) PERMEABILITY (integer)
    Cellular Automata only travel between rooms which are linked horizontally, not vertically. To link vertical rooms (as is used in the lift shafts) the command LINK is used. In DS, this can be seen in the Bootstrap cos file "lift ca linkers.cos". Using the LINK command without the permeability value returns the permeability between the two rooms.
  • LORP
    LORP is used to tell what room has the lowest concentration of any given smell. Used by agents such as the gnarler.
  • PROP (command) ROOM_ID (integer) CA_INDEX (integer) CA_VALUE (float)
    The command PROP is used when making metarooms to set the amount of a CA in a room, and if you leave out the CA_VALUE it returns the amount of a CA in the specified room.
  • RATE (command) ROOM_TYPE (integer) CA_INDEX (integer) GAIN (float) LOSS (float) DIFFUSION (float)
    The RATE command is used to set how fast a smell travels through rooms. This command is used in the !map.cos file and in the Heat Transfer agent which allows heat to travel through water. Using the RATE command with only ROOM_TYPE and CA_INDEX returns the gain, loss and diffusion values for that smell/room type combination.

External Links[edit]