Structure of  A Creature Gene, or How I Designed the Cardinal Norns

This information was obtained through hex-editing, using the gene list which appears in the Preview Kit and a symposium paper by Grand, Cliff and Malhotra ("Creatures: Artificial Life Autonomous Software Agents for Home Entertainment", 1997, see the Cyberlife site).  The symosium paper states that a norn "genome is a string of bytes, divided into isolated genes by means of 'punctuation marks'. "  A glance at a GEN file with a hex-editor will reveal a whole bunch of occurances of the word "gene".  If you have the patience to count these, they will turn out to be equal in number to the number of genes that the Preview Kit reports for that GEN file.  There may be more data, but the next potential gene, after the last real gene, starts with "gend".  People who are inserting large numbers of lobe genes in their norn should take care not to lose this "gend" marker.

The gene that I chose to examine with my hex-editor was the one for color.  It is a fairly short (quite possibly the shortest!) gene record, and one that I could readily see the results of changing.  I made note of the numbers of the color genes in a mum1.gen file, using the Preview Kit.  I then opened the mum1.gen with a hex editor and dumped the file to printer.  I counted out to the correct number of genes in the file, and each of the genes that were expected to be colors were in fact of identical length and similar data structure.  I wrote down all of the data on another sheet of paper.  In the end I had 12 gene records similar to the following three.

gene 02 06 0B 00 00 07 02 C8 -  011 - Blue Pigment (gene#16)
gene 02 06 06 00 00 07 00 3C -  006 - Red Pigment (gene #63)
gene 02 06 08 00 00 07 01 56 -  008 - Green Pigment (gene #81)

I observed:

All of the pigment genes start with 02 06.
The next digit is the number before the pigment, i.e. gene #81 is for the 8th pigment, which is green.
The next two digits were always zero.
The next digit was always 07.
The next to the last digit is 00 for red, 01 for green, and 02 for blue.
Therefore the last digit is the color intensity, because there is nothing else left to be different amongst 12 genes, as these values were.

For my first experiment I tried entering FF for all of the color intensities, thinking I would get a black norn.  What I got was the amber norn that Mark Asher described in the alt.creatures newsgroup shortly before the Preview Kit was released.  That was when I realized that I was dealing with RGB light, not paint pigments.  Setting all colors to 00 gave a moderately dark, but still yellow-brown, norn.  That's because the RGB light was added to a sprite that already has a color.  Setting only blue to FF gave a khaki green norn, as expected from adding blue to yellow-brown.  It was also not very bright, because it only had one-third of the maximum intensity.  Setting two colors to FF for all entries gives a satisfactory intensity, but limits the number of colors especially given the ever-present raw umber background.  I could leave out red, making a nice green.  I could leave out green, making a nice red.  Or I could leave out blue, making a deeper brown.  I decided at that point that it would be interesting to make sex-dependant colors, and chose red and green because they were the more distinctive.  I further decided to make the male red and the female green, because the only species of real animal I could remember that came in red and green was the American Cardinal which has a red male and a green female.

OK, so now what makes sex-dependance?  According to the symposium paper, information such as switch-on time, sex-dependance, and mutability are included in header information in the gene record.  Obviously the information about which gene it is, such as Pigment #6, is also stored there.  Examining a couple of other types of genes, I finally concluded that everything up to and including the 07 in the pigment gene is header information.  The byte of 07 turned out to be the site for sex-dependance.  There is possibly more information in this byte, but I found that a value of 17 was frequently found in female-specific genes, and 0F in male specific genes.  I also noted that the byte immediately preceeding the 07 is the switch-on time.

00=embryo
01=child
02=youth
03=adolescent
04=adult
05=senior

With this information I was able to create a strain of norns with sex-dependant colors.  I inserted exact duplicates of all the red and green genes into the genome.  I then altered the sex-dependancy bytes and the color intensity bytes.

I then attempted to make a norn which gained coloration with maturity.  Unfortunately the switch-on time byte did not seem to function as I expected.  I then spoke with Cyberlife and they said that they are working on a more satisfactory color system, but that at this time switch-on for colors does not work.  All colors are present at birth.

The consequences of the method which is I used to create the Cardinal Norns follow from the fact that I duplicated an existing gene.  Crosses between Cardinal Norns are stable.  Crosses between Cardinal Norns and other types of norns give mixed results.  Sometimes sex-dependance is lost when the pigment gene from the "normal" parent is used.  Sometimes  the sex-dependant pigment gene is further duplicated.  For example, a number of the offspring contained one female copy of a pigment gene and two male copies of the same pigment gene.  This must reflect something about the way in which the gene-mixer works in Creatures.  I have subsequently observed that a natural mutation, such as a duplicated Shiver Receptor, will be further duplicated as generations go on.